电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

单片机定时器功能实例

单片机定时器功能实例_第1页
1/6
单片机定时器功能实例_第2页
2/6
单片机定时器功能实例_第3页
3/6
1.实例功能 在上两个实例中,我们是通过延时程序控制发光二极管的定时亮灭,现在回想起来,这样做不是很恰当,为什么呢?首先,用延时程序作定时并不精确,程序的指令中还包含其他的判断指令,定时时间不能精确地控制;其次,主程序中做了循环延时,就不能进行其他程序功能的设计。 单片机之所以在工业控制中有大量的应用,就是在于它有其独特的定时、计数功能。在本例中,用定时器来实现灯的闪烁功能的设计。 本例在3 个功能模块描述如下: 单片机系统:产生1s 的定时中断。 外围电路:通过驱动芯片实现单片机I/O 口对4 个发光二极管的驱动。 51 程序:完成单片机定时器编程1s 定时的例程。 本例的目的在于希望读者在读完本例后,能完成相关的电路设计,并掌握如下的知识点内容:了解单片机定时器,掌握定时器的中断原理。 //定义头文件和各个输入脚以及变量声明 # include # includee # define unit unsigned int # define uchar uhsigned char sbit L0=P2^0; sbit L1=P2^1; sbit L2=P2^2; sbit L3=P2^3; uchar data BUFFER[1]={0};//定时器计数变量 void main(void) { P2=0x0f; EA=1; IT1=1; ET0=1 TMOD=0x01; TH0=-5000/256; TL0=-5000%256; TR0=1; for(;;); } //定时计数器0 的中断服务子程序 void timer0(void)interrupt 1using 1 { TH0=-5000/256; TL0=-5000%256; BUFFER[0]=BUFFER[0]+1; If(BUFFER[0]= =100) { L3=!L3; L2=!L2; L1=!L1; L0=!L0; } } 进一步熟悉单片机、驱动芯片,以及发光二极管之间的连接。 熟悉掌握C51 程序定时器程序编写。 2. 器件和原理 本实例中将首先介绍单片机定时器,然后详细地介绍单片机定时器如何产生1s 的定时中断,并给出例程。最后,利用C51 的定时程序控制4 个发光二极管的亮灭以及端口的高低电平。 2.1 什么是单片机的定时器? MCS-51 系列的单片机一般有两个内部的16 位定时器/计数器,分别称为T0 和 T1.这两个计数器分别是由两个8 位的RAM 单元组成的,即每个计数器都是16 位的计数器,最大的计数量是65536。 那么这个定时/计时器是如何产生定时作用的呢?举个例子,如果将时钟定时到1 分钟,那么秒针计数到60 次后,时钟闹铃就会响。这里有个计数和定时之间的概念转化,时间表示为秒针的计数值,即秒针每一次走动的时间正好是1s。 单片机中的定时器和计数器是复用的,计数...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

单片机定时器功能实例

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部