版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、6.1 6.1 定时器概述定时器概述6.2 6.2 定时器的控制定时器的控制 6.3 6.3 定时器的四种模式及应用定时器的四种模式及应用 6.4 6.4 思考题与习题思考题与习题第六章第六章 定时器及应用定时器及应用6.1 6.1 定时器概述定时器概述6.1.1 80516.1.1 8051定时器结构定时器结构6.1.2 80516.1.2 8051定时器功能定时器功能6.1.1 80516.1.1 8051定时器结构定时器结构l80518051定时器的结构如定时器的结构如 图图6-1 6-1 所示。所示。l有两个有两个1616位的定时器位的定时器/ /计数器,即定时器计数器,即定时器0 0
2、(T0T0)和定时器)和定时器1 1(T1T1)。它们实际上都)。它们实际上都是是1616位加位加1 1计数器。计数器。lT0T0由两个由两个8 8位特殊功能寄存器位特殊功能寄存器TH0TH0和和TL0TL0构构成;成;T1T1由由TH1TH1和和TL1TL1构成。构成。图图6-1 89C51定时器结构定时器结构6.1.2 80516.1.2 8051定时器功能定时器功能l 每个定时器都可由软件设置为每个定时器都可由软件设置为 定时工作方式定时工作方式或或 计数工作方式计数工作方式及其他灵活多样的可控功能方式。及其他灵活多样的可控功能方式。这些功能由特殊功能寄存器这些功能由特殊功能寄存器TMO
3、DTMOD和和TCONTCON所控制。所控制。l 定时器工作不占用定时器工作不占用CPUCPU时间,除非定时器时间,除非定时器/ /计数计数器溢出,才能中断器溢出,才能中断CPUCPU的当前操作。的当前操作。l 每个定时器每个定时器/ /计数器还有四种工作模式。其中模计数器还有四种工作模式。其中模式式0-20-2对对T0T0和和T1T1是一样的,模式是一样的,模式3 3对两者不同。对两者不同。定时工作方式定时工作方式定时器计数定时器计数80518051片内振荡器输出经片内振荡器输出经1212分分频后的脉冲,即每个机器周期使定时器(频后的脉冲,即每个机器周期使定时器(T0T0或或T1T1)的数值
4、加)的数值加1 1直至计满溢出。直至计满溢出。当当8051采用采用12MHz晶振时,一个机器周晶振时,一个机器周期为期为1s,计数频率为,计数频率为1MHz。计数工作方式计数工作方式l 通过引脚通过引脚T0(P3.4)和)和T1(P3.5)对外部脉冲信)对外部脉冲信号计数。当输入脉冲信号产生由号计数。当输入脉冲信号产生由1至至0的下降沿时的下降沿时定时器的值加定时器的值加1。l CPU检测一个检测一个1至至0的跳变需要两个机器周期,故的跳变需要两个机器周期,故最高计数频率为振荡频率的最高计数频率为振荡频率的1/24。l 为了确保某个电平在变化之前被采样一次,要求电为了确保某个电平在变化之前被采
5、样一次,要求电平保持时间至少是一个完整的机器周期。平保持时间至少是一个完整的机器周期。l 对输入脉冲信号的基本要求如对输入脉冲信号的基本要求如 图图6-2所示。所示。图图6-2 对输入脉冲宽度的要求对输入脉冲宽度的要求6.2 6.2 定时器的控制定时器的控制 l6.2.1 6.2.1 工作模式寄存器工作模式寄存器 TMODTMODl6.2.2 6.2.2 控制器寄存器控制器寄存器 TCONTCON6.2.1 6.2.1 工作模式寄存器工作模式寄存器 TMODTMODl TMODTMOD用于控制用于控制T0T0和和T1T1的工作模式。的工作模式。l TMODTMOD不能位寻址,只能用字节设置定时
6、器的工作模不能位寻址,只能用字节设置定时器的工作模式,低半字节设置式,低半字节设置T0T0,高半字节设置,高半字节设置T1T1。l 80518051系统复位时,系统复位时,TMODTMOD的所有位被清的所有位被清0 0。l TMODTMOD各位的定义格式如各位的定义格式如 图图6-3 6-3 所示。所示。l TMODTMOD各位的功能:各位的功能:l TMODTMOD各位定义及具体的意义归纳如各位定义及具体的意义归纳如 图图6-46-4所示所示。GATE C/ T M1 M0 GATEM1C/ TM0定时器定时器T1定时器定时器T0TMOD(89H) D7 D6 D5 D4 D3 D2 D1
7、D0图图6-3 工作模式寄存器工作模式寄存器TMOD的位定义的位定义图图6-4 TMOD各位定义及具体的意义各位定义及具体的意义TMOD各位的功能各位的功能 M1M1和和M0M0操作模式控制位。操作模式控制位。 两位可形成四种编码,对应于四种模式。两位可形成四种编码,对应于四种模式。见见 表表6-16-1。表表6-1 M1,M0控制的四种工作模式控制的四种工作模式M1 M0工工作作模模式式功功能能描描述述0 0模模式式 013 位位计计数数器器0 1模模式式 116 位位计计数数器器1 0模模式式 2自自动动再再装装入入 8 位位计计数数器器1 1模模式式 3定定时时器器 0:分分成成二二个个
8、 8 位位计计数数器器 定定时时器器 1:停停止止计计数数 C/T C/T计数器计数器/ /定时器方式选择位。定时器方式选择位。 C/T=0C/T=0,设置为,设置为定时方式定时方式。定时器计数。定时器计数80518051片内脉冲,即对机器周期计片内脉冲,即对机器周期计数。数。 C/T=1C/T=1,设置为,设置为计数方式计数方式。计数器的输入。计数器的输入来自来自T0T0(P3.4P3.4)或)或T1T1(P3.5P3.5)端)端的外部脉冲的外部脉冲 。 TMOD各位的功能各位的功能 GATE GATE门控位。门控位。 GATE=0GATE=0,只要用软件使只要用软件使TR0TR0(或(或T
9、R1TR1)置)置1 1就可以就可以启动定时器,而不管启动定时器,而不管INT0INT0(或(或INT1INT1)的)的电平是高还是低。电平是高还是低。 GATE=1GATE=1,只有只有INT0INT0(或(或INT1INT1)引脚为高电平且由)引脚为高电平且由软件使软件使TR0TR0(或(或TR1TR1)置)置1 1时,才能启动时,才能启动定时器工作。定时器工作。TMOD各位的功能各位的功能6.2.2 控制器寄存器控制器寄存器 TCONl TCONTCON除可字节寻址外,各位还可位寻址除可字节寻址外,各位还可位寻址。l 80518051系统复位时,系统复位时,TCONTCON的所有位被清的
10、所有位被清0 0。 l TCONTCON各位的定义格式如各位的定义格式如 图图6-56-5所示。所示。l TCONTCON各位的功能:各位的功能:l TCONTCON各位定义及具体的意义归纳如各位定义及具体的意义归纳如 图图6-66-6所示。所示。TF1 TR1 TF0 TR0 IE1IE0IT1IT0TCON(88H) 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H图图6-5 控制寄存器控制寄存器TCON的位定义的位定义图图6-6 TCON各位定义及具体的意义各位定义及具体的意义TCON各位的功能各位的功能 TF1 TF1(TCON.7) TCON.7) T1T1溢出标志位。
11、溢出标志位。 当当T1T1溢出溢出时,由硬件自动使中断触发器时,由硬件自动使中断触发器TF1TF1置置1 1,并,并CPUCPU申请中断。申请中断。 当当CPUCPU响应中断进入中断服务程序后响应中断进入中断服务程序后,TF1TF1由被硬件由被硬件自动清自动清0 0。TF1TF1也可以用也可以用软件清软件清0 0。 TF0 TF0 (TCON.5)TCON.5)T0T0溢出标志位。溢出标志位。 其功能和操作情况同其功能和操作情况同TF1TF1。 TR1(TCON.6) TR1(TCON.6)T1T1运行控制位。运行控制位。 可通过软件置可通过软件置1 1(TR1=1TR1=1)或清)或清0 0
12、(TR1=0TR1=0)来)来启启动动或或 关闭关闭 T1T1。 在程序中用指令在程序中用指令“SETB TR1SETB TR1”使使TR1TR1位置位置1 1,定时器定时器T1T1便开始计数。便开始计数。 TR0(TCON.4) TR0(TCON.4)T0T0运行控制位。运行控制位。 其功能和操作情况同其功能和操作情况同TR1TR1。TCON各位的功能各位的功能 IE1IE1,IT1IT1,IE0IE0,IT0(TCON.3IT0(TCON.3TCON.0)TCON.0)外部中断外部中断INT1INT1,INT0INT0请求及请求方式控制请求及请求方式控制位。前一章已经讲过。位。前一章已经讲
13、过。TCON各位的功能各位的功能6.3 定时器的四种模式及应用定时器的四种模式及应用 l6.3.16.3.1 模式模式 0 0 及其应用及其应用l6.3.26.3.2 模式模式 1 1 及其应用及其应用l6.3.36.3.3 模式模式 2 2 及其应用及其应用l6.3.46.3.4 模式模式 3 3 及其应用及其应用l6.3.56.3.5 综合应用举例综合应用举例6.3.1 模式模式 0 及其应用及其应用一、模式一、模式 0 0 工作特点工作特点二、模式二、模式 0 0 的应用举例的应用举例一、模式一、模式 0 工作特点工作特点l在这种模式下,在这种模式下,1616位寄存器(位寄存器(TH0T
14、H0和和TL0TL0)只)只用了用了1313位。其中位。其中TL0TL0的高的高3 3位未用,其余位未用,其余5 5位位为整个为整个1313位的低位的低5 5为,为,TH0TH0占高占高8 8位。当位。当TL0TL0的的低低5 5位溢出时,向位溢出时,向TH0TH0进位;进位;TH0TH0溢出时,向溢出时,向中断标志中断标志TF0TF0进位(硬件置位进位(硬件置位TF0TF0),并申请),并申请中断。中断。l定时时间为:定时时间为: t=(2t=(21313T0T0初值初值) )振荡周期振荡周期1212三、模式三、模式 0 的应用举例的应用举例( (例例6-1)6-1)l例例6-16-1:设定
15、时器:设定时器T0T0选择工作模式选择工作模式0 0,定时时间为定时时间为1ms1ms,foscfosc=6MHz=6MHz。试确。试确定定T0T0初值,计算最大定时时间初值,计算最大定时时间T T。三、模式三、模式 0 的应用举例的应用举例( (例例6-1)6-1)解:解:当当T0处于工作模式处于工作模式0时,加时,加1计数器为计数器为13位。位。(1)试确定试确定T0T0初值初值 设设T0的初值位的初值位X。则:则:(213X)1/6 10-612=110-3 s X=7692D =1 1110 0000 1100B T0的低的低5位:位:01100B=0CH即即(TL0)=0CH T0的
16、高的高8位:位:11110000B=F0H即即(TH0)=F0H(2)计算最大定时时间计算最大定时时间T T T0的最大定时时间对应于的最大定时时间对应于13位计数器位计数器T0的各位全为的各位全为1,即即(TL0)=1FH,(TH0)=FFH.则:则:T=2131/6 10-612=16.384ms三、模式三、模式 0 的应用举例的应用举例( (例例6-2)6-2)例例6-26-2:设:设T0T0工作在模式工作在模式0 0,定时时间,定时时间为为1ms1ms,foscfosc=6MHz=6MHz。编程实现其定。编程实现其定时功能。定时时间到,时功能。定时时间到,P1.0P1.0取反。取反。
17、三、模式三、模式 0 的应用举例的应用举例( (例例6-2)6-2)解:解:(1)计算)计算T0初值初值X 计算步骤见例计算步骤见例6-1。 结果:结果:(TH0)=0F0H,(TL0)=0CH。三、模式三、模式 0 的应用举例的应用举例( (例例6-2)6-2)(2)程序清单:)程序清单: 初始化引导程序初始化引导程序 ORG 0000HRESET: AJMP MAIN ; 跳过中断服务程序区跳过中断服务程序区 ORG 000BH ;中断服务程序入口;中断服务程序入口 AJMP ITOP三、模式三、模式 0 的应用举例的应用举例( (例例6-2)6-2)主程序:主程序: ORG 0100H
18、MAIN: MOV TMOD,#00H;选择工作模式;选择工作模式 MOV TL0,#0CH;送初值;送初值 MOV TH0,#0F0H SETB TR0 ;启动定时;启动定时 SETB ET0 ;T0开中断开中断 SETB EA ;CPU开中断开中断 HERE: AJMP HERE ;三、模式三、模式 0 的应用举例的应用举例( (例例6-2)6-2)中断服务程序中断服务程序 ORG 0120H ITOP: MOV TL0,#0CH ;重新装如初值;重新装如初值 MOV TH0,#0F0H CPL P1.0 ;P1.0取反取反 RETI三、模式三、模式 0 的应用举例的应用举例( (例例6-
19、3)6-3)例例6-36-3:利用:利用T0T0的工作模式的工作模式0 0产生产生1ms1ms定时,在定时,在P1.0P1.0引脚输出周期为引脚输出周期为2ms2ms的方波。设单片机晶振频率的方波。设单片机晶振频率foscfosc=12MHz=12MHz。编程实现其功能。编程实现其功能。三、模式三、模式 0 的应用举例的应用举例( (例例6-3)6-3)解:解: 要在要在P1.0引脚输出周期为引脚输出周期为2ms的方波,只要使的方波,只要使P1.0每隔每隔1ms取反一次即可。取反一次即可。 (1)选择工作模式)选择工作模式 T0的模式字为的模式字为TMOD=00H,即,即 M1M0=00,C/
20、T=0,GATE=0,其余位为,其余位为0。三、模式三、模式 0 的应用举例的应用举例( (例例6-3)6-3)(2)计算)计算1ms定时时定时时T0的初值的初值 (213X)1/12 10-612=110-3 s X=7193D=11100000 11000B T0的低的低5位:位:11000B=18H即即 (TL0)=18H T0的高的高8位:位:11100000B=E0H即即 (TH0)=E0H 三、模式三、模式 0 的应用举例的应用举例( (例例6-3)6-3)(3)采用查询方式的程序)采用查询方式的程序程序清单:程序清单: MOV TMOD,#00H ;设置;设置T0为模式为模式0
21、MOV TL0,#18H ;送初值;送初值 MOV TH0,#0E0H SETB TR0 ;启动定时;启动定时 LOOP:JBC TF0,NEXT ;查询定时时间到否;查询定时时间到否 SJMP LOOP NEXT:MOV TL0,#18H ;重装计数初值;重装计数初值 MOV TH0,#0E0H CPL P1.0 ;取反;取反 SJMP LOOP ;重复循环;重复循环三、模式三、模式 0 的应用举例的应用举例( (例例6-3)6-3)(4)采用定时器溢出中断方式的程序)采用定时器溢出中断方式的程序程序清单:程序清单: 主程序主程序 ORG 0000H RESET: AJMP MAIN ; 跳
22、过中断服务程序区跳过中断服务程序区 ORG 0030H MAIN: MOV TMOD,#00H ;设置;设置T0为模式为模式0 MOV TL0,#18H ;送初值;送初值 MOV TH0,#0E0H SETB EA ;CPU开中断开中断 SETB ET0 ;T0中断允许中断允许 SETB TR0 ;启动定时;启动定时 HERE:SJMP HERE ;等待中断,虚拟主程序;等待中断,虚拟主程序三、模式三、模式 0 的应用举例的应用举例( (例例6-3)6-3)中断服务程序中断服务程序 ORG 000BH AJMP CTC0 ORG 0120H CTC0: MOV TL0,#18H ;重新装如初值
23、;重新装如初值 MOV TH0,#0E0H CPL P1.0 ;P1.0取反取反 RETI6.3.2 模式模式 1 及其应用及其应用一、模式一、模式 1 1 的逻辑电路结构的逻辑电路结构二、模式二、模式 1 1 工作特点工作特点三、模式三、模式 1 1 的应用举例的应用举例二、模式二、模式 1 工作特点工作特点l该模式对应的是一个该模式对应的是一个1616位的定时器位的定时器/ /计数计数器器。l用于定时工作方式时,定时时间为:用于定时工作方式时,定时时间为: t=(2t=(21616T0T0初值初值) )振荡周期振荡周期1212l用于计数工作方式时,计数长度最大为:用于计数工作方式时,计数长
24、度最大为: 2 21616=65536=65536(个外部脉冲)(个外部脉冲)三、模式三、模式 1 的应用举例的应用举例(例(例6-46-4)l例例6-46-4:用定时器:用定时器T1T1产生一个产生一个50Hz50Hz的方波,由的方波,由 P1.1P1.1输出。,使用程输出。,使用程序查询方式,序查询方式,foscfosc=6MHz=6MHz。三、模式三、模式 1 的应用举例的应用举例(例(例6-46-4)解:解: 方波周期方波周期T=1/50=0.02s =20msT=1/50=0.02s =20ms 用用T1T1定时定时10ms10ms 计数初值计数初值X X为:为: X=X=2 216
25、16121210101000/121000/12 =65536 =6553610000=55536=D8F0H10000=55536=D8F0H三、模式三、模式 1 的应用举例的应用举例(例(例6-46-4)源程序清单:源程序清单: MOV TMOD,#10H ;设置;设置T1为模式为模式1 SETB TR1 ;启动定时;启动定时LOOP: MOV TL1,#0D8H ;送初值;送初值 MOV TH1,#0F0H JNB TF1,$ ;查询定时时间到否;查询定时时间到否 CLR TF1 ;产生溢出,清标志位产生溢出,清标志位 CPL P1.1 ;取反;取反 SJMP LOOP ;重复循环;重复
26、循环6.3.3 模式模式 2 及其应用及其应用一、模式一、模式 2 2 的逻辑电路结构的逻辑电路结构二、模式二、模式 2 2 工作特点工作特点三、模式三、模式 2 2 的应用举例的应用举例一、模式一、模式 2 的逻辑电路结构的逻辑电路结构l T0T0在模式在模式 2 2 的逻辑电路结构如的逻辑电路结构如 图图6-86-8所示。(所示。(T1T1相同)相同)l TL0TL0计数溢出时,不仅使溢出中断标志位计数溢出时,不仅使溢出中断标志位TF0TF0置置1 1,而且还自,而且还自动把动把TH0TH0中的内容重新装载到中的内容重新装载到TL0TL0中。中。l TL0TL0用作用作8 8位计数器,位计
27、数器,TH0TH0用以保存初值。用以保存初值。图图6-8 T0(或(或T1)模式)模式2结构结构8位计数器位计数器二、模式二、模式 2 工作特点工作特点l 该模式把该模式把TL0(TL1)TL0(TL1)配置成一个可以自动重装载的配置成一个可以自动重装载的8 8位定时器位定时器/ /计数器。计数器。l 在程序初始化时,在程序初始化时,TL0TL0和和TH0TH0由软件赋予相同的初值。由软件赋予相同的初值。l 用于定时工作方式时,定时时间为:用于定时工作方式时,定时时间为:t=(2t=(28 8TH0TH0初值初值) )振荡周期振荡周期1212l 用于计数工作方式时,计数长度最大为:用于计数工作
28、方式时,计数长度最大为:2 28 8=256=256(个外部脉冲)(个外部脉冲)l 该模式可省去软件中重装常数的语句,并可产生相该模式可省去软件中重装常数的语句,并可产生相当精确的定时时间,适合于作串行口波特率发生器。当精确的定时时间,适合于作串行口波特率发生器。三、模式三、模式 2 的应用举例的应用举例(例(例6-56-5)l例例6-56-5:当:当P3.4P3.4引脚上的电平发生引脚上的电平发生负跳变时,负跳变时, 从从P1.0P1.0输出输出一个一个500s500s的同步脉冲。请编的同步脉冲。请编程序实现程序实现该功能。查询方式,该功能。查询方式,foscfosc=6MHz=6MHz。三
29、、模式三、模式 2 的应用举例的应用举例(例(例6-56-5)解:解:(1 1)模式选择)模式选择 选选T0T0为模式为模式2 2,外部事件计数方式。,外部事件计数方式。 当当P3.4P3.4引脚上的电平发生负跳变时,引脚上的电平发生负跳变时,T0T0计数器加计数器加1 1,溢出标,溢出标志志TF0TF0置置1 1;然后改变;然后改变T0T0为为500s500s定时工作方式,并使定时工作方式,并使P1.0P1.0输出由输出由1 1变为变为0 0。T0T0定时到产生溢出,使定时到产生溢出,使P1.0P1.0输出恢复高电输出恢复高电平,平,T0T0又恢复外部事件计数方式。又恢复外部事件计数方式。
30、如如 图图6-6-9 9 所示。所示。图图6-9 功能描述功能描述三、模式三、模式 2 的应用举例的应用举例(例(例6-56-5)(2 2)计算初值)计算初值l T0工作在外部事件计数方式工作在外部事件计数方式,当计数到,当计数到28时,再时,再加加1计数器就会溢出。设计数初值为计数器就会溢出。设计数初值为X,当再出现,当再出现一次外部事件时,计数器溢出。一次外部事件时,计数器溢出。 则则: X+1=28 X= 28 1=11111111B=0FFHl T0工作在定时工作方式工作在定时工作方式,设晶振频率为,设晶振频率为6MHz,500s相当于相当于250个机器周期。因此,初值个机器周期。因此
31、,初值X为为 (28X)2s=500s X=6=06H三、模式三、模式 2 的应用举例的应用举例(例(例6-56-5)(3 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 的应用举例的应用举例(例(例6-56-5) PTFO1:
32、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 T
33、R0 ;停止计数;停止计数 SJMP START三、模式三、模式 2 的应用举例的应用举例(例(例6-66-6)l例例6-66-6:利用定时器:利用定时器T1T1的模式的模式2 2对外对外部信号计数。要求没计满部信号计数。要求没计满100100次,次,将将 P1.0P1.0端取反。端取反。三、模式三、模式 2 的应用举例的应用举例(例(例6-66-6)解:解:(1)选择模式)选择模式 外部信号由外部信号由T1(P3.5)引脚输入,每发生一次负)引脚输入,每发生一次负跳变计数器加跳变计数器加1,每输入,每输入100个脉冲,计数器发生个脉冲,计数器发生溢出中断,中断服务程序将溢出中断,中断服务程序
34、将P1.0取反一次。取反一次。l T1计数工作方式模式计数工作方式模式2的模式字为的模式字为(TMOD)=60H。 T0不用时,不用时,TMOD的低的低4位可任取,但不能进入模位可任取,但不能进入模式式3,一般取,一般取0。三、模式三、模式 2 的应用举例的应用举例(例(例6-66-6)(2)计算)计算T1的计数初值的计数初值 X= 2X= 28 8 100=156=9CH100=156=9CH 因此因此:TL1:TL1的初值为的初值为9CH9CH, 重装初值寄存器重装初值寄存器TH1=9CHTH1=9CH。三、模式三、模式 2 的应用举例的应用举例(例(例6-66-6)(3)程序清单)程序清
35、单 MAIN: MOV TMOD,#60H ;设置;设置T1为模式为模式2,外部计数方式外部计数方式 MOV TL1,#9CH ;T1计数器初值计数器初值 MOV TH1,#9CH MOV IE,#88H ; 定时器开中断定时器开中断 SETB TR1 ;启动;启动T1计数计数 HERE:SJMP HERE ;等待中断;等待中断 ORG 001BH ;中断服务程序入口;中断服务程序入口 CPL P1.0 RETI6.3.4 模式模式 3 及其应用及其应用一、模式一、模式 3 3 的逻辑电路结构的逻辑电路结构二、模式二、模式 3 3 的应用举例的应用举例1、T0模式3的逻辑电路结构l T0T0设
36、置为模式设置为模式3 3,TL0TL0和和TH0TH0被分成两个相互独立的被分成两个相互独立的8 8位计数器。位计数器。l TL0TL0用原用原T0T0的各控制位、引脚和中断源,即的各控制位、引脚和中断源,即C/TC/T,GATEGATE,TR0TR0,TF0TF0,T0T0(P3.4P3.4)引脚,)引脚,INT0INT0(P3.2P3.2)引脚。引脚。l TL0TL0可工作在定时器方式和计数器方式。其功能和可工作在定时器方式和计数器方式。其功能和操作与模式操作与模式0 0、模式、模式1 1相同(只是相同(只是8 8位)。位)。1、T0模式3的逻辑电路结构l 它占用了定时器它占用了定时器T1
37、T1的控制位的控制位TR1TR1和和T1T1的中断标志的中断标志TF1TF1,其启动和关闭仅受其启动和关闭仅受TR1TR1的控制。的控制。l TH0TH0只可用作简单的内部定时功能。只可用作简单的内部定时功能。2、T0模式3下T1的逻辑电路结构l 定时器定时器T1T1无工作模式无工作模式3 3状态。在状态。在T0T0用作模式用作模式3 3时,时,T1T1仍可设置为模式仍可设置为模式0 02 2。lT0T0模式模式3 3下下T1T1的逻辑电路结构的逻辑电路结构如如 图图6-12 6-12 所示。所示。l 由于由于TR1和和TF1被定时器被定时器T0占用,计数器开关占用,计数器开关K已被接通,此时
38、,仅用已被接通,此时,仅用T1控制位,控制位,C/T切换其定切换其定时或计数器工作方式就可使时或计数器工作方式就可使T1运行。当计数器运行。当计数器溢出时,只能将输出送入串行口或用于不需要溢出时,只能将输出送入串行口或用于不需要中断的场合。一般作波特率发生器中断的场合。一般作波特率发生器图图6-11 T0模式模式3时时T1结构结构二、模式二、模式 3 的应用举例的应用举例(例(例6-76-7)l例例6-76-7:设某用户系统已使用了两:设某用户系统已使用了两个外部中断源,并置定时器个外部中断源,并置定时器T1T1工作工作在模式在模式2 2,作串行口波特率发生器,作串行口波特率发生器用。现要求再
39、增加一个外部中断源,用。现要求再增加一个外部中断源,并由并由P1.0P1.0引脚输出一个引脚输出一个5kHz5kHz的方波。的方波。FoscFosc=12MHz.=12MHz.二、模式二、模式 3 的应用举例的应用举例(例(例6-76-7)解:解:(1)工作模式)工作模式l 可设置可设置T0T0工作在模式工作在模式3 3计数器方式计数器方式,把,把T0T0的引脚的引脚作附加的外部中断输入端,作附加的外部中断输入端,TL0TL0的计数初值为的计数初值为FFHFFH,当检测到当检测到T0T0引脚电平出现由引脚电平出现由1 1至至0 0的负跳变时,的负跳变时,TL0TL0产生溢出,申请中断。产生溢出
40、,申请中断。l T0T0模式模式3 3下,下,TL0TL0作计数用,而作计数用,而TH0TH0用作用作8 8位的定位的定时器时器,定时控制,定时控制P1.0P1.0引脚输出引脚输出5kHz5kHz的方波信号。的方波信号。 二、模式二、模式 3 的应用举例的应用举例(例(例6-76-7)(2)计算初值)计算初值lTL0TL0的计数初值为的计数初值为FFHFFH。lTH0TH0的计数初值的计数初值X X为:为: P1.0P1.0方波周期方波周期T=1/(5kHz)=0.2ms=200sT=1/(5kHz)=0.2ms=200s 用用TH0TH0作定时作定时100s100s时,时, X=256-10
41、0 X=256-100 12/12=15612/12=156二、模式二、模式 3 的应用举例的应用举例(例(例6-76-7)(3)程序清单)程序清单 MOV TMOD,#27H ;T0为模式为模式3,计数方式计数方式 ; T1为模式为模式2,定时方式,定时方式 MOV TL0,#0FFH ;TL0计数初值计数初值 MOV TH0,#156 ;TH0计数初值计数初值 MOV TL1,#data ;data是根据波特率是根据波特率 ;要求设置的常数(;要求设置的常数(初值)初值) MOV TH1,#data MOV TCON,#55H ;外中断;外中断0,外中断,外中断1边沿触发,边沿触发, ;启
42、动;启动T0,T1 MOV IE,#9FH ; 开放全部开放全部中断中断 二、模式二、模式 3 的应用举例的应用举例(例(例6-76-7)TL0溢出中断服务程序(由溢出中断服务程序(由000BH转来)转来)TL0INT:MOV TL0,#0FFH ;TL0重赋初值重赋初值 (中断处理)(中断处理) RETI TH0溢出溢出 TH0溢出中断服务程序(由溢出中断服务程序(由001BH转来)转来)TH0INT:MOV TH0,#156 ;TH0重赋初值重赋初值 CPL P1.0 ;P1.0取反输出取反输出 RETI串行口及外部中断串行口及外部中断0,外部中断,外部中断1的服务程序略。的服务程序略。6
43、.3.5 综合应用举例综合应用举例(例(例6-86-8)l例例6-86-8:设时钟频率为:设时钟频率为6MHz6MHz。编写。编写利用利用T0T0产生产生1s1s定时的程序。定时的程序。6.3.5 综合应用举例综合应用举例(例(例6-86-8)解:解:(1)定时器)定时器T0工作模式的确定工作模式的确定模式模式0 0最长可定时最长可定时16.384ms;16.384ms; 模式模式1 1最长可定时最长可定时131.072ms;131.072ms; 模式模式2 2最长可定时最长可定时512s;512s;定时定时1s,可选用模式,可选用模式1,每隔,每隔100ms中断一中断一 次,中断次,中断10
44、次为次为1s。6.3.5 综合应用举例综合应用举例(例(例6-86-8)(2)求计数器初值)求计数器初值X (216X)12/(6 106) =10010-3 s X=15536=3CB0H 因此:因此:(TL0)=0B0H (TH0)=3CH6.3.5 综合应用举例综合应用举例(例(例6-86-8)(3)实现方法实现方法 对于中断对于中断10次计数,可使次计数,可使T0工作在计数方工作在计数方式,也可用循环程序的方法实现。式,也可用循环程序的方法实现。本例采本例采用循环程序法。用循环程序法。6.3.5 综合应用举例综合应用举例(例(例6-86-8)(4)源程序清单)源程序清单 ORG 000
45、0H AJMP MAIN ; 上电,转向主上电,转向主程序程序 ORG 000BH ;T0的中断服务程序入口地址的中断服务程序入口地址 AJMP SERVE ;转向中断服务程序;转向中断服务程序 ORG 2000H ;主程序;主程序6.3.5 综合应用举例综合应用举例(例(例6-86-8)MAIN : MOV SP,#60H ;设堆栈指针;设堆栈指针 MOV B,#0AH ;设循环次数;设循环次数 MOV TMOD,#01H ;设置;设置T0工作于模式工作于模式1 MOV TL0,#0B0H ;装计数值低;装计数值低8位位 MOV TH0,#3CH ;装计数值高;装计数值高8位位 SETB T
46、R0 ;启动定时;启动定时 SETB ET0 ;T0开中断开中断 SETB EA ;CPU开中断开中断 SJMP $ ;等待中断;等待中断6.3.5 综合应用举例综合应用举例(例(例6-86-8)SERVE: MOV TL0,#0B0H ;重新赋初值;重新赋初值 MOV TH0,#3CH DJNZ B,LOOP ;B-1不为不为0,继续定时,继续定时 CLR TR0 ;1s定时到,停止定时到,停止T0工作工作LOOP: RETI ;中断返回;中断返回 END6.3.5 综合应用举例综合应用举例(例(例6-96-9)l 例例6-96-9:设计实时时钟程序。时钟:设计实时时钟程序。时钟 就是以秒、
47、分、时为单位进行计就是以秒、分、时为单位进行计时。用定时器与中断的联合应用时。用定时器与中断的联合应用。6.3.5 综合应用举例综合应用举例(例(例6-96-9)解:解:(1)实现时钟计时的基本方法)实现时钟计时的基本方法 计算计数初值。计算计数初值。 时钟计时的最小单位是秒,但使用单片机定时器时钟计时的最小单位是秒,但使用单片机定时器/计数器进行定时,即使按方式计数器进行定时,即使按方式1工作,其最大定时工作,其最大定时时间也只能达时间也只能达131ms。因此,可把定时器的定时。因此,可把定时器的定时时间定为时间定为100ms,计数溢出,计数溢出10次即得到时钟计时次即得到时钟计时的最小单位
48、的最小单位秒;而秒;而10次计数可用软件方法实现。次计数可用软件方法实现。6.3.5 综合应用举例综合应用举例(例(例6-96-9)假定使用定时器假定使用定时器T0,以工作模式,以工作模式1进行进行100ms的定的定时。如时。如fosc=6MHz,则计数初值,则计数初值X为:为: (216X)12/(6 106 )=10010-3 s X=15536=3CB0H因此因此 : (TL0)=0B0H (TH0)=3CH6.3.5 综合应用举例综合应用举例(例(例6-96-9) 采用定时方式进行溢出次数的累计,计满采用定时方式进行溢出次数的累计,计满10次即得到秒计时。次即得到秒计时。6.3.5 综
49、合应用举例综合应用举例(例(例6-96-9) 从秒到分和从分到时的计时是通过累计和从秒到分和从分到时的计时是通过累计和数值比较实现的。数值比较实现的。6.3.5 综合应用举例综合应用举例(例(例6-96-9) 时钟显示即及显示缓冲区部分在这里略,时钟显示即及显示缓冲区部分在这里略,可自行设计。可自行设计。6.3.5 综合应用举例综合应用举例(例(例6-96-9)(2)程序流程及程序清单)程序流程及程序清单 主程序(主程序(MAIN)的主要功能)的主要功能 是进行定时器是进行定时器T1的初始化编程并启动的初始化编程并启动T1,然后通过反复调用显示子程序,等待然后通过反复调用显示子程序,等待100
50、ms定时定时中断的到来。其流程如中断的到来。其流程如 图图6-13所示。所示。6.3.5 综合应用举例综合应用举例(例(例6-96-9)(2)程序流程及程序清单)程序流程及程序清单 中断服务程序(中断服务程序(PITO)的主要功能)的主要功能 是进行计时操作。程序开始先判断计数溢出是进行计时操作。程序开始先判断计数溢出时候满了时候满了10次,不满表明还没达到最小计时单次,不满表明还没达到最小计时单位位秒,中断返回;如满秒,中断返回;如满10次则表示已达到最小次则表示已达到最小计时单位计时单位秒,程序继续向下运行,进行计时操秒,程序继续向下运行,进行计时操作。作。 要求满要求满1秒则秒则“秒位秒
51、位”32H单元内容加单元内容加1,满,满60s则则“分位分位”31H单元内容加单元内容加1,满,满60min则则“时时位位”30H单元内容加单元内容加1,满,满24h则则30H,31H,332H单元内容全部清单元内容全部清0。中断服务程序流程如。中断服务程序流程如 图图6-14所示。所示。设设T1为模式为模式1设中断次数设中断次数清计时单元清计时单元开中断开中断启动启动T1调用显示子程序调用显示子程序等待定时中断等待定时中断图图6-13 时钟主程序流程时钟主程序流程保护现场赋计数初值到1s?(32H)加1(32H)=60?(32H)清0(31H)加1(31H)=60?(31H)清0(30H)加
52、1(30H)=24?(30H)清0恢复现场返回入口入口aaNNNNYYYY图6-14 中断服务程序流程图 源程序如下:源程序如下: ORG 0000H AJMP MAIN ; 上电,转向主上电,转向主程序程序 ORG 001BH ;T1的中断服务程序入口地址的中断服务程序入口地址 AJMP SERVE ;转向中断服务程序;转向中断服务程序 6.3.5 综合应用举例综合应用举例(例(例6-96-9) ORG 2000H ;主程序;主程序MAIN: MOV SP,#60H ;设堆栈指针;设堆栈指针 MOV TMOD,#10H ;设置;设置T1工作于模式工作于模式1 MOV 20H,#0AH ;设循
53、环次数;设循环次数 CLR A MOV 30H,A ;时单元清;时单元清0 MOV 31H,A ;分单元清;分单元清0 MOV 32H,A ;秒单元清;秒单元清0 6.3.5 综合应用举例综合应用举例(例(例6-96-9) SETB ET1 ;T1开中断开中断 SETB EA ;CPU开中断开中断 MOV TL1,#0B0H ;装计数值低;装计数值低8位位 MOV TH1,#3CH ;装计数值高;装计数值高8位位 SETB TR1 ;启动定时;启动定时 SJMP $ ;等待中断(可反复调用显示子程序);等待中断(可反复调用显示子程序)6.3.5 综合应用举例综合应用举例(例(例6-96-9)
54、SERVE: PUSH PSW ;保护现场保护现场 PUSH ACC MOV TL1,#0B0H ;重新赋初值;重新赋初值 MOV TH1,#3CH DJNZ 20H,RETUNT ;1s未到,返回未到,返回 MOV 20H,#0AH ;重置中断次数;重置中断次数 6.3.5 综合应用举例综合应用举例(例(例6-96-9) MOV A,#01H ADD A,32H ;“秒位秒位”加加1 DA A ;转换为;转换为BCD码码 MOV 32H,A CJNE A,#60H,RETUNT ;未满;未满60s,返回,返回 MOV 32H,#00H ;计满;计满60s,“秒位秒位”清清0 6.3.5 综合
55、应用举例综合应用举例(例(例6-96-9) MOV A,#01H ADD A,31H ;“分位分位”加加1 DA A ;转换为;转换为BCD码码 MOV 31H,A CJNE A,#60H,RETUNT ;未满;未满60min,返回,返回 MOV 31H,#00H ;计满;计满60min,“分分位位”清清0 6.3.5 综合应用举例综合应用举例(例(例6-96-9) MOV A,#01H ADD A,30H ;“时位时位”加加1 DA A ;转换为;转换为BCD码码 MOV 30H,A CJNE A,#24H,RETUNT ;未满;未满24h,返回,返回 MOV 30H,#00H ;计满;计满
56、24h,“时位时位”清清0RETUNT: POP ACC ;恢复现场;恢复现场 POP PSW RETI ;中断返回;中断返回 END 例例 6-9结束结束6.3.5 综合应用举例综合应用举例(例(例6-96-9)6.4 6.4 思考题与习题思考题与习题1 1、定时器模式、定时器模式2 2有什么特点?适用于什么应用场合?有什么特点?适用于什么应用场合?2 2、单片机用内部定时方法产生频率为、单片机用内部定时方法产生频率为100KHz100KHz等宽距等宽距形波,假定单片机的晶振频率为形波,假定单片机的晶振频率为12MHz12MHz。请编程。请编程实现。实现。3 3、80518051定时器有哪几种工作模式?有何区别?定时器有哪几种工作模式?有何区别?6.4 6.4 思考题与习题思考题与习题4 4、80518051单片机内部设有几个定时器单片机内部设有几个定时器/ /计数器?它们
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保险业务创新与市场拓展专项训练题库
- 保险理赔员资格考试保险理赔流程与实务专项训练题库
- 职业病诊断业务岗位培训考试题库(2026年)
- 内蒙古住房和城乡建设领域2026年施工现场专业人员测试(土建质量员)复习题及答案
- 节水节电专项知识培训考核试题附答案
- 立法业务人员继续教育练习题及答案2026年
- 仓储货物分拣技师试题及答案
- 学校新冠疫情防护知识测试题及答案
- 2026年护理学位考试题库(含答案)
- 2026年机械设备安全培训试卷及答案
- T/QX 011-2025管壳式热交换器管程高压水射流机械化清洗作业安全规范
- 小学生综合素质评价方案
- 【公开课】人教八上《藤野先生》分层教学
- 2026年渠道维护工(技师)技能理论考试题库(含答案)
- 小学四年级上册计算题专项练习(30天每日一练 可直接打印 )
- 八年级劳动国家质量监测考试模拟卷(四)
- 新时代中职生礼仪规范全套课件
- 2025年华为光芯片笔试题及答案
- 内保单位安全管理条例
- 肘关节超声病变的超声诊断与评估
- DB11∕T 637-2024 房屋结构综合安全性鉴定标准
评论
0/150
提交评论