《51单片机定时器计数器.ppt》由会员分享,可在线阅读,更多相关《51单片机定时器计数器.ppt(32页珍藏版)》请在优知文库上搜索。
1、89C51 单片机原理及应用单片机原理及应用89C51单片机定时器/计数器 单片机的定时计数器单片机的定时计数器 单片机应用系统中定时计数的需求:单片机应用系统中定时计数的需求: 如用单片机控制的打铃器、空调的定时开关、啤酒自动生产如用单片机控制的打铃器、空调的定时开关、啤酒自动生产线上对酒瓶的计数装置等。线上对酒瓶的计数装置等。 89C51单片机片内的定时单片机片内的定时/计数器:计数器: 两个位可编程的定时计数器:两个位可编程的定时计数器:T0和和T1,都能定时和对,都能定时和对外部事件进行计数。外部事件进行计数。 此外,此外,T1还可以作为串行接口的波特率发生器。还可以作为串行接口的波特
2、率发生器。 定时计数器的结构定时计数器的结构.定时和计数的原理定时和计数的原理(1)计数)计数 定时计数器的实质是在处置基础上的加计数定时计数器的实质是在处置基础上的加计数器(位),器(位),16位定时位定时/计数器的计数容量是计数器的计数容量是65536单片机是对脉冲个数计数,计数器每单片机是对脉冲个数计数,计数器每接收到一个脉冲,计数值加接收到一个脉冲,计数值加1,当接收满当接收满65535个脉冲后,再个脉冲后,再来一个脉冲,计数值清来一个脉冲,计数值清0表明表明这一轮计数结束,同时将标这一轮计数结束,同时将标志位志位TF0或或TF1置置1。 (2)定时)定时 单片机内部的计数器用作定时器
3、时,是对标准的单片机内部的计数器用作定时器时,是对标准的时钟进行了计数,每来一个时钟脉冲,计数器加时钟进行了计数,每来一个时钟脉冲,计数器加1,只要保证计数脉冲的间隔相等,则计数值就代表了只要保证计数脉冲的间隔相等,则计数值就代表了时间的流逝。时间的流逝。单片机中的定时器和计数器其实是一个器件:单片机中的定时器和计数器其实是一个器件:计数器:计数器:是对外部发生的事件进行计数,是对外部发生的事件进行计数,定时器:定时器:是对单片机内部的标准时钟脉冲进行是对单片机内部的标准时钟脉冲进行计数。计数。由单片机的晶振经过由单片机的晶振经过12分频后得到。由于晶振的频率很准,分频后得到。由于晶振的频率很
4、准,所以这个时钟脉冲的时间间隔也很准。当单片机采用所以这个时钟脉冲的时间间隔也很准。当单片机采用12的晶振时,它提供给计数器的脉冲频率是的晶振时,它提供给计数器的脉冲频率是,脉冲周期就是微秒。,脉冲周期就是微秒。定时定时/计数器计数器T0的结构示意图的结构示意图获得标准时间 单片机内部的单片机内部的16位定时计数器由高位定时计数器由高8位和低位和低8位两个寄存位两个寄存器组成:器组成:l T0由由TH0和和TL0组成,组成,l T1由由TH1和和TL1组成,组成, 定时计数器的计数值就存放在这里面。定时定时计数器的计数值就存放在这里面。定时/计数器计数器T1的的结构与结构与T0相同。相同。定时
5、器定时器/计数器的控制寄存器计数器的控制寄存器TMOD:选择定时器选择定时器/计数器计数器T0、T1的工作模式和工作的工作模式和工作 方式。方式。 TCON:控制控制T0、T1的启动和停止计数,同时包含了的启动和停止计数,同时包含了 T0、T1的状态。的状态。定时定时/计数器的结构计数器的结构单片机复位时,两个寄存器的所有位都被清单片机复位时,两个寄存器的所有位都被清0 0。定时器定时器/ /计数器控制寄存器计数器控制寄存器TCONTCON 低低4 4位与外部中断有关,已介绍。高位与外部中断有关,已介绍。高4 4位的功能如下:位的功能如下: (1) TF1 (1) TF1、TF0TF0计数溢出
6、标志位计数溢出标志位 (2) TR1 (2) TR1、TR0TR0计数运行控制计数运行控制位位 1 1:启动定时器启动定时器/ /计数器工作计数器工作 0 0:停止定时器停止定时器/ /计数器工作计数器工作 工作方式控制寄存器工作方式控制寄存器TMODTMOD8 8位分为两组,高位分为两组,高4 4位控制位控制T1T1,低,低4 4位控制位控制T0T0。(1 1)GATEGATE门控位门控位 0 0:以:以TRXTRX(X=0,1X=0,1)来启动定时器)来启动定时器/ /计数器运行。计数器运行。1 1:用外中断引脚:用外中断引脚(INT0(INT0* *或或INT1INT1* *) )上的高
7、电平和上的高电平和TRXTRX来启动来启动定时器定时器/ /计数器运行。计数器运行。(2 2)M1M1、M0M0工作方式选择位工作方式选择位 M1 M0 M1 M0 工工 作作 方方 式式 0 0 0 0 方式方式0 0,1313位定时器位定时器/ /计数器。计数器。 0 1 0 1 方式方式1 1,1616位定时器位定时器/ /计数器。计数器。 1 0 1 0 方式方式2 2,8 8位常数自动重新装载位常数自动重新装载 1 1 1 1 方式方式3 3,仅适用于,仅适用于T0T0,T0T0分成分成 两个两个8 8 位计数器,位计数器,T1T1停止计数。停止计数。 (3) C/T (3) C/T
8、* *计数器模式和定时器模式选择计数器模式和定时器模式选择位位0 0:定时器模式。定时器模式。 1 1:计数器模式。计数器模式。 定时定时/计数器的工作方式计数器的工作方式一方式一方式0方式0是13位的定时/计数方式,因而最大计数值为 2的13次幂,等于8192。如计数值为N,则置入的初值X为: X=8192-N例如定时/计数器T0的计数值为1000,则初值为7192,转换成二进制数为1110000011000B,则TH0=11100000B,TL0=00011000B。 工作方式工作方式0 0为为1313位的计数器位的计数器 ,C/TC/T* * 位决定工作模式:位决定工作模式: 0 0:开
9、关打在上面,为定时器工作模式;开关打在上面,为定时器工作模式; 1 1:开关打在下面,为计数器工作模式,计数脉冲为开关打在下面,为计数器工作模式,计数脉冲为P3.4P3.4、P3.5P3.5引脚上的外部输入脉冲,当引脚上发生负跳变时,引脚上的外部输入脉冲,当引脚上发生负跳变时,计数器加计数器加1 1。GATEGATE位:决定定时器位:决定定时器/ /计数器的计数器的运行取决于运行取决于TRxTRx一个条件还是一个条件还是TRxTRx和和INTxINTx* *引脚两个条件引脚两个条件。 (1 1)0 0:A A点是否计数点是否计数, ,仅取决于仅取决于TRxTRx的状态。的状态。(2 2)1 1
10、:B B点电位由点电位由INTXINTX* *的输入电平和的输入电平和TRXTRX的状态这两个条件的状态这两个条件来确定。来确定。是否计数是由是否计数是由TRxTRx和和INTxINTx* *二个条件来控制的。二个条件来控制的。二、方式二、方式1方式1是16位的定时/计数方式,因而最大计数值为 2的16次幂,等于65536。如计数值为N,则置入的初值X为:X=65536-N如定时/计数器T0的计数值为1000,则初值为65536-1000=64536,转换成二进制数为1111110000011000B,则TH0=11111100B,TL0=00011000B。三方式三方式2 方式2,16位的计
11、数器只用了8位来计数,用的是TL0(或TL1)的8位来进行计数,而TH0(或TH1)用于保存初值。当TL0(或TL1)计满时则溢出,一方面使TF0(或TF1)置位,另一方面溢出信号又会触发三态门,使三态门导通,TH0(或TH1)的值就自动装入TL0(或TL1)。 TLX作为常数缓冲器,当作为常数缓冲器,当TLX计数溢出时,在置计数溢出时,在置“1”溢出标志溢出标志TFX的同时,还自动的将的同时,还自动的将THX中的初值送至中的初值送至TLX,使使TLX从初值开始重新计从初值开始重新计数。数。特别适合于产生比较精特别适合于产生比较精确的连续脉冲信号。确的连续脉冲信号。 由于是8位的定时/计数方式
12、,因而最大计数值为 2的8次幂,等于256。如计数值为N,则置入的初值X为: X=256-N 如定时/计数器T0的计数值为100,则初值为256-100=156,转换成二进制数为10011100B,则TH0= TL0=10011100B。注意: 由于方式2计满后,溢出信号会触发三态门自动地把TH0(或TH1)的值装入TL0(或TL1)中,因而如果要重新实现N个单位的计数,不用重新置入初值。 方式3只有定时/计数器T0才有,当M1M0两位为11时,定时/计数器T0工作于方式3,定时/计数器T0被分为两个部分TL0和TH0,其中,TL0可作为定时/计数器使用,占用T0的全部控制位:GATE、C/T
13、、TR0和TF0;而TH0固定只能作定时器使用,对机器周期进行计数,这时它占用定时/计数器T1的TR1位、TF1位和T1的中断资源。 四、方式四、方式3 工作方式工作方式3 3相当于增加一个附加的相当于增加一个附加的8 8位定时器位定时器/ /计数器,从计数器,从而具有而具有3 3个定时器个定时器/ /计数器。计数器。 只适用于定时器只适用于定时器/ /计数器计数器T0T0。T1T1不能工作在方式不能工作在方式3 3, T1 T1方式方式3 3时相当于时相当于TR1=0TR1=0,停止计数(此时,停止计数(此时T1T1可用来作串可用来作串行口波特率产生器)。行口波特率产生器)。1 1工作方式工
14、作方式3 3下的下的T0T0T0T0分为两个独立的分为两个独立的8 8位计数器位计数器:TL0:TL0和和TH0 TH0 。TL0TL0使用使用T0T0的状态的状态控制位控制位C/TC/T* *、GATEGATE、TR0TR0、,而、,而TH0TH0被固定为一个被固定为一个8 8位定时器位定时器(不能作外部计数模式),并使用定时器(不能作外部计数模式),并使用定时器T1T1的状态控制位的状态控制位TR1TR1和和TF1TF1,同时占用定时器,同时占用定时器T1T1的中断请求源的中断请求源TF1TF1。2T0工作在方式工作在方式3下下T1的各种工作方式的各种工作方式 当当T1T1用作串行口的波特
15、率发生器时,用作串行口的波特率发生器时, T0 T0才工作才工作在方式在方式3 3。 T0 T0处于方式处于方式3 3时,时, T1 T1可定为方式可定为方式0 0、方式、方式1 1和方和方式式2 2,用来作为串行口的波特率发生器,或不需要,用来作为串行口的波特率发生器,或不需要中断的场合。中断的场合。定时器定时器/ /计数器对输入信号的要求计数器对输入信号的要求 外部计数脉冲的最高频率为系统振荡器频率的外部计数脉冲的最高频率为系统振荡器频率的1/241/24,例如选用例如选用12MHz12MHz频率的晶体,则可输入频率的晶体,则可输入500KHz500KHz的外部脉冲。的外部脉冲。 输入信号
16、的高、低电平至少要保持一个机器周期。输入信号的高、低电平至少要保持一个机器周期。如图所示,图中如图所示,图中TcyTcy为机器周期。为机器周期。定时器定时器/计数器的初始化计数器的初始化定时定时/计数器的方式寄存器计数器的方式寄存器TMODTMODD7D6D5D4D3D2D1D0(89H)GATEC/TM1M0GATEC/TM1M0定时器定时器1定时器定时器0其中:M1、M0为工作方式选择位 ,用于对T0的四种工作方式,T1的三种工作方式进行选择,选择情况如下 M1M0工作方式工作方式方式说明方式说明00013位定时位定时/计数器计数器01116位定时位定时/计数器计数器1028位自动重置定时位自动重置定时/计数器计数器113两个两个8位定时位定时/计数器(只有计数器(只有T0有)有)C/T:定时或计数方式选择位,当C/T=1时工作于计数方式;当C/T=0时工作于定时方式。 GATE:门控位,用于控制定时/计数器的启动是否受外部中断请求信号的影响。定时定时/计数器的控制寄存器计数器的控制寄存器TCONTCOND7D6D5D4D3D2D1D0(88H)TF1TR1TF0TR0IE1IT1