用汇编怎么写51单片机的延时程序?

用汇编怎么写51单片机的延时程序?,第1张

DEL1S:MOV R7,#10\x0d\x0aD1: MOV R6,#200\x0d\x0aD2: MOV R5,#250\x0d\x0a DJNZ R5,$\x0d\x0a DJNZ R6,D2\x0d\x0a DJNZ R7,D1\x0d\x0a RET\x0d\x0a\x0d\x0a说明:1、如果不使用R5、R6、R7可以用别的单元替换,比如换成30H、31H、32H等等\x0d\x0a 2、这个程序是12M时钟,如果时钟不同,要修改数值。如6M时钟,要把MOV R7,#10 修改成:MOV R7,#5

延时0.3秒程序(12M):

DELAY3:

  MOV R2,#200

DL1:

    MOV R3,#250

    DJNZ R3,$

    MOV R3,#250

    DJNZ R3,$

    MOV R3,#250

    DJNZ R3,$

    DJNZ R2,DL1

    RET    

延时0.5秒程序:

DELAY5:

    MOV R2,#5

DLY1:

    MOV R3,#200

DLY2:

    MOV R4,#250

    DJNZ R4,$

    DJNZ R3,DLY2

    DJNZ R2,DLY1

    RET


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11100676.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存