原标题:单片机中C语言延时函数

延时程序计算2009-11-02 22:15单片机C语言延时程序用C语言写出来程序非常的简练,它是一种模块化的语言,一种比汇编更高级的语言,但是就是这样一种语言也还是有它不足之处:它的延时很不好控制,我们常常很难知道一段延时程序它的精确延时到底是多少,这和汇编延时程序没法比。但有时后写程序又不得不要用到比较精确的延时,虽然说可以用混合编程的方式解决,但这种方式不是每个人都能掌握,且写起来也麻烦。所以,通过测试我给大家提供一个延时子程序模块,并以此给一个出我们经常用到的延时的数据表格。(注意:表格中的数据只适合我的延时模块,对其他的延时程序不适用,切忌!!!!!!!!别到时候延时不对来骂我)

延时模块:其中问号代表要填的数,要延时多少,到表格中去找数据,然后填上就OK!切忌3条FOR语句不能颠倒顺序

void Delay()

{

unsigned char a,b,c;

for(a=0;a;a++)

for(b=0;b;b++)

for(c=0;c;c++);

}

数据表如下

//

延时时间 a的值 b的值 c的值 延时误差(us)

10us 1 1 1 -0.5

20us 1 1 8 0

30us 1 1 15 +0.5

40us 2 1 9 0

50us 1 1 28 0

60us 1 1 35 +0.5

70us 1 1 42 +1

80us 1 1 48 0

90us 1 1 55 +0.5

100us 1 1 61 -0.5

200us 1 1 128 0

300us 3 1 63 +1.5

400us 2 1 129 0

500us 5 1 63 +0.5

600us 6 1 63 0

700us 7 1 63 -0.5

800us 1 3 175 +0.5

900us 9 1 63 -1.5

1ms 1 3 219 -1.5

2ms 2 3 220 +3

3ms 3 3 220 +3

Xms X 3 220 +3

(X的范围为2到255)

基本上我们平时用到的延时都在这里了,每种延时的误差都很小,最大也不过3us,有的甚至没有误差,已经很精确了,如果想延时1秒钟,你可以连续调用延时250ms的程序4次,总共延时误差12us,这样的误差已经不算误差了,用汇编语言编写还达不到这个程度。

现在你不再为延时不精确担忧了,参照表中的数据写延时,想延时多少就能延时多少。

再次重申:此表格是根据我的延时模块编写,这也是大多数朋友都习惯用的一个模块,如果你用其他模块或是改动了我的模块,延时都不准的,不信大家可以试试!!!

责任编辑:

延时作用是什么意思c语言,单片机中C语言延时函数相关推荐

  1. 单片机中c语言 右移 和左移 与CY

    单片机中c语言"右移>>和左移<<"与CY 左移 << 0100 1111 << 左移一位:1001 1110 CY=0 :第一位跑 ...

  2. 【Kotlin】Kotlin 语言集合中的高阶函数详解 ( 数据类 data class | maxBy | minBy | filter | map | any | count | find )

    文章目录 I . List 集合高阶函数引入 II . Kotlin 数据类 ( data class ) III . Java 代码 与 Kotlin 代码实现对比 ( 查询年龄最大的 ) IV . ...

  3. 单片机c语言中延时函数的作用,单片机中C语言延时函数

    单片机C语言延时程序计算2009-11-02 22:15单片机C语言延时程序用C语言写出来程序非常的简练,它是一种模块化的语言,一种比汇编更高级的语言,但是就是这样一种语言也还是有它不足之处:它的延时 ...

  4. 单片机中C语言延时函数

    单片机C语言延时程序计算2009-11-02 22:15单片机C语言延时程序用C语言写出来程序非常的简练,它是一种模块化的语言,一种比汇编更高级的语言,但是就是这样一种语言也还是有它不足之处:它的延时 ...

  5. 单片机C语言数据存储原理,介绍单片机中C语言的数据存储与程序编写

    一.五大内存分区: 内存分成5个区,它们分别是堆.栈.自由存储区.全局/静态存储区和常量存储区. 1.栈区(stack):FIFO就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区 ...

  6. 单片机 switch c语言,单片机入门-C51语言switch-case语句电路应用实例

    原标题:单片机入门-C51语言switch-case语句电路应用实例 教学视频如下: 本例介绍switch-case选择语句的应用,用按钮控制LED灯作为实例,介绍如何使用该语句做设计.绘制了相应的电 ...

  7. f2812的c语言与标准c语言,F2812中C语言调用汇编函数

    F2812中C语言调用汇编函数 参考资料: (1) SPRU514 ---- TMS320F28x Optimizing C/C++ Compiler User's Guide.pdf; (2) sp ...

  8. vscode怎么运行verilog语言_VScode中不同语言使用不同字体,如C/C++,VHDL

    VScode中不同语言使用不同字体. 问题背景:C/C++语言可以使用连体Fira code,  而VHDL语言<=作为赋值语句显然不能连体显示为小于等于 想达到的效果: VHDL <=原 ...

  9. c++语言程序中,要调用的函数必须在main()函数中定义,惠州学院C++考试复习题

    惠州学院C++复习题 一.选择题 1.C++的源文件的扩展名是_____C____. A.h B.obj C.cpp D.exe 2.下列选项能够作为C++变量名的是___C____. A.false ...

最新文章

  1. 如何连接mongodb数据库,并且从中查找数据
  2. python的format输出报文_python构造IP报文实例
  3. (传送门)linux命令总结dd命令详解
  4. python和c哪个适合入门-C 语言和 Python,该从哪个入门编程?
  5. 尚硅谷spring和spring boot笔记_手机标准内存达12G,比笔记本电脑还高!可为何系统总能占一半?...
  6. .NetCore使用skywalking实现实时性能监控
  7. 造轮子是什么意思_程序员为什么热衷于造轮子,升职加薪吗?
  8. 微课|中学生可以这样学Python(5.1.3节):列表常用方法
  9. 深入理解Java:SimpleDateFormat安全的时间格式化 ;
  10. 圣杯布局——针对前端小白篇
  11. 手把手教做无人驾驶算法(二十六)--基于终端约束的MPC 控制
  12. 自适应增强算法Adaboost——前人栽树后人乘凉
  13. 千兆宽带网接入电脑电脑却只有百兆
  14. 云原生背景看这一篇就够了
  15. 量化指标公式源码_量化指标副图指标 源码 通达信 贴图 无未来
  16. 最原始最古老的家谱是哪种?采取怎样的形式传承给后代?
  17. Java-UDP通信(实现多发多收、广播、组播)
  18. 26.(cesium篇)cesium军事标绘-攻击箭头编辑修改(燕尾)
  19. 《手机拍照与视频》那点事
  20. WS_EX_TOOLWINDOW导致的窗口一直不能在前面

热门文章

  1. 华为麻烦不断、Uber上市后动作频频 | 一周热闻回顾
  2. windows下maven3.6下载安装配置
  3. 直角坐标积分化为极坐标积分_将参数方程化为直角坐标方程,及其在直角坐标系下的积分...
  4. KingDZ 变菜鸟,每日一个C#小实例之---C#自动填表
  5. Altium Designer 10 please wait a moment解决方法
  6. hp服务器bios如何改高性能,HPE ProLiant DL380 Gen10 不同BIOS设置内存性能测试
  7. C#中,IntPtr详解
  8. PHP实现判断字符串是否是回文字符串
  9. 关于mysql数据库模糊查询的潜在问题
  10. 龙之谷2手游怎么用电脑玩 龙之谷2模拟器玩法教程