定时器及应用课件

上传人:我*** 文档编号:141605070 上传时间:2020-08-10 格式:PPT 页数:49 大小:943.50KB
返回 下载 相关 举报
定时器及应用课件_第1页
第1页 / 共49页
定时器及应用课件_第2页
第2页 / 共49页
定时器及应用课件_第3页
第3页 / 共49页
定时器及应用课件_第4页
第4页 / 共49页
定时器及应用课件_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《定时器及应用课件》由会员分享,可在线阅读,更多相关《定时器及应用课件(49页珍藏版)》请在金锄头文库上搜索。

1、,6.1 定时器概述 6.2 定时器的控制 6.3 定时器的四种模式及应用,第六章 定时器及应用,6.1 定时器概述,6.1.1 80c51定时器结构 6.1.2 80c51定时器功能,6.1.1 80c51定时器结构,80c51定时器的结构如 图6-1 所示。 有两个16位的定时器/计数器,即定时器0(T0)和定时器1(T1)。都是16位加1计数器。 T0由两个8位特殊功能寄存器TH0和TL0构成;T1由TH1和TL1构成。,6.1.2 80c51定时器功能,每个定时器都可由软件设置定时工作方式或计数工作方式。由特殊功能寄存器TMOD和TCON所控制。 定时器/计数器有四种工作模式。其中模式

2、0-2对T0和T1是一样的,模式3对两者不同。 定时器工作不占用CPU时间,除非定时器/计数器溢出,才能中断CPU的当前操作。,定时工作方式,定时器计数80c51片内振荡器输出经12分频后的脉冲,即每个机器周期使定时器(T0或T1)的数值加1直至计满溢出。,当80c51采用12MHz晶振时,一个机器周期为1s,计数频率为1MHz。,计数工作方式,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数。当输入脉冲信号产生由1至0的下降沿时计数器的值加1。 CPU检测一个1至0的跳变需要两个机器周期,故最高计数频率为振荡频率的1/24,即计数频率的1/2。 为了确保某个电平在变化之前被采样一

3、次,要求电平保持时间至少是一个完整的机器周期。,6.2 定时器的控制,6.2.1 工作模式寄存器 TMOD 6.2.2 控制器寄存器 TCON,6.2.1 工作模式寄存器 TMOD,TMOD用于控制T0和T1的工作模式。 TMOD不能位寻址,只能用字节设置定时器的工作模式,低半字节设置T0,高半字节设置T1。 80c51系统复位时,TMOD的所有位被清0。,图6-3 工作模式寄存器TMOD的位定义,定时器T1,定时器T0,TMOD (89H),D7 D6 D5 D4 D3 D2 D1 D0,GATE,C/ T,M1 M0,GATE,C/ T,M1 M0, M1和M0操作模式控制位。 两位可形成

4、四种编码,对应于四种模式。,表6-1 M1,M0控制的四种工作模式, C/T计数器/定时器方式选择位。 C/T=0,设置为定时方式。定时器计数80c51片内脉冲,即对机器周期计数。 C/T=1,设置为计数方式。计数器的输入来自引脚T0(P3.4)或T1(P3.5)端的外部脉冲 。, GATE门控位。 GATE=0,只要用软件使TR0(或TR1)置1就可以启动定时器,而不管INT0(或INT1)的电平是高还是低。 GATE=1,只有INT0(或INT1)引脚为高电平且由软件使TR0(或TR1)置1时,才能启动定时器工作。,6.2.2 控制器寄存器 TCON,TCON除可字节寻址外,各位还可位寻址

