非常精确的C语言延时子程序表
用C语言写出来程序非常的简练,它是一种模块化的语言,一种比汇编更高级的语言,但是就是
语言也还是有它不足之处:它的延时很不好控制,我们常常很难知道一段延时程序它的精确延时
少,这和汇编延时程序没法比。但有时后写程序又不得不要用到比较精确的延时,虽然说可以用混合
方式解决,但这种方式不是每个人都能掌握,且写起来也麻烦。所以,通过测试我给大家提供一
序模块,并以此给一个出我们经常用到的延时的数据表格。(注意:表格中的数据只适合我的延
其他的延时程序不适用,切忌!!!!!!!!别到时候延时不对来找我。)
延时模块:其中问号代表要填的数,要延时多少,到表格中去找数据,然后填上就OK!切忌
不能颠倒顺序
void delay()
{
unsigned char a,b,c;
for(a=0;a;a++)
for(b=0;b;b++)
for(c=0;c;c++);
}
数据表如下(晶振20MHz)
序号 延时时间 a的值 b的值 c的值 延时误差(us)
1 10us 1 1 1 -0.5
2 20us 1 1 8 0
3 30us 1 1 15 +0.5
4 40us 2 1 9 0
5 50us 1 1 28 0
6 60us 1 1 35 +0.5
7 70us 1 1 42 +1
8 80us 1 1 48 0
9 90us 1 1 55 +0.5
10 100us 1 1 61 -0.5
11 200us 1 1 128 0
12 300us 3 1 63 +0.5
13 400us 2 1 129 0
14 500us 5 1 63 +0.5
15 600us 6 1 63 0
16 700us 7 1 63 -0.5
17 800us 1 3 175 +0.5
18 900us 9 1 63 -1.5
19 1ms 1 3 219 -1.5
20 2ms 2 3 220 +3
21 3ms 3 3 220 +3
22 Xms X 3 220 +3
页码,1/2非常精确的C语言延时子程序表
2009-4-2http://www.fxdzw.com/dzsj/c_ys.htm
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn
基本上我们平时用到的延时都在这里了,每种延时的误差都很小,最大也不过3us,有的甚至
已经很精确了,如果想延时1秒钟,你可以连续调用延时250ms的程序4次,总共延时误差12us,这样
已经很小了,省去了仿真的麻烦。
现在你不再为延时不精确担忧了,参照表中的数据写延时,想延时多少就能延时多少。
再次重申:此表格是根据我的延时模块编写,这也是大多数朋友都习惯用的一个模块,如果你
或是改动了我的模块,延时都不准的,不信大家可以试试!!!
X的取值范围为2到255
返回首页
关闭本窗口
页码,2/2非常精确的C语言延时子程序表
2009-4-2http://www.fxdzw.com/dzsj/c_ys.htm
PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.cn
本文档为【非常精确的C语言延时子程序表】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。