单片机原理及应用-蔡启仲-第5章-定时器计数器分析

上传人:n**** 文档编号:93086536 上传时间:2019-07-16 格式:PPT 页数:44 大小:1.84MB
返回 下载 相关 举报
单片机原理及应用-蔡启仲-第5章-定时器计数器分析_第1页
第1页 / 共44页
单片机原理及应用-蔡启仲-第5章-定时器计数器分析_第2页
第2页 / 共44页
单片机原理及应用-蔡启仲-第5章-定时器计数器分析_第3页
第3页 / 共44页
单片机原理及应用-蔡启仲-第5章-定时器计数器分析_第4页
第4页 / 共44页
单片机原理及应用-蔡启仲-第5章-定时器计数器分析_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《单片机原理及应用-蔡启仲-第5章-定时器计数器分析》由会员分享,可在线阅读,更多相关《单片机原理及应用-蔡启仲-第5章-定时器计数器分析(44页珍藏版)》请在金锄头文库上搜索。

1、1,第5章 定时器/计数器,2,2,第5章 目录 5.1 定时/计数器的结构 5.1.1 定时器/计数器的核心原型 5.1.2 定时器/计数器的组成 5.1.3 定时器/计数器的工作方式寄存器TMOD 5.1.4控制寄存器TCON 5.2 定时器/计数器的工作方式 5.2.1 方式1 5.2.2 方式2 5.2.3 方式3 5.2.4 方式0 5.3 定时器/计数器的应用 5.3.1 方式1的应用举例 5.3.2 方式2的应用举例 5.3.3 方式3的应用举例 5.3.4 外部输入的计数脉冲信号的要求 习题,3,3,5.1 定时器/计数器的结构,微处理器应用系统中,经常完成如下工作: 1. 特

2、定事件的定时控制 2. 脉冲个数的统计 因此,定时功能和计数功能就是处理器必须具备的一项基本配备。 51单片机内部就具备定时器和计数器,以满足功能需要。定时器/计数器的核心部件就是计数器(参考数字电子技术中的时序逻辑电路),额外附件了其他控制单元电路。,4,5.1.1 定时器/计数器的核心原型,定时器/计数器的主要功能部件的核心原型就是+1计数器。,图51 3位异步+1计数器的组成,5,图52 3位异步+1计数器的时序图,在计数脉冲CP的作用下, JK触发器输出端Q0、Q1、Q2的状态变换由000001010011100101110111000时,总共需要8个计数脉冲。,6,定时功能(设5秒定

3、时): (1) 设置Q0、Q1、Q2的初始状态为“011”(定时初值 ) (2) CP脉冲(频率为1Hz)作用下,Q0、Q1、Q2状态变换历经011100 101110111000。 (3) 5个时钟脉冲周期之后,即时间恰好为5秒,此时计数状态由111 000 ,溢出。,计数功能(需3次计数): (1) 设置Q0、Q1、Q2的初始状态为“101”(定时初值 ) (2) 外部待计数的触发脉冲(频率未知)作用下,Q0、 Q1、Q2状态变换历经101110111000。 (3) 3个计数触发脉冲之后,即计数次数恰好为3,此时计数状态由111 000 ,溢出。,7,5.1.2 定时器/计数器的组成,5

4、1单片机内部一般有23个可编程定时器/计数器,其结构基本相同。常规系列80C51单片机内部设有2个16位可编程定时器/计数器,分别是T0和T1。,图53 定时器/计数器结构框图,8,特点: (1) 独立性:定时器/计数器和内部CPU相互独立,互不 影响,即计数过程与单片机执行程序并行进行。 (2) 51单片机内部有T0、T1两个定时器/计数器。 (3) 两个定时器/计数器结构相同。 (4) 每个定时器/计数器均具备独立的+1计数器THx和 TLx(x取0或1)。 (5) 两个定时器/计数器共同受TMOD(工作方式寄存器) 和TCON(控制寄存器)相应位的控制其工作。,9,(1) GATE 门控

