2024年4月4日发(作者:费莫凝旋)
51单片机定时器/计数器的结构和原理 -
单片机
定时器/计数器简称定时器,其作用主要包括产生各种时标间隔、
记录外部事件的数量等,是微机中最常用、最基本的部件之一。803l
单片机有2个16位的定时器/计数器:定时器0(T0)和定时器1(T1)。
T0由2个定时寄存器TH0和TL0构成,T1则由TH1和TL1构成,它
们都分别映射在特殊功能寄存器中,从而可以通过对特殊功能寄存器
中这些寄存器的读写来实现对这两个定时器的操作。作定时器时,每
一个机器周期定时寄存器自动加l,所以定时器也可看作是计量机器
周期的计数器。由于每个机器周期为12个时钟振荡周期,所以定时
的分辨率是时钟振荡频率的1/12。作计数器时,只要在单片机外部
引脚T0(或T1)有从1到0电平的负跳变,计数器就自动加1。计数
的最高频率一般为振荡频率的l/24。
工作方式:
T0或T1无论用作定时器或计数器都有4种工作方式:方式0、
方式1、方式2和方式3。除方式3外,T0和T1有完全相同的工作
状态。下面以T1为例,分述各种工作方式的特点和用法。
1、工作方式0:
13位方式由TL1的低5位和TH1的8位构成13位计数器(TL1
的高3位无效)。工作方式0的结构见下图:
1
图中,C/T为定时/计数选择:C/T=0,T1为定时器,定时信号
为振荡周期12分频后的脉冲;C/T=l,T1为计数器,计数信号来自引
脚T1的外部信号。
定时器T1能否启动工作,还受到了R1、GATE和引脚信号INT1
的控制。由图中的逻辑电路可知,当GATE=0时,只要TR1=1就可打
开控制门,使定时器工作;当GATE=1时,只有TR1=1且INT1=1,才
可打开控制门。GATE,TR1,C/T的状态选择由定时器的控制寄存器
TMOD,TCON中相应位状态确定,INT1则是外部引脚上的信号。
在一般的应用中,通常使GATE=0,从而由TRl的状态控制Tl
的开闭:TRl=1,打开T1;TRl=0,关闭T1。在特殊的应用场合,例如
利用定时器测量接于INT1引脚上的外部脉冲高电平的宽度时,可使
GATE=1,TRl=1。当外部脉冲出现上升沿,亦即INT1由0变1电平时,
启动T1定时,测量开始;一旦外部脉冲出现下降沿,亦即INT1由l
变O时就关闭了T1。
定时器启动后,定时或计数脉冲加到TLl的低5位,从预先设
置的初值(时间常数)开始不断增1。TL1计满后,向THl进位。当TL1
和THl都计满之后,置位T1的定时器回零标志TFl,以此表明定时
时间或计数次数已到,以供查询或在打开中断的条件下,可向CPU请
求中断。如需进一步定时/计数,需用指令重置时间常数。
2、工作方式1:
16位方式。与工作方式0基本相同,区别仅在于工作方式1
的计数器TL1和TH1组成16位计数器,从而比工作方式0有更宽的
2
2024年4月4日发(作者:费莫凝旋)
51单片机定时器/计数器的结构和原理 -
单片机
定时器/计数器简称定时器,其作用主要包括产生各种时标间隔、
记录外部事件的数量等,是微机中最常用、最基本的部件之一。803l
单片机有2个16位的定时器/计数器:定时器0(T0)和定时器1(T1)。
T0由2个定时寄存器TH0和TL0构成,T1则由TH1和TL1构成,它
们都分别映射在特殊功能寄存器中,从而可以通过对特殊功能寄存器
中这些寄存器的读写来实现对这两个定时器的操作。作定时器时,每
一个机器周期定时寄存器自动加l,所以定时器也可看作是计量机器
周期的计数器。由于每个机器周期为12个时钟振荡周期,所以定时
的分辨率是时钟振荡频率的1/12。作计数器时,只要在单片机外部
引脚T0(或T1)有从1到0电平的负跳变,计数器就自动加1。计数
的最高频率一般为振荡频率的l/24。
工作方式:
T0或T1无论用作定时器或计数器都有4种工作方式:方式0、
方式1、方式2和方式3。除方式3外,T0和T1有完全相同的工作
状态。下面以T1为例,分述各种工作方式的特点和用法。
1、工作方式0:
13位方式由TL1的低5位和TH1的8位构成13位计数器(TL1
的高3位无效)。工作方式0的结构见下图:
1
图中,C/T为定时/计数选择:C/T=0,T1为定时器,定时信号
为振荡周期12分频后的脉冲;C/T=l,T1为计数器,计数信号来自引
脚T1的外部信号。
定时器T1能否启动工作,还受到了R1、GATE和引脚信号INT1
的控制。由图中的逻辑电路可知,当GATE=0时,只要TR1=1就可打
开控制门,使定时器工作;当GATE=1时,只有TR1=1且INT1=1,才
可打开控制门。GATE,TR1,C/T的状态选择由定时器的控制寄存器
TMOD,TCON中相应位状态确定,INT1则是外部引脚上的信号。
在一般的应用中,通常使GATE=0,从而由TRl的状态控制Tl
的开闭:TRl=1,打开T1;TRl=0,关闭T1。在特殊的应用场合,例如
利用定时器测量接于INT1引脚上的外部脉冲高电平的宽度时,可使
GATE=1,TRl=1。当外部脉冲出现上升沿,亦即INT1由0变1电平时,
启动T1定时,测量开始;一旦外部脉冲出现下降沿,亦即INT1由l
变O时就关闭了T1。
定时器启动后,定时或计数脉冲加到TLl的低5位,从预先设
置的初值(时间常数)开始不断增1。TL1计满后,向THl进位。当TL1
和THl都计满之后,置位T1的定时器回零标志TFl,以此表明定时
时间或计数次数已到,以供查询或在打开中断的条件下,可向CPU请
求中断。如需进一步定时/计数,需用指令重置时间常数。
2、工作方式1:
16位方式。与工作方式0基本相同,区别仅在于工作方式1
的计数器TL1和TH1组成16位计数器,从而比工作方式0有更宽的
2