单片机定时计数器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4页/共34页
7.3 51单片机定时计数器的工作方式
7.3.1 工作方式0
当M1、M0设定为“00”时,T0/T1工作于方式0,在工作方式0下,T0/T1 内部计数器为13位,由TH0/TH1的8位和TL0/TL1的低5位组成;当TL0/TL1溢 出时将向TH0/TH1进位,当TH0/TH1溢出后则产生相应的溢出中断。工作方 式下的驱动事件来源则由GATE位、C/T#位来控制。
TCON是定时计数器控制寄存器,在51单片机复位后初始化值为所有位 都被清“0”
位序号 7 6 5
4 3 2 1
0
位名称 TF1 TR1 TF0
TR0 IE1 IT1 IE0
IT0
说明
定时计数器1溢出标志位,其功能和TF0相同
定时计数器1启动控制位,其功能和TR0相同
定时计数器0溢出标志位,该位被置位则说明单片机检测到了 定时计数器0的溢出,并且PC自动跳转到该中断向量入口,当 单片机响应中断后该位被硬件自动清除
1
T1工作方式选择位
M10M01
工作方式
00
0
01
1
10
2
10
3
定时计数器0门控位,其功能和GATE1相同
定时计数器0定时/计数选择位,其功能和C/T1#相同
T0工作方式选择位,其功能和M10M01相同
内部结 构
第2页/共34页
7.2 51单片机定时计数器的寄存器 P1
7.2.2 控制寄存器TCON
位标号 7
6
5
4
3 2 1 0
位名称 GATE1
C/T1#
M10
M01
GATE0 C/T0# M10 M00
描述
定时计数器1门控位,当GATE1=0时,T1的运行只受控制寄存器TCON中运行 控制位TR1控制;当GATE1=1时候,T1的运行受到TR1和外部中断输入引脚上 电平的双重控制
定时计数器1定时/计数方式选择位,当C/T1# = 0时,T1工作在计数状态下, 此时计数脉冲来自T1引脚(P3.5),当引脚上检测到一次负脉源自文库时候,计数器加 1;当C/T1# = 1时,T1工作在定时状态下,此时每过一个机器周期,定时器加
内部结 构
第3页/共34页
7.2 51单片机定时计数器的寄存器 P1
7.2.3 数据寄存器TH0、TL0、和TH1、TL1
TH0、TL0/TH1、TL1分别是T0/T1的数据高位/低位寄存器,均为8位。 当定时计数器收到一个驱动事件(定时、计数)后,对应的数据寄存器的内 容加1,当数据寄存器的值到达最大的时候,将产生一个溢出中断,在单片机 复位后所有寄存器的值都被初始化为0x00,这些寄存器都不能位寻址。
7.1 51单片机定时计数器的组成
51单片机内部提供了两个16位可编程控制的定时计数器T0和T1,这两个 定时计数器可以独立配置为定时器或者计数器。当被配置为定时器时,将按 照预先设置好的长度运行一段时间后产生一个溢出中断;被配置为计数器时, 如果单片机的外部中断引脚上检测到一个脉冲信号,该计数器加1,当达到预 先设置好事件数目时,产生一个中断事件。
中断处理函 数的结构
第9页/共34页
7.4 使用51单片机的计数器
7.4.1 使用定时功能
使用步骤: 1. 根据需求合理的选择定时器工作方式; 2. 根据工作方式和单片机的工作频率计算初始化值; 3. 初始化定时器控制器TMOD; 4. 写入初始化值、设置中断系统、启动定时器; 5. 编写合理的中断服务程序,尤其需要注意的是否需要重新装入初始化值。
工作方式1下的 内部结构
第6页/共34页
7.3 51单片机定时计数器的工作方式
7.3.3 工作方式2
当M1、M0设定为“11”时,T0工作于工作方式3,在这种工作方式下T0 被拆分成了两个独立的8位计数器TH0和TL0,TL0使用T0本身的控制和中断 资源,而TH0则占用了T1的TR1和TF1作为启动控制位和溢出标志。在这种情 况下,T1将停止运行并且其数据寄存器将保持其当前数值,所以设置T0为工 作方式3也可以代替复位TR1来关闭T1定时计数器。
工作方式2下的 内部结构
第7页/共34页
7.3 51单片机定时计数器的工作方式
7.3.4 工作方式3
当M1、M0设定为“11”时,T0工作于工作方式3,在这种工作方式下T0 被拆分成了两个独立的8位计数器TH0和TL0,TL0使用T0本身的控制和中断 资源,而TH0则占用了T1的TR1和TF1作为启动控制位和溢出标志。在这种情 况下,T1将停止运行并且其数据寄存器将保持其当前数值,所以设置T0为工 作方式3也可以代替复位TR1来关闭T1定时计数器。
工作方式0下的 内部结构
第5页/共34页
7.3 51单片机定时计数器的工作方式
7.3.2 工作方式1
当M1、M0设定为“01”时,T0/T1工作于方式1,和工作方式0比较起来, 工作方式1的得唯一区别在于此时的内部计数器宽度为16位,分别由TH0/TH1 的8位和TL0/TL1的8位组成,其溢出方式和驱动事件的来源和工作方式相同。 51系列单片机的定时计数器采用加1计数的方式,即当接收到一个驱动事件时 候计数器加1,当计数器溢出时候则产生相应的中断请求,第一个驱动事件到 来时刻和中断请求产生。
定时计数器0启动控制位,当该位被置位时启动定时计数器0
外部中断1触发标志位,其功能和IE0相同
外部中断1触发方式控制位,其功能和IT0相同
外部中断0触发标志位,该位被置位则说明单片机检测到了外
部中断0,并且PC自动跳转到外部中断0中断向量入口,当单片
机响应中断后该位被硬件自动清除
外部中断0触发方式控制位,置位时为下降沿触发方式,清除 时为低电平触发方式
51单片机的定时计数器由内部寄存器和外部引脚组成, T0(P3.4)引脚 和T1(P3.5)引脚用于接收外部的脉冲信号。
第1页/共34页
7.2 51单片机定时计数器的寄存器 P1
7.2.1 工作方式控制寄存器TMOD
TMOD是定时计数器的工作方式控制寄存器,通过对该寄存器的操作可 以改变T0和T1的工作方式。
工作方式3下的 内部结构
第8页/共34页
7.3 51单片机定时计数器的工作方式
7.3.5 定时计数器的中断
当51单片机的的中断控制寄存器IE中的EA位和ET0/ET1都被置“1”的时 候,定时计数器0/1的中断被使能,在这种状态下,如果定时计数器0/1出现 一个计数溢出事件,则会触发定时计数器中断事件。可以通过修改中断优先 级寄存器IP中的PT0/PT1位来提高定时计数器的中断优先级。
7.3 51单片机定时计数器的工作方式
7.3.1 工作方式0
当M1、M0设定为“00”时,T0/T1工作于方式0,在工作方式0下,T0/T1 内部计数器为13位,由TH0/TH1的8位和TL0/TL1的低5位组成;当TL0/TL1溢 出时将向TH0/TH1进位,当TH0/TH1溢出后则产生相应的溢出中断。工作方 式下的驱动事件来源则由GATE位、C/T#位来控制。
TCON是定时计数器控制寄存器,在51单片机复位后初始化值为所有位 都被清“0”
位序号 7 6 5
4 3 2 1
0
位名称 TF1 TR1 TF0
TR0 IE1 IT1 IE0
IT0
说明
定时计数器1溢出标志位,其功能和TF0相同
定时计数器1启动控制位,其功能和TR0相同
定时计数器0溢出标志位,该位被置位则说明单片机检测到了 定时计数器0的溢出,并且PC自动跳转到该中断向量入口,当 单片机响应中断后该位被硬件自动清除
1
T1工作方式选择位
M10M01
工作方式
00
0
01
1
10
2
10
3
定时计数器0门控位,其功能和GATE1相同
定时计数器0定时/计数选择位,其功能和C/T1#相同
T0工作方式选择位,其功能和M10M01相同
内部结 构
第2页/共34页
7.2 51单片机定时计数器的寄存器 P1
7.2.2 控制寄存器TCON
位标号 7
6
5
4
3 2 1 0
位名称 GATE1
C/T1#
M10
M01
GATE0 C/T0# M10 M00
描述
定时计数器1门控位,当GATE1=0时,T1的运行只受控制寄存器TCON中运行 控制位TR1控制;当GATE1=1时候,T1的运行受到TR1和外部中断输入引脚上 电平的双重控制
定时计数器1定时/计数方式选择位,当C/T1# = 0时,T1工作在计数状态下, 此时计数脉冲来自T1引脚(P3.5),当引脚上检测到一次负脉源自文库时候,计数器加 1;当C/T1# = 1时,T1工作在定时状态下,此时每过一个机器周期,定时器加
内部结 构
第3页/共34页
7.2 51单片机定时计数器的寄存器 P1
7.2.3 数据寄存器TH0、TL0、和TH1、TL1
TH0、TL0/TH1、TL1分别是T0/T1的数据高位/低位寄存器,均为8位。 当定时计数器收到一个驱动事件(定时、计数)后,对应的数据寄存器的内 容加1,当数据寄存器的值到达最大的时候,将产生一个溢出中断,在单片机 复位后所有寄存器的值都被初始化为0x00,这些寄存器都不能位寻址。
7.1 51单片机定时计数器的组成
51单片机内部提供了两个16位可编程控制的定时计数器T0和T1,这两个 定时计数器可以独立配置为定时器或者计数器。当被配置为定时器时,将按 照预先设置好的长度运行一段时间后产生一个溢出中断;被配置为计数器时, 如果单片机的外部中断引脚上检测到一个脉冲信号,该计数器加1,当达到预 先设置好事件数目时,产生一个中断事件。
中断处理函 数的结构
第9页/共34页
7.4 使用51单片机的计数器
7.4.1 使用定时功能
使用步骤: 1. 根据需求合理的选择定时器工作方式; 2. 根据工作方式和单片机的工作频率计算初始化值; 3. 初始化定时器控制器TMOD; 4. 写入初始化值、设置中断系统、启动定时器; 5. 编写合理的中断服务程序,尤其需要注意的是否需要重新装入初始化值。
工作方式1下的 内部结构
第6页/共34页
7.3 51单片机定时计数器的工作方式
7.3.3 工作方式2
当M1、M0设定为“11”时,T0工作于工作方式3,在这种工作方式下T0 被拆分成了两个独立的8位计数器TH0和TL0,TL0使用T0本身的控制和中断 资源,而TH0则占用了T1的TR1和TF1作为启动控制位和溢出标志。在这种情 况下,T1将停止运行并且其数据寄存器将保持其当前数值,所以设置T0为工 作方式3也可以代替复位TR1来关闭T1定时计数器。
工作方式2下的 内部结构
第7页/共34页
7.3 51单片机定时计数器的工作方式
7.3.4 工作方式3
当M1、M0设定为“11”时,T0工作于工作方式3,在这种工作方式下T0 被拆分成了两个独立的8位计数器TH0和TL0,TL0使用T0本身的控制和中断 资源,而TH0则占用了T1的TR1和TF1作为启动控制位和溢出标志。在这种情 况下,T1将停止运行并且其数据寄存器将保持其当前数值,所以设置T0为工 作方式3也可以代替复位TR1来关闭T1定时计数器。
工作方式0下的 内部结构
第5页/共34页
7.3 51单片机定时计数器的工作方式
7.3.2 工作方式1
当M1、M0设定为“01”时,T0/T1工作于方式1,和工作方式0比较起来, 工作方式1的得唯一区别在于此时的内部计数器宽度为16位,分别由TH0/TH1 的8位和TL0/TL1的8位组成,其溢出方式和驱动事件的来源和工作方式相同。 51系列单片机的定时计数器采用加1计数的方式,即当接收到一个驱动事件时 候计数器加1,当计数器溢出时候则产生相应的中断请求,第一个驱动事件到 来时刻和中断请求产生。
定时计数器0启动控制位,当该位被置位时启动定时计数器0
外部中断1触发标志位,其功能和IE0相同
外部中断1触发方式控制位,其功能和IT0相同
外部中断0触发标志位,该位被置位则说明单片机检测到了外
部中断0,并且PC自动跳转到外部中断0中断向量入口,当单片
机响应中断后该位被硬件自动清除
外部中断0触发方式控制位,置位时为下降沿触发方式,清除 时为低电平触发方式
51单片机的定时计数器由内部寄存器和外部引脚组成, T0(P3.4)引脚 和T1(P3.5)引脚用于接收外部的脉冲信号。
第1页/共34页
7.2 51单片机定时计数器的寄存器 P1
7.2.1 工作方式控制寄存器TMOD
TMOD是定时计数器的工作方式控制寄存器,通过对该寄存器的操作可 以改变T0和T1的工作方式。
工作方式3下的 内部结构
第8页/共34页
7.3 51单片机定时计数器的工作方式
7.3.5 定时计数器的中断
当51单片机的的中断控制寄存器IE中的EA位和ET0/ET1都被置“1”的时 候,定时计数器0/1的中断被使能,在这种状态下,如果定时计数器0/1出现 一个计数溢出事件,则会触发定时计数器中断事件。可以通过修改中断优先 级寄存器IP中的PT0/PT1位来提高定时计数器的中断优先级。