C语言延时程序问题

发布网友

我来回答

3个回答

热心网友

一般单片机在c语言中很难得到精确的延时,所以一般对时间要求高的都用计时器中断来做了。如果时间要求不严格可以用for循环来做,你可以实际测试一下,把时间延时到大概一秒左右,然后烧进单片机里运行,比如一个灯亮灯灭的程序,看着灯计数,同时用秒表计时,几个几十次后取平均值就能知道大概时间了。

热心网友

可以用for循环延时~但是精度不够.最好用定时器中断.比如用定时器1中断延时50MS的话,可以设置TH1=(65536-50000)/256;

 TL2=(65536-50000)%256;

具体找本单片机参考书上,基本都有~

热心网友

首先根据单片机的震荡周期。计算单片机的机器周期。。。

用指令控制它执行所用的时间就OK啦。。

比for(i=0;i<t;i++);

就是说这条指令空运行t次,也就是t个机器周期。。。。

这个就是延时。。。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com