当前位置:首页 > 单片机 > 单片机
[导读] 设MCS-51单片机使用12MHz晶振,欲使用定时器在P1.0口产生占空比约30%,周期为60ms的脉冲。;============================================最佳答案:ORG0000HMOVTMOD,#01HSETBTR0LOOP:MOVR2,#3SETBP1.0

设MCS-51单片机使用12MHz晶振,欲使用定时器在P1.0口产生占空比约30%,周期为60ms的脉冲。

;============================================
最佳答案:

ORG0000H
MOVTMOD,#01H
SETBTR0
LOOP:
MOVR2,#3
SETBP1.0
REPEAT:
MOVTH0,#(65536-20000)/256
MOVTL0,#(65536-20000)MOD256
JNBTF0,$
CLRTF0
CLRP1.0
DJNZR2,REPEAT
JMPLOOP

END
;============================================

;============================================
后记:
这里给出的程序,可以说是最简短且高效的脉冲输出程序。
程序中的指令,仅仅11行,经过编译,长度仅仅有26个字节!
程序的执行速度、时间控制的精度,都是无与伦比的。

只有用汇编语言编写程序,才能达到如此精练的水平。
有些人,用C编写程序,编译后发现,单片机芯片的存储空间的都不够用的,呵呵
用C编写较大些的程序,执行的速度,更别提了。
建议,还是应该掌握汇编语言。

本程序,也很容易修改维护,改变周期、占空比,都是轻而易举的事。
;============================================


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