标题: 请教一下简单的延时程序 [打印本页]

作者: gnail092    时间: 2008-12-26 23:48
标题: 请教一下简单的延时程序
我刚接触用C语言写单片机程序,不知道指令的时间,是不是跟汇编一样,不同的指令,时间不一样。再帮我看一下下面这个程序。
void delay_50us(uint t)
{
uchar j;
for(;t>0;t--)
for(j=19;j>0;j--)

}

delay_50us(1):延时63us 63-50=13
delay_50us(10):延时513us 513-500=13
delay_50us(100):延时5013us 5013-5000=13
delay_50us(1000):延时50022us 50022-50000=22
延时50ms,误差仅仅22us. 
作者: gnail092    时间: 2008-12-28 21:17
怎么就没人回答

作者: cpk    时间: 2008-12-29 23:35
写的不错,挺好的,因为用的是c,有点误差是难免的!
作者: 耗子    时间: 2009-1-1 17:15

用汇编 能精确到1US
 刚学最好是学汇编
别什么都调用 C里面给你编好的函数裤
 你把汇编基础打扎实了
 再去看那些C系统函数
 也很简单
甚至你会觉得那个系统函数
不够好
自己再编一个更好的 
      先汇编再到C 
 绝对不需要争论 
 


作者: gnail092    时间: 2009-1-3 16:05
这个不是我写的,我是叫你们帮我解释一下这个程序





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1