5、。 80c51系统复位时,TCON的所有位被清0。,图6-5 控制寄存器TCON的位定义,TF1,TR1,TF0,TR0,IE1 IT1 IE0 IT0,TCON (88H),8FH 8EH 8DH 8CH 8BH 8AH 89H 88H,1 TF1/TF0(TCON.7/ TCON.5) T1/T0溢出标志位。 当T1/T0溢出时,由硬件自动使中断触发器TF1/TF0置1,并向CPU申请中断。 当CPU响应中断进入中断服务程序后,TF1/TF0被硬件自动清0。TF1/TF0也可以用软件清0。 2 TR1/TR0(TCON.6/TCON.5)T1/T0运行控制位。 可通过软件置1(TR1/TR

6、0=1)或清0(TR1/TR0=0)来启动或 关闭 T1/T0工作。 在程序中用指令“SETB TR1/TR0”使TR1/TR0位置1,定时器T1/T0便开始计数。用“CLR TR1/TR0”使TR1/TR0清0,定时器停止工作。,6.3 定时器的四种模式及应用,6.3.1 模式 0 及其应用 6.3.2 模式 1 及其应用 6.3.3 模式 2 及其应用 6.3.4 模式 3 及其应用 6.3.5 综合应用举例,6.3.1 模式 0 及其应用,一、模式 0 的逻辑电路结构,C/T=0/1,选择计数脉冲来源内部或外部。 GATE=0,经过非门为高,再或门为高;定时开启或关闭由TRX=1/0决定

7、与门逻辑。 GATE=1, 定时开启或关闭由TRX和INTX决定与门输出逻辑。,fosc,二、模式 0 工作特点,在这种模式下,16位寄存器(TH0和TL0)只用了13位。其中TL0的高3位未用,其余5位为整个13位的低5为,TH0占高8位。当TL0的低5位溢出时,向TH0进位;TH0溢出时,向中断标志TF0进位(硬件置位TF0),并申请中断。计数外部脉冲个数:18192(213),定时时间为: t=(213T0初值)振荡周期12 用于计数工作方式时,计数长度为: L=(213T0初值)(个外部脉冲),三、模式 0 的应用举例,例6-1:设晶振为12MHz,试计算定时器T0工作于模式0时的最大

8、定时时间T。 解:当T0处于工作模式0时,加1计数器为13位。 因为:定时时间为: t=(213T0初值)振荡周期12 最大定时时间为“T0初值=0”时。 所以:,例6-2:利用T0的工作模式0产生定时,在P1.0引脚输出周期为10ms的方波。设晶振频率fosc=12MHz。编程实现其功能(分别采用查询方式和中断方式)。,解: 要在P1.0引脚输出周期为10ms的方波,只要使P1.0每隔5ms取反一次即可。 (1)选择工作模式 T0的模式字为TMOD=00H, 即: M1M0=00,C/T=0,GATE=0,其余位为0。,(2)计算5ms定时T0的初值 T = (213T0初值)(1/12)1

9、0-612 = 510-3 s T0初值 = 3192 D = C78 H = 01100011 11000 B T0的低5位:11000 B=18H 即 (TL0)=18H T0的高8位:01100011 B=63H 即 (TH0)=63H,(3)采用查询方式的程序 程序清单: ORG 0000H LJMPMAIN ;初始化引导程序 ORG0080H MAIN:MOV TMOD,#00H ;设置T0为模式0 MOV TL0,#18H ;送初值 MOV TH0,#63H SETBP1.0 SETB TR0 ;启动定时 LP:JBC TF0,NEXT ;查询定时时间到否 SJMP LP NEXT

10、:MOV TL0,#18H ;重装计数初值 MOV TH0,#63H CPL P1.0 ;取反 SJMP LP ;重复循环,(4)采用定时器溢出中断方式的程序 ORG 0000H ; 主程序 RESET: AJMP MAIN ; 跳过中断服务程序区 ORG 000BH;定时器T0中断矢量 AJMP CTC0;转入中断服务程序 ORG 0030H MAIN:MOV TMOD,#00H;设置T0为模式0 MOV TL0,#18H ;送初值 MOV TH0,#63H SETB EA ;CPU开中断 SETB ET0 ;T0中断允许 SETB TR0 ;启动定时 HERE:SJMP HERE ;等待中

