×
单片机 > 单片机程序设计 > 详情

最简短且高效的脉冲输出程序

发布时间:2020-08-26 发布时间:
|

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

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

    ORG   0000H
    MOV   TMOD,  #01H
    SETB  TR0
LOOP:
    MOV   R2,  #3
    SETB  P1.0
REPEAT:
    MOV   TH0,  #(65536 - 20000) / 256
    MOV   TL0,  #(65536 - 20000) MOD 256
    JNB   TF0,  $
    CLR   TF0
    CLR   P1.0
    DJNZ  R2,  REPEAT
    JMP   LOOP

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

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

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

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




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机制作超级流水灯