单片机编写一个能延时1秒的子程序

单片机编写一个能延时1秒的子程序,第1张

通用办法,可以类推:

DELAY1s:

        MOV   R5,#08H           ; ∵ 1s=1000000us 

        MOV   R6,#0A2H          ; ∴ 1000000/2=500000

        MOV   R7,#20H           ; 500000用16进制表示为: 07A120

                                ; 所以 R5=07H+1=08H

                                ;     R6=0A1H+1=0A2H

                                ;     R7=20H

loop:   DJNZ  R7,$              ; 延时时间≈2×[(R5-1)×256+R6-1]×256+R7

        DJNZ  R6,loop           ; 当R5、R6等于0,相当于256参与运算

        DJNZ  R5,loop           ; 当R5、R6等于0,相当于256参与运算

        RET

;

MOV AL, 1000 0000B ;控制字

OUT 0D6H, AL ;初始化

MOV AL, 00H ;全零

OUT 0D0H, AL ;开始时全灭

CALL DELAY1

MOV AH, 10

LP0:

MOV AL, 01H ;有一位是高电平

MOV CX, 8

LP1:

OUT 0D0H, AL ;输出到PA

CALL DELAY1 ;延时

SHL AL ;左移一位

LOOP LP1 ;循环8次

MOV AL, 00H

OUT 0D0H, AL ;全灭

CALL DELAY1

DEC AH

CMP AH, 0

JNE LP0 ;不到10遍则循环

HLT ;停止

END

以上就是关于单片机编写一个能延时1秒的子程序全部的内容,包括:单片机编写一个能延时1秒的子程序、一个关于微机原理8255A的题,在线等答案!!、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9331327.html

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

发表评论

登录后才能评论

评论列表(0条)

保存