11、断 ORG 0120H ;中断服务程序 CTC0: MOV TL0,#18H ;重新装入初值 MOV TH0,#63H CPL P1.0 ;P1.0取反 RETI;中断返回,模式 0 的应用举例完,6.3.2 模式 1 及其应用,一、模式 1 的逻辑电路结构:,THx8位和TLx8位组成16位加1计数器。 计数外部脉冲个数:165536(216),二、模式 1 工作特点,该模式对应的是一个16位的定时器/计数器。,用于定时工作方式时,定时时间为: t=(216T0初值)振荡周期12 用于计数工作方式时,计数长度为: (216T0初值)(个外部脉冲),三、模式 1 的应用举例,例6-3:设定时器

12、T0选择工作模式1的计数器工作方式,其计数器初值为FFFFH,问此时定时器T0的实际用途是什么? 解:因其初值为FFFFH,只要随机外来一脉冲即可溢出,向CPU申请中断,故这一内部中断源实质上已作为外部中断源使用。因此此定时器T0并不用于定时或计数。,例6-4:设晶振为12MHz,试计算定时器T0工作于模式1时的最大定时时间T。 解:当T0处于工作模式1时,加1计数器为16位。 定时时间为: t=(216T0初值)振荡周期12 最大定时时间为“T0初值=0”时。 所以:,例6-5:用定时器T1产生一个50Hz的方波,由 P1.1输出。使用程序查询方式,fosc=6MHz。,解:1)确定定时器T

13、1初值 方波周期 T = 1/50 = 0.02s = 20ms 用T1定时10ms,时间到P1.1引脚电平取反。,(TH1)=ECH,(TL1)=78H,解:2)确定工作模式寄存器TMOD的值 定时器T1工作于模式1的定时器工作方式, 高四位: GATE=0,C/T=0,M1M0=01 ,低四位:取0。 (TMOD)=0001 0000 B = 10H,3)编程 ORG 0000H LJMP START ORG 0080H START:MOV TMOD,#10H ;T1为模式1 MOV TL1,#78H ;送初值 MOV TH1,#0ECH SETB P1.1 ;P1.1置1 SETB TR

14、1 ;启动定时 LOOP: JNB TF1,LOOP ;查询定时时间到否 CLR TF1 ;产生溢出,清标志位 MOV TL1,#78H ;重新置初值 MOV TH1,#0ECH CPL P1.1 ;取反 SJMP LOOP ;重复循环,模式 1 的应用举例完,6.3.3 模式 2 及其应用,一、模式 2 的逻辑电路结构 二、模式 2 工作特点 三、模式 2 的应用举例,自动恢复初值8位定时/计数器,TLx为8位加1计数器,THx为8位初值暂存器。 TL0计数溢出时,不仅使溢出中断标志位TF0置1,而且还自动把TH0中的内容重新装载到TL0中。 用于需要重复定时和计数的场合,最大计数值:256

15、 (28),一、模式 2 的逻辑电路结构,二、模式 2 工作特点,该模式把TL0(TL1)配置成一个可以自动重装载的8位定时器/计数器。,在程序初始化时,TL0和TH0由软件赋予相同的初值。,用于定时工作方式时,定时时间为: t=(28TL0初值)振荡周期12,用于计数工作方式时,计数长度为: (28TL0初值) (个外部脉冲),该模式可省去软件中重装常数的语句,并可产生相当精确的定时时间,适合于作串行口波特率发生器。,三、模式 2 的应用举例,例6-6:当P3.4引脚(定时器T0的外部计数输入端)上的电平发生负跳变时, 从P1.0输出一个500s的同步脉冲。用查询方式编程实现该功能,fosc=6MHz。,(1)确定TMOD值 门控位GATE=0,高四位取0,选T0为模式2(M1M0=10), 首先为计数器工作方式(C/T=1):(TMOD)=0000 0110B=06H 当P3.4引脚上的电平发生负跳变时,T0计数器加1,溢出标志TF0置1; 然后改变T0为500s定时工作方式(C/T=0):(TMOD)=02H 当上面TF0=1时使P1.0输出由1变为0。开始T0定时,到500s产生溢出,使P1.0输出恢复高电平,T0又恢复外部事件计数方式。,(2)计算T0初值 T0工作在外部事件计数方式: 题目要求T0引脚出现一次外部事件时,引起T0中断。 所以:设

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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