5、位 (2) 工作模式选择位 (3) M1和M0 工作方式选择位,5.1.3 工作方式寄存器TMOD,特殊功能寄存器TMOD用于设置定时器/计数器T0和T1工作方式。字节地址为89H,不能位寻址。,图54 TMOD的位定义,10,GATE 门控位 GATE=0:定时器/计数器的运行启动控制与外部引脚无关,仅由TRx(x取0或1)位通过置1实现。 GATE=1:定时器/计数器的运行启动控制与外部引脚有关,即由TRx(x取0或1)位和外部引脚 (x取0或1)的电平情况共同作用。 当 ,TRx=1,启动Tx/ Cx工作。,TMOD工作方式寄存器,11, 工作模式选择位 =0,定时器/计数器的工作模式为

6、定时器,固定的定时时钟脉冲来自于12分频的单片机时钟脉冲 。 =1,定时器/计数器的工作模式为计数器,计数脉冲来自于P3.4(T0)/P3.5(T1)引脚输入的计数脉冲 。,12,M1和M0 工作方式选择位,13,(1) TFx 溢出标志位 (2) TRx 运行控制位 (3) IEx 外部中断请求标志位(与定时器/计数器无关) (4) ITx 外部中断触发模式选择位(与定时器/计数器无关),5.1.4 控制寄存器TCON,控制寄存器TCON用来完成启动控制、溢出判断、中断标志等功能配置 。字节地址为88H,位寻址8FH88H。,图55 TCON的位定义,14,TFx 溢出标志位 TFx =0,

7、计数值无溢出。 TFx =1,计数值有溢出。当+1计数器的计数值达到最大值时,在下一个输入脉冲作用下产生溢出,由硬件完成TFx的置1操作,并同时申请中断。,控制寄存器TCON,15,TRx 运行控制位 TRx=0,停止定时器/计数器Tx工作(绝对控制,计数器此时停止工作) 。 TRx=1,启动定时器/计数器Tx工作(相对控制,是否计数开始还需要考虑GATE位的配置)。,16,5.2 定时器/计数器的工作方式,通过对定时器/计数器的工作方式寄存器TMOD的配置,编程M1位和M0位,可以实现定时器/计数器的工作方式选择。 51单片机的定时器/计数器具备4种工作方式,分别是方式0,方式1,方式2,方

8、式3。 现以T0为例来说明定时器/计数器的各个工作方式。,17,5.2.1 方式1,方式1为16位定时器/计数器工作方式,其16位计数器由TH0和TL0共同组成,其中TH0为高8位,TL0为低8位。,图56 方式1基本电路结构框图,18,工作模式选择 定时/计数 (计数脉冲来源),启动/停止控制电路 (启动:与门输出为1) (停止:与门输出为0),启动/停止模拟开关 (闭合:控制端为1) (打开:控制端为0),16位计数器模块 (TH0:高8位) (TL0:低8位),中断标志 (溢出: TF0=1) (正常: TF0=0),19,启动/停止控制电路,计数器模块,模拟 开关,溢出 中断,工作模式

9、选择 定时/计数 (计数脉冲来源),=0时,开关S1拨至上侧,定时模式。16位+1计数器的计数脉冲信号来自于51单片机时钟振荡器的时钟脉冲的12分频。,=1时,开关S1拨至下侧,计数模式。外部计数触发脉冲来自于单片机的引脚T0(P3.4)。,20,计数触发脉冲,启动/停止控制电路,计数器模块,溢出 中断,模拟开关 (闭合:控制端为1) (打开:控制端为0),模拟开关 当控制端电平信号为1(高电平)时,模拟开关闭合,通道导通,触发脉冲加载到计数器模块。 当控制端电平信号为0(低电平)时,模拟开关打开,通道断开,触发脉冲无法加载到计数器模块。,21,计数触发脉冲,计数器模块,模拟开关,溢出 中断,

10、启动/停止控制电路 (启动:与门输出为1) (停止:与门输出为0),TR0=0,与门输出锁定为0(低电平),模拟开关打开,停止计数,T0停止工作。 TR0=1,与门输出需考虑另一端电平(即或门输出)。,GATE=0,非门控状态。或门输出锁定为1(高电平),此时T0启/停只受TR0控制。 GATE=1,门控状态。或门输出受外部引脚P3.2(INT0)控制,仅有P3.2引脚为高电平时,或门输出为1,结合TR0,共同控制 T0的启/停。,22,计数触发脉冲,启动/停止控制电路,模拟开关,溢出 中断,16位计数器模块 (TH0:高8位) (TL0:低8位),计数器模块: 16位计数器,例如指定计数初值

