delay 100

更新时间:2023-01-03 05:20:54 阅读: 评论:0


2023年1月3日发(作者:topicntence)

延时5秒左右

DELAY5S:PUSH04H

PUSH05H

PUSH06H

MOVR4,#50

DELAY5S_0:MOVR5,#200

DELAY5S_1:MOVR6,#245

DJNZR6,$

DJNZR5,DELAY5S_1

DJNZR4,DELAY5S_0

POP06H

POP05H

POP04H

RET

;513微秒延时程序

DELAY:MOVR2,#0FEH

DELAY1:DJNZR2,DELAY1

RET

;10毫秒延时程序

DL10MS:MOVR3,#14H

DL10MS1:LCALLDELAY

DJNZR3,DL10MS1

RET

;0.1s延时程序12mhz

DELAY:MOVR6,#250

DL1:MOVR7,#200

DL2:DJNZR6,DL2

DJNZR7,DL1

RET

;延时1046549微秒(12mhz)

;具体的计算公式是:

;((((r7*2+1)+2)*r6+1)+2)*r5+1+4=((r7*2+3)*r6+3)

*r5+5

DEL:MOVR5,#08H

DEL1:MOVR6,#0FFH

DEL2:MOVR7,#0FFH

DJNZR7,$

DJNZR6,DEL2

DJNZR5,DEL1

RET

;1秒延时子程序是以12MHz晶振

Delay1S:movr1,#50

del0:movr2,#91

del1:movr3,#100

djnzr3,$

djnzr2,del1

djnzr1,del0

Ret

;1秒延时子程序是以12MHz晶振为例算指令周期耗时

KK:MOVR5,#10;1指令周期1

K1:MOVR6,#0FFH;1指令周期10

K2:MOVR7,#80H;1指令周期256*10=2560

K3:NOP;1指令周期

128*256*10=327680

DJNZR7,K3;2指令周期

2*128*256*10=655360

DJNZR6,K2;2指令周期

2*256*10=5120

DJNZR5,K1;2指令周期2*10=20

RET

;2指令周期21+10+2560+327680+655360+5120+20+2=990753

;约等于1秒1秒=1000000微秒

;这个算下来也只有0.998抄

T_0:MOVR7,#10;

D1:MOVR6,#200;

D2:MOVR5,#248;

DJNZR5,$

DJNZR6,D2;

DJNZR7,D1;

RET

;这样算下来应该是1.000011秒

T_0:MOVR7,#10;

D1:MOVR6,#200;

D2:NOP

MOVR5,#248;

DJNZR5,$

DJNZR6,D2;

DJNZR7,D1;

RET

DELAY_2S:;10MS(11.0592mhz)

MOVR3,#200

JMPDELAY10MS

DELAY_100MS:;100MS(11.0592mhz)

MOVR3,#10

JMPDELAY10MS

DELAY_10MS:

MOVR3,#1

DELAY10MS:;去抖动10MS

(11.0592mhz)

MOVR4,#20

DELAY10MSA:

MOVR5,#247

DJNZR5,$

DJNZR4,DELAY10MSA

DJNZR3,DELAY10MS

RET

DELAY_500MS:;500500MS

MOVR2,#208

JMPDELAY_MS

DELAY_175MS:;175MS

MOVR2,#73

JMPDELAY_MS

delaY_120MS:;120MS

MOVR2,#50

JMPDELAY_MS

delay_60ms:;60ms

MOVR2,#25

JMPDELAY_MS

delay_30ms:;30ms

MOVR2,#12

JMPDELAY_MS

DELAY_5MS:;5MS

MOVR2,#2

;===================================

DELAY_MS:

CALLDELAY2400

DJNZR2,DELAY_MS

RET

;===================================

DELAY2400:;10x244+4=2447

/1.024=2390

MOVR0,#244;1

DELAY24001:

MULAB;4

MULAB;4

DJNZR0,DELAY24001;2

RET

DELAY:;延时子程序(1秒)

MOVR0,#0AH

DELAY1:MOVR1,#00H

DELAY2:MOVR2,#0B2H

DJNZR2,$

DJNZR1,DELAY2

DJNZR0,DELAY1

RET

MOVR2,#10;延时1秒

LCALLDELAY

MOVR2,#50;延时5秒

LCALLDELAY

DELAY:;延时子程序

PUSHR2

PUSHR1

PUSHR0

DELAY1:MOVR1,#00H

DELAY2:MOVR0,#0B2H

DJNZR0,$

DJNZR1,DELAY2;延时100mS

DJNZR2,DELAY1

POPR0

POPR1

POPR2

RET

本文发布于:2023-01-03 05:20:54,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/82369.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:delay 100
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图