首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

关于单片机延时有关问题,如果不用计时器怎么能做到精确延时

2013-06-26 
关于单片机延时问题,如果不用计时器如何能做到精确延时。今天看霖锋的单片机视频,里面有个延时函数,晶振是1

关于单片机延时问题,如果不用计时器如何能做到精确延时。
今天看霖锋的单片机视频,里面有个延时函数,晶振是12M
void delay(uint i)
{
   while(i--);
}

视频里说delay(80);大概延时600us,
但是我用keil模拟的时候算出来的时间不对

void main(void)
{
   uint i;
delay7us(80);......1
i=0;...............2


单步跟踪从1到2的时间是0.00038900--0.00112500,另个相减得到0.000736,单位是秒的话,哪岂不是延时是736ms,而不是微秒,我错在哪了吗?

还有能请教一下,for循环嵌套的延时函数应该怎么计算到底延时多少
[解决办法]
C语言的延时可以实现的精度是指令级别的.


前提:
要熟悉了解你C语言编程成汇编的代码.(比如 ++ i,i ++ 的区别)
要熟悉你所有编译器的优化.
或者
直接追踪汇编代码.

热点排行