发布网友
共3个回答
热心网友
一般单片机在c语言中很难得到精确的延时,所以一般对时间要求高的都用计时器中断来做了。如果时间要求不严格可以用for循环来做,你可以实际测试一下,把时间延时到大概一秒左右,然后烧进单片机里运行,比如一个灯亮灯灭的程序,看着灯计数,同时用秒表计时,几个几十次后取平均值就能知道大概时间了。
热心网友
可以用for循环延时~但是精度不够.最好用定时器中断.比如用定时器1中断延时50MS的话,可以设置TH1=(65536-50000)/256;
TL2=(65536-50000)%256;
具体找本单片机参考书上,基本都有~
热心网友
首先根据单片机的震荡周期。计算单片机的机器周期。。。
用指令控制它执行所用的时间就OK啦。。
比for(i=0;i<t;i++);
就是说这条指令空运行t次,也就是t个机器周期。。。。
这个就是延时。。。