求解单片机延时子程序延时计算
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/27 02:41:07
求解单片机延时子程序延时计算
MOV R5,#25
DLY1:MOV R6,#100
DLY2:MOV R7,#100
DJNZ R7,$
DJNZ R6,DLY2
DJNZ R5,DLY1
RET
是12M晶振 麻烦每一句都给标一下 我刚学粗略了看不懂 就像这个样子 DEL:MOV R7,#10 1指令周期1
DEL1:MOV R6,#0FFH 1指令周期10
DEL2:MOV R5,#80H 1指令周期255*10=2550
KONG:NOP 1指令周期128*255*10=326400
DJNZ R5,$ 2指令周期2*128*255*10=652800
DJNZ R6,DEL2 2指令周期2*255*10=5110
DJNZ R7,DEL1 2指令周期2*10=20
RET 2
延时时间=1+10+2550+326400+652800+5110+20+2 =986893μs约为1s
MOV R5,#25
DLY1:MOV R6,#100
DLY2:MOV R7,#100
DJNZ R7,$
DJNZ R6,DLY2
DJNZ R5,DLY1
RET
是12M晶振 麻烦每一句都给标一下 我刚学粗略了看不懂 就像这个样子 DEL:MOV R7,#10 1指令周期1
DEL1:MOV R6,#0FFH 1指令周期10
DEL2:MOV R5,#80H 1指令周期255*10=2550
KONG:NOP 1指令周期128*255*10=326400
DJNZ R5,$ 2指令周期2*128*255*10=652800
DJNZ R6,DEL2 2指令周期2*255*10=5110
DJNZ R7,DEL1 2指令周期2*10=20
RET 2
延时时间=1+10+2550+326400+652800+5110+20+2 =986893μs约为1s
![求解单片机延时子程序延时计算](/uploads/image/z/18487491-51-1.jpg?t=%E6%B1%82%E8%A7%A3%E5%8D%95%E7%89%87%E6%9C%BA%E5%BB%B6%E6%97%B6%E5%AD%90%E7%A8%8B%E5%BA%8F%E5%BB%B6%E6%97%B6%E8%AE%A1%E7%AE%97)
MOV R5,#25 ;指令周期1
DLY1: MOV R6,#100 指令周期1*25
DLY2: MOV R7,#100 指令周期1*100*25
DJNZ R7,$ 指令周期2*100*100*25
DJNZ R6,DLY2 指令周期2*100*25
DJNZ R5,DLY1 指令周期2*25
RET 指令周期2
1+25+2500+500000+5000+50+2=507578
12M 的晶振 每个机器周期为1us 那么就是0.507578s延时,可以简略认为0.5s延时.
DLY1: MOV R6,#100 指令周期1*25
DLY2: MOV R7,#100 指令周期1*100*25
DJNZ R7,$ 指令周期2*100*100*25
DJNZ R6,DLY2 指令周期2*100*25
DJNZ R5,DLY1 指令周期2*25
RET 指令周期2
1+25+2500+500000+5000+50+2=507578
12M 的晶振 每个机器周期为1us 那么就是0.507578s延时,可以简略认为0.5s延时.