作业帮 > 综合 > 作业

单片机晶振12MHZ,延时500us,怎么理解?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/29 04:24:16
单片机晶振12MHZ,延时500us,怎么理解?
DELAY:
MOV R6,#47H
DL0:
MOV R5,#02H
DJNZ R5,$
DJNZ R6,DL0
RET
DELAY:
MOV R6,#47H ;这条指令耗时1个机器周期

DL0:

MOV R5,#02H;这条指令耗时1个机器周期
DJNZ R5,$;这条指令耗时2个机器周期,因为R5等于2,所以一共是2 X 2个机器周期
;加上上一条指令,这两个指令一共耗时5个机器周期

DJNZ R6,DL0;这条指令耗时2个机器周期,R6等于71(16进制的47),
;看一下这71管辖范围是哪里?答案是从MOV R5,#02H;这里开始的
;所以,一共是 (5+2)X 71 = 497个机器周期
RET ;这条指令耗时2个机器周期

所以,一共是 1 + 497 +2 = 500个机器周期
你的单片机是12M,所以一个机器周期是1us,所以一共是500us