单片机使用的晶体振荡器的频率是12MHz,运行下列延时程序的延时时间是多少DELAY:MOV R7,#250LOOP2:MOV R6,#200LOOP1:NOPNOPNOPDJNZ R6,IOOP1 DJNZ R7,LOOP2 RET
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 10:21:44
![单片机使用的晶体振荡器的频率是12MHz,运行下列延时程序的延时时间是多少DELAY:MOV R7,#250LOOP2:MOV R6,#200LOOP1:NOPNOPNOPDJNZ R6,IOOP1 DJNZ R7,LOOP2 RET](/uploads/image/z/9927896-32-6.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%91DELAY%3AMOV++R7%2C%23250LOOP2%3AMOV++R6%2C%23200LOOP1%EF%BC%9ANOPNOPNOPDJNZ+R6%2CIOOP1++++++++DJNZ+R7%2CLOOP2+++++++++RET)
单片机使用的晶体振荡器的频率是12MHz,运行下列延时程序的延时时间是多少DELAY:MOV R7,#250LOOP2:MOV R6,#200LOOP1:NOPNOPNOPDJNZ R6,IOOP1 DJNZ R7,LOOP2 RET
单片机使用的晶体振荡器的频率是12MHz,运行下列延时程序的延时时间是多少
DELAY:MOV R7,#250
LOOP2:MOV R6,#200
LOOP1:NOP
NOP
NOP
DJNZ R6,IOOP1
DJNZ R7,LOOP2
RET
单片机使用的晶体振荡器的频率是12MHz,运行下列延时程序的延时时间是多少DELAY:MOV R7,#250LOOP2:MOV R6,#200LOOP1:NOPNOPNOPDJNZ R6,IOOP1 DJNZ R7,LOOP2 RET
首先要明白,晶振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