单片机使用的晶体振荡器的频率是12MHz,运行下列延时程序的延时时间是多少
来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/06/17 23:36:40
单片机使用的晶体振荡器的频率是12MHz,运行下列延时程序的延时时间是多少
DELAY:MOV R7,#250
LOOP2:MOV R6,#200
LOOP1:NOP
NOP
NOP
DJNZ R6,IOOP1
DJNZ R7,LOOP2
RET
DELAY:MOV R7,#250
LOOP2:MOV R6,#200
LOOP1:NOP
NOP
NOP
DJNZ R6,IOOP1
DJNZ R7,LOOP2
RET
![单片机使用的晶体振荡器的频率是12MHz,运行下列延时程序的延时时间是多少](/uploads/image/z/5468975-71-5.jpg?t=%E5%8D%95%E7%89%87%E6%9C%BA%E4%BD%BF%E7%94%A8%E7%9A%84%E6%99%B6%E4%BD%93%E6%8C%AF%E8%8D%A1%E5%99%A8%E7%9A%84%E9%A2%91%E7%8E%87%E6%98%AF12MHz%2C%E8%BF%90%E8%A1%8C%E4%B8%8B%E5%88%97%E5%BB%B6%E6%97%B6%E7%A8%8B%E5%BA%8F%E7%9A%84%E5%BB%B6%E6%97%B6%E6%97%B6%E9%97%B4%E6%98%AF%E5%A4%9A%E5%B0%91)
首先要明白,晶振12MHz时,机器周期1μs.
MOV R7,#,指令周期1μs
NOP,指令周期1μs
DJNZ R,指令周期2μs
RET,指令周期2μs
为计算程序执行时间,以注释形式给每条指令加上标号
DELAY: MOV R7,#250 ;1
LOOP2: MOV R6,#200 ;2
LOOP1:NOP ;3
NOP ;4
NOP ;5
DJNZ R6,LOOP1;6
DJNZ R7,LOOP2;7
RET 8
第3、4、5、6条指令每执行一次,耗费时间3x1μs+2μs=5μs
循环200次,耗时200x5μs=1000μs
加上第2条指令耗时1μs,第7条指令耗时2μs,内层循环总耗时1000μs+1μs+2μs=1003μs
外层循环250次,总共耗时250x1003μs=250750μs
加上第1条指令耗时1μs,第8条指令耗时2μs,整个程序耗时
250750μs+1μs+2μs=250753μs≈0.25s
MOV R7,#,指令周期1μs
NOP,指令周期1μs
DJNZ R,指令周期2μs
RET,指令周期2μs
为计算程序执行时间,以注释形式给每条指令加上标号
DELAY: MOV R7,#250 ;1
LOOP2: MOV R6,#200 ;2
LOOP1:NOP ;3
NOP ;4
NOP ;5
DJNZ R6,LOOP1;6
DJNZ R7,LOOP2;7
RET 8
第3、4、5、6条指令每执行一次,耗费时间3x1μs+2μs=5μs
循环200次,耗时200x5μs=1000μs
加上第2条指令耗时1μs,第7条指令耗时2μs,内层循环总耗时1000μs+1μs+2μs=1003μs
外层循环250次,总共耗时250x1003μs=250750μs
加上第1条指令耗时1μs,第8条指令耗时2μs,整个程序耗时
250750μs+1μs+2μs=250753μs≈0.25s
单片机使用的晶体振荡器的频率是12MHz,运行下列延时程序的延时时间是多少
下列51单片机延时程序中的#250,这个250是怎么来的?
nop函数可以用来延时,单片机是51,CPU频率是20MHZ,请问1个NOP延时多上时间,怎么计算?
PIC单片机ds18b20测温度时,将AD转换的750ms延时使用中断延时的程序后,温度检测的变化几分才转换一次,为
51单片机延时程序时间计算
51单片机C语言for循环延时程序时间计算
C语言延时函数延时函数是怎么写的,比如sleep这个函数的源代码程序,
请教关于单片机C语言中用while延时的问题
重合闸延时时间指的是什么
555延时电路的时间计算
单片机的晶振频率为6MHz,执行下列程序需要 个机器周期和 时间.(下列程序中注释的数字为执行该指令所需
若单片机使用频率为6MHz的晶振,那么状态周期,机器周期和指令周期分别是多少?