11、为5000H,则计数器变化5000H5001H5002HFFFEHFFFFH0000H 在计数触发脉冲作用下,从指定的计数初值开始+1操作,每一个脉冲,进行一次+1操作。 当计数值由FFFFH0000H变化时,产生溢出,置位溢出标志位。 其中,高8位存放在TH0中,低8位存放在TL0中,组合生成16位计数值。,23,计数触发脉冲,启动/停止控制电路,计数器模块,中断标志 (溢出: TF0=1) (正常: TF0=0),计数器模块,计数触发脉冲,计数器模块,启动/停止控制电路,计数触发脉冲,计数器模块,模拟开关,中断标志模块: 当16位计数器计数值由FFFFH0000H跳变时,硬件置位TF0,标

12、明定时器/计数器T0已经发生溢出,供处理器中断查询。,24,5.2.2 方式2,方式2为自动装载初值的8位定时器/计数器工作方式 ,其8位计数器由TL0组成。而TH0作为自动重载初值备用寄存器,当溢出发生后,由硬件完成计数初值的重新赋值。,图57 方式2基本电路结构框图,与方式1的区别,25,5.2.3 方式3,方式3:只能用于设置定时器/计数器T0。 工作方式3的引入,目的在于通过该方式的设置,实现增加一个8位定时器的目的。 T0工作于方式3时, T0被设置为两个8位定时器/计数器,一个占用T0的资源,另一个在硬件上占用了T1的TR1和TF1,导致T0工作于方式3时,T1不能够使用TR1和T

13、F1,使得T1的功能弱化。,26,方式3结构框图,图58 T0方式3基本电路结构框图,定时器/计数器功能,只有定时器功能,与,27,T0工作于方式3时T1的工作状态,图59 T1工作于方式1基本电路结构框图,图510 T1工作于方式2基本电路结构框图,或,28,5.2.4 方式0,方式0为13位定时器/计数器工作方式,其13位计数器由TH0和TL0的低5位共同组成。,方式0基本电路结构框图,29,5.3 定时器/计数器的应用,定时器/计数器是所有的微处理器不可或缺的组成部件,应用广泛。 其应用方面:定时和计数。 其编程方法:查询法和中断法。 其编程过程: (1) 计算初值。 (2) 定时器/计

14、数器的初始化编程。 (3) 定时器/计数器所要完成功能的程序设计。,30,计算初值X,计算初始计数开始的值,即从哪个值开始进行+1操作,直至计数溢出或被停止。 初值:计数的最大值确定的定时时间t所需要的计数个数 或计数的最大值确定的计数值M所需要的计数个数,计数功能,定时功能,31,5.3.1 方式1的应用举例,例5-1 某51单片机应用系统,系统晶振的时钟频率采用12MHz,在P1.0引脚输出一个周期为10ms的方波信号,如图511所示。,图511,(1) 计算定时初值X,时钟频率fOSC=12MHz,12分频后为1MHz,周期为1s,定时时间5ms。,(2) 初始化定时器T1:查询方法编程

15、。 初始化TL1、TH1、TMOD、TCON,32,ORG 0000H LJMP MAIN ORG 0030H MAIN:MOV SP, #60H ;开辟堆栈空间,栈底的地址设置为60H MOV TMOD, #10H ;设置T1为工作方式1,非门控的定时器模式 MOV TCON, #00H ;设置T1相关标志位,TR1=0,TF1=0 MOV TL0, #78H ;设置定时初值低8位 MOV TH0, #0ECH ;设置定时初值高8位 SETB TR1 ;启动T1开始定时 LOOP:JBC TF1, TIME1 ;判断T1是否溢出,若TF1=0,顺序执行 ;如果TF1=1,清TF1,转移到TIME1执行 SJMP LOOP ;TF1=0,返回LOOP再继续查询 TIME1:LCALL CPLP10 ;TF1溢出位有效,调用定时处理子程序CPLP10 SJMP LOOP ;实现产生方波脉冲的循环输出 ORG 0090H ;定时处理子程序入口地址 CPLP10:MOV TL1, #78H ;重新设置定时初值低8位 MOV TH1, #0ECH ;重新设置定时初值高8位 CPL P1.0 ;取反P1.0,输出10m

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号