第6章定时器及应用举例.ppt
《第6章定时器及应用举例.ppt》由会员分享,可在线阅读,更多相关《第6章定时器及应用举例.ppt(91页珍藏版)》请在课桌文档上搜索。
1、6.1 定时器概述6.2 定时器的控制 6.3 定时器的四种模式及应用 6.4 思考题与习题,第六章 定时器及应用,6.1 定时器概述,6.1.1 89C51定时器结构6.1.2 89C51定时器功能,6.1.1 89C51定时器结构,89C51定时器的结构如 图6-1 所示。有两个16位的定时器/计数器,即定时器0(T0)和定时器1(T1)。它们实际上都是16位加1计数器。T0由两个8位特殊功能寄存器TH0和TL0构成;T1由TH1和TL1构成。,图6-1 89C51定时器结构,6.1.2 89C51定时器功能,每个定时器都可由软件设置为 定时工作方式或 计数工作方式及其他灵活多样的可控功能
2、方式。这些功能由特殊功能寄存器TMOD和TCON所控制。定时器工作不占用CPU时间,除非定时器/计数器溢出,才能中断CPU的当前操作。每个定时器/计数器还有四种工作模式。其中模式0-2对T0和T1是一样的,模式3对两者不同。,定时工作方式,定时器计数89C51片内振荡器输出经12分频后的脉冲,即每个机器周期使定时器(T0或T1)的数值加1直至计满溢出。,当89C51采用12MHz晶振时,一个机器周期为1s,计数频率为1MHz。,计数工作方式,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数。当输入脉冲信号产生由1至0的下降沿时定时器的值加1。CPU检测一个1至0的跳变需要两个机器周
3、期,故最高计数频率为振荡频率的1/24。为了确保某个电平在变化之前被采样一次,要求电平保持时间至少是一个完整的机器周期。对输入脉冲信号的基本要求如 图6-2所示。,图6-2 对输入脉冲宽度的要求,6.2 定时器的控制,6.2.1 工作模式寄存器 TMOD6.2.2 控制器寄存器 TCON,6.2.1 工作模式寄存器 TMOD,TMOD用于控制T0和T1的工作模式。TMOD不能位寻址,只能用字节设置定时器的工作模式,低半字节设置T0,高半字节设置T1。89C51系统复位时,TMOD的所有位被清0。TMOD各位的定义格式如 图6-3 所示。TMOD各位的功能:TMOD各位定义及具体的意义归纳如 图
4、6-4所示。,定时器T1,定时器T0,TMOD(89H),D7 D6 D5 D4 D3 D2 D1 D0,图6-3 工作模式寄存器TMOD的位定义,图6-4 TMOD各位定义及具体的意义,TMOD各位的功能,M1和M0操作模式控制位。两位可形成四种编码,对应于四种模式。见 表6-1。,表6-1 M1,M0控制的四种工作模式,C/T计数器/定时器方式选择位。C/T=0,设置为定时方式。定时器计数89C51片内脉冲,即对机器周期计数。C/T=1,设置为计数方式。计数器的输入来自T0(P3.4)或T1(P3.5)端的外部脉冲。,TMOD各位的功能,GATE门控位。GATE=0,只要用软件使TR0(或
5、TR1)置1就可以启动定时器,而不管INT0(或INT1)的电平是高还是低。GATE=1,只有INT0(或INT1)引脚为高电平且由软件使TR0(或TR1)置1时,才能启动定时器工作。,TMOD各位的功能,6.2.2 控制器寄存器 TCON,TCON除可字节寻址外,各位还可位寻址。89C51系统复位时,TCON的所有位被清0。TCON各位的定义格式如 图6-5所示。TCON各位的功能:TCON各位定义及具体的意义归纳如 图6-6所示。,TF1,TR1,TF0,TR0,IE1,IE0,IT1,IT0,TCON(88H),8FH 8EH 8DH 8CH 8BH 8AH 89H 88H,图6-5 控
6、制寄存器TCON的位定义,图6-6 TCON各位定义及具体的意义,TCON各位的功能,TF1(TCON.7)T1溢出标志位。当T1溢出时,由硬件自动使中断触发器TF1置1,并CPU申请中断。当CPU响应中断进入中断服务程序后,TF1由被硬件自动清0。TF1也可以用软件清0。TF0(TCON.5)T0溢出标志位。其功能和操作情况同TF1。,TR1(TCON.6)T1运行控制位。可通过软件置1(TR1=1)或清0(TR1=0)来启动或 关闭 T1。在程序中用指令“SETB TR1”使TR1位置1,定时器T1便开始计数。TR0(TCON.4)T0运行控制位。其功能和操作情况同TR1。,TCON各位的
7、功能,IE1,IT1,IE0,IT0(TCON.3TCON.0)外部中断INT1,INT0请求及请求方式控制位。前一章已经讲过。,TCON各位的功能,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 的逻辑电路结构二、模式 0 工作特点三、模式 0 的应用举例,一、模式 0 的逻辑电路结构,T0在模式 0 的逻辑电路结构如图所示。(T1相同),T0(或T1)模式0结构13位计数器,二、模式 0 工作特点,在这种模式下,16
8、位寄存器(TH0和TL0)只用了13位。其中TL0的高3位未用,其余5位为整个13位的低5为,TH0占高8位。当TL0的低5位溢出时,向TH0进位;TH0溢出时,向中断标志TF0进位(硬件置位TF0),并申请中断。定时时间为:t=(213T0初值)振荡周期12,6.3.2 模式 1 及其应用,一、模式 1 的逻辑电路结构二、模式 1 工作特点三、模式 1 的应用举例,一、模式 1 的逻辑电路结构,T0在模式 1 的逻辑电路结构如 图6-7所示。(T1相同),图6-7 T0(或T1)模式1结构16位计数器,二、模式 1 工作特点,该模式对应的是一个16位的定时器/计数器。用于定时工作方式时,定时
9、时间为:t=(216T0初值)振荡周期12用于计数工作方式时,计数长度最大为:216=65536(个外部脉冲),三、模式 1 的应用举例(例6-1),例6-1:用定时器T1产生一个50Hz的方波,由 P1.1输出。使用程序查询方式,fosc=12MHz。,三、模式 1 的应用举例(例6-1),解:方波周期T=1/50=0.02s=20ms 用T1定时10ms 计数初值X为:X=21612101000/12=6553610000=55536=D8F0H,(TH1)=D8H(TL1)=F0H,定时器T1,定时器T0,TMOD(89H),D7 D6 D5 D4 D3 D2 D1 D0,图6-3 工作
10、模式寄存器TMOD的位定义,1,0,0,0,0,0,0,0,三、模式 1 的应用举例(例6-4),源程序清单:MOV TMOD,#10H;设置T1为模式1 SETB TR1;启动定时LOOP:MOV TL1,#0D8H;送初值 MOV TH1,#0F0H JNB TF1,$;查询定时时间到否 CLR TF1;产生溢出,清标志位 CPL P1.1;取反 SJMP LOOP;重复循环,6.3.3 模式 2 及其应用,一、模式 2 的逻辑电路结构二、模式 2 工作特点三、模式 2 的应用举例,一、模式 2 的逻辑电路结构,T0在模式 2 的逻辑电路结构如 图6-8所示。(T1相同)TL0计数溢出时,
11、不仅使溢出中断标志位TF0置1,而且还自动把TH0中的内容重新装载到TL0中。TL0用作8位计数器,TH0用以保存初值。,图6-8 T0(或T1)模式2结构8位计数器,二、模式 2 工作特点,该模式把TL0(TL1)配置成一个可以自动重装载的8位定时器/计数器。,程序初始化时,TL0和TH0由软件赋予相同的初值。,用于定时工作方式时,定时时间为:t=(28TH0初值)振荡周期12,用于计数工作方式时,计数长度最大为:28=256(个外部脉冲),该模式可省去软件中重装常数的语句,并可产生相当精确的定时时间,适合于作串行口波特率发生器。,三、模式 2 的应用举例(例6-2),例6-2:当P3.4引
12、脚上的电平发生负跳变时,从P1.0输出一个500s的同步脉冲。请编程序实现该功能。查询方式,fosc=6MHz。,三、模式 2 的应用举例(例6-2),解:(1)模式选择 选T0为模式2,外部事件计数方式。当P3.4引脚上的电平发生负跳变时,T0计数器加1,溢出标志TF0置1;然后改变T0为500s定时工作方式,并使P1.0输出由1变为0。T0定时到产生溢出,使P1.0输出恢复高电平,T0又恢复外部事件计数方式。如 图6-9 所示。,图6-9 功能描述,三、模式 2 的应用举例(例6-2),(2)计算初值 T0工作在外部事件计数方式,当计数到28-1时,再加1计数器就会溢出。设计数初值为X,当
13、再出现一次外部事件时,计数器溢出。则:X+1=28 X=28 1=11111111B=0FFH T0工作在定时工作方式,设晶振频率为6MHz,500s相当于250个机器周期。因此,初值X为(28X)2s=500s X=6=06H,三、模式 2 的应用举例(例6-2),(3)程序清单START:MOV TMOD,#06H;设置T0为模式2,外部计数方式 MOV TL0,#0FFH;T0计数器初值 MOV TH0,#0FFH SETB TR0;启动T0计数 LOOP1:JBC TF0,PTFO1;查询T0溢出标志,;TF0=1时转,且清TF0=0 SJMP LOOP1;,三、模式 2 的应用举例(
14、例6-2),PTFO1:CLR TR0;停止计数 MOV TMOD,#02H;设置T0为模式2,定时方式 MOV TL0,#06H;送初值,定时500s MOV TH0,#06H CLR P1.0;P1.0清0 SETB TR0;启动定时500s LOOP2:JBC TF0,PTFO2;查询T0溢出标志,;TF0=1时转,且清TF0=0;(第一个500s到否?)SJMP LOOP2;等待中断,虚拟主程序 PTFO2:SETB P1.0;P1.0置1 CLR TR0;停止计数 SJMP START,三、模式 2 的应用举例(例6-3),例6-3:利用定时器T1的模式2对外部信号计数。要求每计满1
15、00次,将 P1.0端取反。,三、模式 2 的应用举例(例6-3),解:(1)选择模式 外部信号由T1(P3.5)引脚输入,每发生一次负跳变计数器加1,每输入100个脉冲,计数器发生溢出中断,中断服务程序将P1.0取反一次。T1计数工作方式模式2的模式字为(TMOD)=60H。T0不用时,TMOD的低4位可任取,但不能进入模式3,一般取0。,三、模式 2 的应用举例(例6-3),(2)计算T1的计数初值 X=28 100=156=9CH 因此:TL1的初值为9CH,重装初值寄存器TH1=9CH。,三、模式 2 的应用举例(例6-3),(3)程序清单 MAIN:MOV TMOD,#60H;设置T
16、1为模式2,外部计数方式 MOV TL1,#9CH;T1计数器初值 MOV TH1,#9CH MOV IE,#88H;定时器开中断 SETB TR1;启动T1计数 HERE:SJMP HERE;等待中断 ORG 001BH;中断服务程序入口 CPL P1.0 RETI,6.3.4 模式 3 及其应用,一、模式 3 的逻辑电路结构二、模式 3 的应用举例,一、模式 3 的逻辑电路结构,工作模式3对T0和T1大不相同。1、T0模式3的逻辑电路结构2、T0模式3下T1的逻辑电路结构,1、T0模式3的逻辑电路结构,T0模式3的逻辑电路结构如 图6-10所示。T0设置为模式3,TL0和TH0被分成两个相
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 定时器 应用 举例

链接地址:https://www.desk33.com/p-750199.html