标题: 请教一下简单的延时程序 [打印本页]
作者: 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 |