求一个延时小程序,C语言的

求一个延时小程序,C语言的,第1张

我只会这样的

#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毫秒

你写的这个延时程序的反汇编代码如下:(使用keil

3反汇编),使用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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12003457.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存