51单片机C语言编程中延时程序的

点赞:4004 浏览:10947 近期更新时间:2024-04-04 作者:网友分享原创网站原创

【摘 要】单片机中,延时程序是在各种程序研究中最常用的子程序,但是很多人只知道一两种方法,本文笔者在这里研究下多种方法,并且进行比较,探讨下不同应用中最好的方法,起到抛砖引玉的作用.

51单片机C语言编程中延时程序的参考属性评定
有关论文范文主题研究: 关于参考文献的论文范文文献 大学生适用: 电大论文、自考论文
相关参考文献下载数量: 20 写作解决问题: 写作资料
毕业论文开题报告: 论文提纲、论文总结 职称论文适用: 职称评定、高级职称
所属大学生专业类别: 写作资料 论文题目推荐度: 优质选题

【关 键 词】单片机;延时程序

接触单片机有一年之久,从基础知识了解开始,到流水灯、数码管动静态显示,键盘到液晶等几个基本的模块,编了一些基本的小程序,发现其中最常用的延时程序用C语言编写也是千变万化的,不同的程序,不同的用途,精确度不一样,延时程序也需要有改变.下面就对我所知道的延时的方法谈下自己的见解.

总的延时方法通常有两种:一种为软件延时,通常采用循环的形式进行;另外一种为硬件延时,用到定时器/计数器,这种方法可以提高CPU的工作效率,并且能相对精确延时.

一、软件延时与时间计算

软件延时方式精确度不是很高,但是基本时间可以控制,并且移植性很好.

2.需要多种延时时间.还是8个灯做成流水灯,但是要求第一个灯亮1S,第2个灯亮2S,第三个灯亮3S等最后一个灯亮8S.

3.时间的确定.很多朋友看完我上面讲个两种延时方法可能会说,这样是方便了,但是上面的时间如何确定呢?你的时间确定图怎么来的?方法很简单,利用keil强大的功能实现.比如1S延时

另外还可以用示波器测试时间,需要外接示波器,用proteus画完连接图,接上示波器,再调用写好程序的hex,就可以很清楚的看到延时时间.下面为延时20ms图.

同时还可以用反汇编工具计算延时时间,汇编时间是很精确的,便于计算的.有兴趣的朋友也可以自己上网搜索这两种方法.对于初学的朋友,我建议还是用这种keil本身的工具比较方便.


二、用定时器/计数器实现精确定时

在很多情况下,需要我们精确定时,那么我们就不能用前面讲的调用小的延时子程序delay()来完成.所以就要考虑用精确的定时方式:定时器/计数器.

以上我介绍了对于写延时程序自己的一些肤浅的见解,在以后的学习中还需要进一步提高.粗略延时用基本的delay(),精确延时用定时/计数器.