1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,北京航空航天大学出版社,6,定时器,/,计数器原理及仿真,*,6,定时器,/,计数器原理及仿真,教学目的,了解定时器,/,计数器的用途,理解定时器,/,计数器的结构和基本工作原理,熟悉定时器,/,计数器,0,,,1,,,2,的工作模式,掌握定时器,/,计数器的基本使用方法,了解看门狗的基本工作原理,2,本章内容,定时器,/,计数器的基本用途,定时器,/,计数器,0,和,1,的基本结构和工作原理,定时器,/,计数器,2,的基本结构和工作原理,仿真实例,看门狗的基本工作原理,3,6.1,定时器,/,计数器的基本
2、用途,定时器,/,计数器模块的基本用途,定时器,/,计数器模块的基本用途,常用于测量时间、速度、频率、脉宽,提供定时脉冲信号,还能为编程人员提供准确定时,AT89C52,中有,3,个 定时器,/,计数器,定时器,/,计数器,0,定时器,/,计数器,1,定时器,/,计数器,2,6.1,定时器,/,计数器的基本用途,5,6.2,定时器,/,计数器,0,的结构和工作原理,定时器,/,计数器,0,和,1,工作原理,相关的特殊功能寄存器,四种工作模式,相关仿真实例,定时器,/,计数器,0,和,1,工作原理,结构,工作原理,定时器方式:,对振荡源,12,分频的脉冲计数,计数器方式:,对外部输入的脉冲计数,
3、6.2,定时器,/,计数器,0,的结构和工作原理,7,相关的特殊功能寄存器,计数寄存器,TH0,、,TL0,和,TH1,、,TL1,定时器,/,计数器控制寄存器,TCON,定时器,/,计数器方式控制寄存器,TMOD,6.2,定时器,/,计数器,0,的结构和工作原理,8,相关的特殊功能寄存器,4,种操作模式,6.2,定时器,/,计数器,0,的结构和工作原理,9,定时器,/,计数器,0,和,1,的四种工作模式,模式,0,6.2,定时器,/,计数器,0,的结构和工作原理,10,定时器,/,计数器,0,和,1,的四种工作模式,模式,1,6.2,定时器,/,计数器,0,的结构和工作原理,11,定时器,/
4、计数器,0,和,1,的四种工作模式,模式,2,6.2,定时器,/,计数器,0,的结构和工作原理,12,定时器,/,计数器,0,和,1,的四种工作模式,模式,3,6.2,定时器,/,计数器,0,的结构和工作原理,13,定时器,/,计数器,0,和,1,的仿真实例,例,6.1,要求使用,AT89C52,晶振频率,f=12MHz,,利用定时器,0,实现对,LED,灯的闪烁控制,,LED,灯的闪烁间隔为,0.5,秒。,分析思路:如何计算定时器初值?,14,仿真电路图,15,程序流程图,16,定时器,/,计数器,0,和,1,的仿真实例,例,6.2,要求使用,AT89C52,,晶振频率,f=12MHz,,
5、在,P1.2,引脚上输出一个脉冲信号,周期为,2s,,占空比为,20%,。,分析思路:在例,6.1,的基础上,如何来控制占空比?,17,仿真电路图,18,程序流程图,19,仿真效果图,20,定时器,/,计数器,0,和,1,的仿真实例,例,6.3,假设某家摩托车厂生产的摩托车,车轮直径为,43cm,,那么,该车行走,1km,需要车轮运转,740,圈(,10000.433.14,)。在车体上找一个能够检测车轮转动的适当位置,安装一个磁敏感传感器(如廉价易购的,3,脚霍尔器件)或者光电传感器。在与磁敏感传感器位置相对的摩托车转动部件上,安装一块小磁铁。这样车轮转动时会形成磁敏感传感器与小磁铁之间的相
6、对位移,从而产生一系列的电脉冲信号。将该信号作为单片机内部可编程计数器的计数脉冲信号,供单片机记数。请利用,AT89C52,中的定时器,/,计数器来模拟这个简易车辆里程表,电脉冲信号可以由按键按下和弹起来模拟,里程表中里程的显示可以用,8,个,LED,灯来实现。为了方便,这里假设每产生,5,个周期的脉冲信号就相当于摩托车行使,1km,(实际是,740,次),而且行驶的距离的数值用,8,个,LED,灯来显示(为了方便,用二进制数显示),用,8,个,LED,灯来表示,8,位二进制数,灯亮表示,1,,否则表示,0,,单位是,km,。,分析思路:如何使用计数器?,21,仿真电路图,22,6.3,定时器
7、/,计数器,2,的结构和工作原理,定时器,/,计数器,2,的工作原理,相关的特殊功能寄存器,三种工作模式,相关仿真实例,定时器,/,计数器,2,的工作原理,定时器,/,计数器,2,的工作原理,定时器,/,计数器,2,也是一个,16,位定时器,/,计数器。其工作方式由定时器,/,计数器,2,的控制寄存器,T2CON,中的,C/T2,位选择。,T/C2,有三种工作模式:捕捉方式、自动重载(向下或向上计数)和波特率发生器。,T/C2,有两个,8,位寄存器:,TH2,和,TL2,。在定时器工作方式中,每经过一个机器周期,计数寄存器就会加,1,;在计数器工作方式下,输入计数脉冲的引脚是,T2,,工作原
8、理和,C/T0,、,C/T1,工作在计数器方式的原理类似。,6.3,定时器,/,计数器,2,的结构和工作原理,24,相关的特殊功能寄存器,定时器,/,计数器控制寄存器,T2CON,定时器,/,计数器方式控制寄存器,T2MOD,6.3,定时器,/,计数器,2,的结构和工作原理,25,定时器,/,计数器,2,的三种工作模式,捕捉模式,6.3,定时器,/,计数器,2,的结构和工作原理,26,定时器,/,计数器,2,的三种工作模式,自动重载模式,(DCEN=0),6.3,定时器,/,计数器,2,的结构和工作原理,27,定时器,/,计数器,2,的三种工作模式,自动重载模式,(DCEN=1),6.3,定时
9、器,/,计数器,2,的结构和工作原理,28,定时器,/,计数器,2,的三种工作模式,波特率发生器,6.3,定时器,/,计数器,2,的结构和工作原理,29,定时器,/,计数器,2,的相关仿真实例,例,6.5,有一个频率在,500Hz1KHz,范围内的脉冲信号。要求使用,AT89C52,,晶振频率,f=12MHz,,利用定时器,2,的捕捉模式测量出该脉冲信号一个周期的时间并用动态数码管显示。,分析思路:,测量信号周期的方法,如何利用,T/C2,的捕捉模式,30,仿真电路图,31,程序流程图,32,仿真效果图,33,6.4,仿真实例,音符播放仿真实例,直流电机控制仿真实例,步进电机控制仿真实例,音符
10、播放仿真实例,例,6.6,要求使用,AT89C52,,晶振频率,12MHz,,利用蜂鸣器和单片机中的定时器,实现音乐中,1234567,,即,DO,,,RE,,,M,,,SO,,,LA,,,SI,的发音。,分析思路:,发音的基本原理,如何根据音符频率来确定定时器计数初值,6.4,仿真实例,35,音符播放仿真实例,仿真电路图,6.4,仿真实例,36,音符播放仿真实例,程序流程图,6.4,仿真实例,37,直流电机控制仿真实例,例,6.7,要求使用,AT89C52,,晶振,12MHz,,能够实现直流电机的转向和转速的控制:使用一个加速按键,每按一次电机的旋转速度就增加;使用一个反向按键,每按一次电机
11、的转动方向就发生改变。对电机速度的控制要求利用单片机中的定时器。,分析思路:,直流电机控制的基本思想,如何来控制直流电机的旋转方向和速度,6.4,仿真实例,38,直流电机控制仿真实例,仿真电路图,6.4,仿真实例,39,直流电机控制仿真实例,程序流程图,6.4,仿真实例,40,步进电机控制仿真实例,例,6.8,要求使用,AT89C52,,晶振,12MHz,,电机步距角为,7.5,,实现对步进电机转向和转速的控制:。要求开机时电机以,30,转,/,分的速度正向旋转,每按下一次加速按键,电机旋转速度增加,10,,最高速度为,100,转,/,分,即速度可以为,30,转,/,分,,40,转,/,分,,
12、50,转,/,分,,,,100,转,/,分。按反向按键键后,电机反向旋转。,分析思路:,如何来控制步进电机的旋转方向和速度,如何来将步进电机的旋转速度和定时器初值对应起来,6.4,仿真实例,41,步进电机控制仿真实例,仿真电路图,6.4,仿真实例,42,步进电机控制仿真实例,程序流程图,6.4,仿真实例,43,6.5,看门狗定时器,看门狗简介,看门狗的工作原理,看门狗的使用,看门狗简介,有时候单片机因为受到某些干扰,会不按照这种既定的顺序来执行指令,会脱离正常轨道,导致程序执行混乱(俗称“跑飞”)。,工程师们经过长期的实践和探索,解决可靠性的问题,一般有两种思路:一种是“未雨绸缪”,防患于未然
13、既包括硬件方面的,也包括软件方面的,尽最大可能降低“跑飞”或死机的出现。另一种是“亡羊补牢”,避免造成更大的损失。看门狗定时器正是后者在工程技术应用中的一种具体措施,即当单片机系统一旦“跑飞”或死机,尽快把系统拉回到正常的运行状态。,6.5,看门狗定时器,45,看门狗的工作原理,看门狗,又叫,WDT,(,watchdog timer,),实质上是一个独立的定时器电路。在系统启动了看门狗后,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗定时器中的计数寄存器,那么看门狗计数器就会溢出,从而引起看门狗中断,造成系统复位。所以,在使用看门狗时要注意及时清看门狗,即常说的“喂狗”。在,AT89
14、S52,中,,WDT,由,13,位计数器和特殊功能寄存器中的看门狗定时器复位存储器(,WDTRST,)构成。,6.5,看门狗定时器,46,看门狗的使用,为了激活,WDT,,用户必须向,WDTRST,寄存器依次写入,0 xE1H,和,0 xE1H,。当,WDT,被激活后,用户必须向,WDTRST,依次写入,0 xE1H,和,0 xE1H,,即通过喂狗来避免,WDT,溢出。当计数达到,8191,(,0 x1FFFH,)时,,13,位计数器将会溢出,这将会引起单片机复位。晶振正常工作、,WDT,激活后,每经过一个机器周期,WDT,都会增加,1,,,WDT,计数器不能读或写。当,WDT,计数器溢出时,将给,RST,引脚产生一个复位脉冲,这个复位脉冲持续,96,个晶振周期(,TOSC,),其中,TOSC=1/FOSC,(,FOSC,为晶振频率)。所以,为了很好地使用,WDT,,应该在一定时间内周期性地“喂狗”,以避免引起,WDT,复位。,6.5,看门狗定时器,47,本章小结,定时器,/,计数器的基本用途,定时器,/,计数器,0,,,1,,,2,的基本结构和工作原理,如何实现脉冲信号、计数功能、定时功能、捕捉功能,AT89S52,中看门狗的基本工作原理,48,






