#include <iostream>
#include <windows.h>
using namespace std
void main()
{
for(int i=0i<100i++)
{
cout<<"是"<<i<<"吧"<<endl
Sleep(1000)
}
}
设置定时器时间为1ms 定时器,在定时器中断函数里面给一个32位变量每中断一次就+1,加到300000就到了5分钟1分钟=60秒
1秒=1000毫秒
5*60*1000=300000毫秒
你写的这个延时程序的反汇编代码如下:(使用keil3反汇编),使用12MHZ晶振,每个机器周期占用1us,那么只循环一次总共用时为18us.
C:0x0800
EF
MOV
A,R7
C:0x0801
4E
ORL
A,R6
C:0x0802
6009
JZ
C:080D
C:0x0804
00
NOP
C:0x0805
00
NOP
C:0x0806
EF
MOV
A,R7
C:0x0807
1F
DEC
R7
C:0x0808
70F6
JNZ
delay(C:0800)
C:0x080A
1E
DEC
R6
C:0x080B
80F3
SJMP
delay(C:0800)
C:0x080D
22
RET
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)