中国民航大学单片机定时器及应用

上传人:e****s 文档编号:243053003 上传时间:2024-09-14 格式:PPT 页数:63 大小:870KB
返回 下载 相关 举报
中国民航大学单片机定时器及应用_第1页
第1页 / 共63页
中国民航大学单片机定时器及应用_第2页
第2页 / 共63页
中国民航大学单片机定时器及应用_第3页
第3页 / 共63页
点击查看更多>>
资源描述
,单片机原理及接口技术,单击以编辑母版标题样式,单击以编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单片机原理及接口技术,9/14/2024,6.1 定时器概述,6.2 定时器的控制,6.3 定时器的四种模式及应用,6.4 思考题与习题,第六章 定时器及应用,9/14/2024,6.1 定时器概述,6.1.1 89C51定时器结构,6.1.2 89C51定时器功能,单片机原理及接口技术,9/14/2024,9/14/2024,6.1.1 89C51定时器结构,89C51定时器的结构如 图6-1 所示。,有两个16位的定时器/计数器,即定时器0T0和定时器1T1。都是16位加1计数器。,T0由两个8位特殊功能存放器TH0和TL0构成;T1由TH1和TL1构成。,单片机原理及接口技术,9/14/2024,9/14/2024,9/14/2024,6.1.2 89C51定时器功能,每个定时器都可由软件设置为 定时工作方式或 计数工作方式。由特殊功能存放器TMOD和TCON所控制。,定时器工作不占用CPU时间,除非定时器/计数器溢出,才能中断CPU的当前操作。,定时器/计数器有四种工作模式。其中模式0-2对T0和T1是一样的,模式3对两者不同。,单片机原理及接口技术,9/14/2024,9/14/2024,定时工作方式,定时器计数89C51片内振荡器输出经12分频后的脉冲,即每个机器周期使定时器T0或T1的数值加1直至计满溢出。,当89C51采用12MHz晶振时,一个机器周期为1s,计数频率为1MHz。,单片机原理及接口技术,9/14/2024,9/14/2024,计数工作方式,通过引脚T0和T1对外部脉冲信号计数。当输入脉冲信号产生由1至0的下降沿时计数器的值加1。,CPU检测一个1至0的跳变需要两个机器周期,故最高计数频率为振荡频率的1/24。,为了确保某个电平在变化之前被采样一次,要求电平保持时间至少是一个完整的机器周期。,对输入脉冲信号的根本要求如 图6-2所示。,单片机原理及接口技术,9/14/2024,9/14/2024,6.2 定时器的控制,6.2.1 工作模式存放器 TMOD,6.2.2 控制器存放器 TCON,单片机原理及接口技术,9/14/2024,9/14/2024,6.2.1 工作模式存放器 TMOD,TMOD用于控制T0和T1的工作模式。,TMOD不能位寻址,只能用字节设置定时器的工作模式,低半字节设置T0,高半字节设置T1。,89C51系统复位时,TMOD的所有位被清0。,TMOD各位的定义格式如,图6-3,所示。,TMOD各位定义及具体的意义归纳如 图6-4所示。,单片机原理及接口技术,9/14/2024,9/14/2024,图6-3 工作模式存放器TMOD的位定义,定时器T1,定时器T0,TMOD,89H,D7 D6 D5 D4 D3 D2 D1 D0,GATE,C/ T,M1 M0,单片机原理及接口技术,9/14/2024,GATE,C/ T,M1 M0,9/14/2024,M1和M0操作模式控制位。,两位可形成四种编码,对应于四种模式。,表6-1 M1,M0控制的四种工作模式,单片机原理及接口技术,9/14/2024,9/14/2024, C/T计数器/定时器方式选择位。,C/T=0,设置为定时方式。定时器计数89C51片内脉冲,即对机器周期计数。,C/T=1,设置为计数方式。计数器的输入来自引脚T0或T1端的外部脉冲 。,单片机原理及接口技术,9/14/2024,9/14/2024, GATE门控位。,GATE=0,只要用软件使TR0或TR1置1就可以启动定时器,而不管INT0或INT1的电平是高还是低。,GATE=1,只有INT0或INT1引脚为高电平且由软件使TR0或TR1置1时,才能启动定时器工作。,单片机原理及接口技术,9/14/2024,9/14/2024,单片机原理及接口技术,9/14/2024,6.2.2 控制器存放器 TCON,TCON除可字节寻址外,各位还,可位寻址,。,89C51系统复位时,TCON的所有位被清0。,TCON各位的定义格式如,图6-5,所示。,TCON各位定义及具体的意义归纳如 图6-6所示。,9/14/2024,TF1,TR1,TF0,TR0,IE1,IT1,IE0,IT0,TCON,88H,8FH 8EH 8DH 8CH 8BH 8AH 89H 88H,图6-5 控制存放器TCON的位定义,单片机原理及接口技术,9/14/2024,9/14/2024, TF1TCON.7) T1溢出标志位。,当T1溢出时,由硬件自动使中断触发器TF1置1,并向CPU申请中断。,当CPU响应中断进入中断效劳程序后,TF1被硬件自动清0。TF1也可以用软件清0。,单片机原理及接口技术,9/14/2024,9/14/2024, TF0TCON.5) T0溢出标志位。,其功能和操作情况同TF1。,当T0溢出时,由硬件自动使中断触发器TF0置1,并向CPU申请中断。,当CPU响应中断进入中断效劳程序后,TF1被硬件自动清0。TF1也可以用软件清0。,单片机原理及接口技术,9/14/2024,9/14/2024, TR1(TCON.6)T1运行控制位。,可通过软件置1TR1=1或清0TR1=0来启动或 关闭 T1工作。,在程序中用指令“SETB TR1使TR1位置1,定时器T1便开始计数。用“CLR TR1使TR1清0,定时器停止工作。,单片机原理及接口技术,9/14/2024,9/14/2024, TR0(TCON.4)T0运行控制位。,其功能和操作情况同TR1。,可通过软件置1TR0=1或清0TR0=0来启动或 关闭 T0。,在程序中用指令“SETB TR0使TR0位置1,定时器T0便开始计数。用“CLR TR0使TR0清0,定时器停止工作。,单片机原理及接口技术,9/14/2024,9/14/2024,IE1,IT1,IE0,TCON.0),外部中断INT1,INT0请求及请求方式控制位。前一章已经讲过。,单片机原理及接口技术,9/14/2024,9/14/2024,单片机原理及接口技术,9/14/2024,6.3 定时器的四种模式及应用,模式 0 及其应用,模式 1 及其应用,模式 2 及其应用,模式 3 及其应用,综合应用举例,9/14/2024,6.3.1 模式 0 及其应用,一、模式 0 的逻辑电路结构,T0在模式 0 的逻辑电路结构如图6-7所示。T1相同,二、模式 0 工作特点,三、模式 0 的应用举例,单片机原理及接口技术,9/14/2024,9/14/2024,二、模式 0 工作特点,在这种模式下,16位存放器TH0和TL0只用了13位。其中TL0的高3位未用,其余5位为整个13位的低5为,TH0占高8位。当TL0的低5位溢出时,向TH0进位;TH0溢出时,向中断标志TF0进位硬件置位TF0,并申请中断。,定时时间为: t=(213T0初值)振荡周期12,用于计数工作方式时,计数长度为: L=(213T0初值)个外部脉冲,TH0,TL0,8位,5位,单片机原理及接口技术,9/14/2024,9/14/2024,三、模式 0 的应用举例,例6-1:设晶振为12MHz,试计算定时器T0工作于模式0时的最大定时时间T。,解:当T0处于工作模式0时,加1计数器为13位。,因为:定时时间为: t=(213T0初值)振荡周期12,最大定时时间为“T0初值=0时。,所以:,单片机原理及接口技术,9/14/2024,9/14/2024,例6-2:设定时器T0用于定时10ms,晶振为6MHz。试确定T0初值。并编写定时器T0初始化程序段。,解:1确定T0初值,当T0处于工作模式0时,加1计数器为13位。,定时时间:,所以:,T0初值=3192=C78H,=,01100011,11000 B,即:TH0=0110 0011 B=63H高8位,TL0=1 1000 B=18H低5位,单片机原理及接口技术,9/14/2024,9/14/2024,TMOD的低四位为T0的控制位,模式0:,M1M0=00,,定时器方式:,C/T=0,,门控位不受INT0的影响:,GATE=0,,其余位:,为 0。,模式字为,TMOD=0000 0000 B=00H,定时器T1,定时器T0,GATE,C/ T,M1,M0,GATE,M1,C/ T,M0,TMOD,(89H),D7 D6 D5 D4 D3 D2 D1 D0,解:2确定TMOD的初值,单片机原理及接口技术,9/14/2024,9/14/2024,解:3编写定时器T0的初始化程序段,主程序:,ORG 0100H,MAIN: MOV SP,#60H ;设堆栈指针,MOV TMOD,#00H ;选择工作模式,MOV TH0,#63H ;送初值,MOV TL0,#18H,SETB TR0 ;启动定时,单片机原理及接口技术,9/14/2024,9/14/2024,例6-3:设定时器T1工作于模式0,晶振为6MHz。编程实现:每10ms时间取反的程序。,解:1确定T1初值,T1处于工作模式0时,定时时间位10ms同例2。,TH1=0110 0011 B=63H高8位,TL1=1 1000 B=18H低5位,2确定TMOD的初值,TMOD的高四位为T1的控制位,模式0:,M1M0=00,,定时器方式:,C/T=0,,门控位不受INT0的影响:,GATE=0,,其余位:,为 0。,模式字为,TMOD=0000 0000 B=00H,单片机原理及接口技术,9/14/2024,9/14/2024,解:3编写程序,初始化引导程序:,ORG 0000H,RESET: AJMP MAIN ; 跳过中断效劳程序区,ORG 001BH ;中断效劳程序入口,AJMP ITOP,主程序:,ORG 0100H,MAIN: MOV SP,#60H ;设堆栈指针,MOV TMOD,#00H ;选择工作模式,MOV TH1,#63H ;送初值,MOV TL1,#18H,SETB P1.0 ;置1,SETB TR1 ;启动定时,SETB ET1 ;T1开中断,SETB EA ;CPU开中断,HERE: AJMP HERE ;等待时间到,转入中断效劳程序,单片机原理及接口技术,9/14/2024,中断效劳程序,ORG 0150H,ITOP: MOV TL1,#18H;重新装入初值,MOV TH1,#63H,CPL P1.0 ;取反,RETI;中断返回,9/14/2024,例6-4:利用T0的工作模式0产生定时,在引脚输出周期为10ms的方波。设晶振频率fosc=12MHz。编程实现其功能分别采用查询方式和中断方式。,解:,要在引脚输出周期为10ms的方波,只要使每隔5ms取反一次即可。,1选择工作模式,T0的模式字为TMOD=00H,,即: M1M0=00,C/T=0,GATE=0,其余位为0。,2计算5ms定时T0的初值,T = (213T0初值)(1/12)10-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,单片机原理及接口技术,9/14/2024,9/14/2024,3采用查询方式的程序,程序清单:,ORG 0000H,LJMPMAIN ;初始化引导程序,ORG0080H,MAIN:MOV TMOD,#00H ;设置T0为模式0,MOV TL0,#18H ;送初值,MOV TH0,#63H,SETB TR0 ;启动定时,LP:JBC TF0,NEXT ;查询定时时间到否,SJMP LP,NEXT:MOV TL0,#18H ;重装计数初值,MOV TH0,#63H,CPL P1.0 ;取反,SJMP LP ;重复循环,单片机原理及接口技术,9/14/2024,9/14/2024,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 ;等待中断,ORG 0120H ;中断效劳程序,CTC0: MOV TL0,#18H ;重新装入初值,MOV TH0,#63H,CPL P1.0 ;取反,RETI;中断返回,单片机原理及接口技术,9/14/2024,模式 0 的应用举例完,9/14/2024,6.3.2 模式 1 及其应用,一、模式 1 的逻辑电路结构: T0在模式 1 的逻辑电路结构如 图6-8所示。T1相同,二、模式 1 工作特点,三、模式 1 的应用举例,单片机原理及接口技术,9/14/2024,9/14/2024,二、模式 1 工作特点,该模式对应的是一个,16位的定时器/计数器,。,用于定时工作方式时,定时时间为:,t=(216T0初值)振荡周期12,用于计数工作方式时,计数长度为:,(216T0初值)个外部脉冲,TH0,TL0,8位,8位,单片机原理及接口技术,9/14/2024,9/14/2024,三、模式 1 的应用举例,例6-5:设定时器T0选择工作模式1的计数器工作方式,其计数器初值为,FFFF,H,问此时定时器T0的实际用途是什么?,解:因其初值为FFFFH,只要随机外来一脉冲即可溢出,向CPU申请中断,故这一内部中断源实质上已作为外部中断源使用。因此此定时器T0并不用于定时或计数。,单片机原理及接口技术,9/14/2024,9/14/2024,例6-6:设晶振为12MHz,试计算定时器T0工作于模式1时的最大定时时间T。,解:当T0处于工作模式1时,加1计数器为16位。,定时时间为: t=(216T0初值)振荡周期12,最大定时时间为“T0初值=0时。,所以:,单片机原理及接口技术,9/14/2024,9/14/2024,例6-7:用定时器T1产生一个50Hz的方波,由,输出。使用程序查询方式,fosc=6MHz。,解:1确定定时器T1初值, 方波周期 T = 1/50 = 0.02s = 20ms, 用T1定时10ms,时间到引脚电平取反。,TH1=ECH,TL1=78H,20ms,10ms,10ms,单片机原理及接口技术,9/14/2024,9/14/2024,解: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 ;置1,SETB TR1 ;启动定时,LOOP: JNB TF1,LOOP ;查询定时时间到否,CLR TF1 ;产生溢出,清标志位,MOV TL1,#78H ;重新置初值,MOV TH1,#0ECH,CPL P1.1 ;取反,SJMP LOOP ;重复循环,单片机原理及接口技术,9/14/2024,?模式 1 的应用举例完?,9/14/2024,6.3.3 模式 2 及其应用,一、模式 2 的逻辑电路结构,二、模式 2 工作特点,三、模式 2 的应用举例,单片机原理及接口技术,9/14/2024,9/14/2024,一、模式 2 的逻辑电路结构,T0在模式 2 的逻辑电路结构如 图6-9所示。T1相同,TL0计数溢出时,不仅使溢出中断标志位TF0置1,而且还自动把TH0中的内容重新装载到TL0中。,TL0用作8位计数器,TH0用以保存初值。,单片机原理及接口技术,9/14/2024,9/14/2024,二、模式 2 工作特点,该模式把TL0(TL1)配置成一个可以自动重装载的8位定时器/计数器。,在程序初始化时,TL0和TH0由软件赋予相同的初值,。,用于定时工作方式时,定时时间为:,t=(2,8,TL0初值)振荡周期12,用于计数工作方式时,计数长度为:,(28TL0初值) 个外部脉冲,该模式可省去软件中重装常数的语句,并可产生相当精确的定时时间,适合于作串行口波特率发生器,。,单片机原理及接口技术,9/14/2024,9/14/2024,三、模式 2 的应用举例,例6-8:当引脚定时器T0的外部计数输入端上的电平发生负跳变时, 从输出一个500s的同步脉冲。用查询方式编程实现该功能,fosc=6MHz。,单片机原理及接口技术,9/14/2024,解:题目要实现的功能如 图6-10 所示。,1确定TMOD值,门控位GATE=0,高四位取0,选T0为模式2M1M0=10,,首先为计数器工作方式C/T=1:TMOD=0000 0110B=06H,当引脚上的电平发生负跳变时,T0计数器加1,溢出标志TF0置1;,然后改变T0为500s定时工作方式C/T=0:TMOD=02H,当上面TF0=1时使输出由1变为0。开始T0定时,到500s产生溢出,使输出恢复高电平,T0又恢复外部事件计数方式。,定时器T1,定时器T0,GATE,C/ T,M1,M0,GATE,M1,C/ T,M0,TMOD,(89H),D7 D6 D5 D4 D3 D2 D1 D0,9/14/2024,2计算T0初值,T0工作在外部事件计数方式:,题目要求T0引脚出现一次外部事件时,引起T0中断。,所以:设计计数器初值为FFH,当计数器再加1就溢出了。,即: T0初值+1=28,T0初值 = 28 1=11111111B=0FFH,即:TH0=TL0=0FFH,T0工作在定时工作方式:,因为晶振频率为6MHz,定时500s。,所以:(28T0初值)2s=500s,得出:T0初值 =6=06H,,即:TH0=TL0=06H,单片机原理及接口技术,9/14/2024,9/14/2024,3程序清单:ORG0000H,LJMPSTART,ORG0080H,START:MOVTMOD,#06H;设置T0为模式2,外部计数方式,MOV TL0,#0FFH ;T0计数器初值,MOV TH0,#0FFH,SETB TR0 ;启动T0计数,LOOP1:JBC TF0,PTFO1 ;查询T0溢出标志,TF0=1时转,且清TF0=0,SJMP LOOP1 ; 等待T0溢出,PTFO1:CLR TR0 ;停止计数,MOV TMOD,#02H ;设置T0为模式2,定时方式,MOV TL0,#06H ;送初值,定时500s,MOV TH0,#06H,清0,SETB TR0 ;启动定时500s,LOOP2 :JBC TF0,PTFO2 ;查询T0溢出标志,TF0=1时转并清TF0=0,SJMP LOOP2 ;等待T0溢出中断定时时间到,PTFO2 :SETB P1.0 ; 置1,CLR TR0 ;停止定时,SJMP START ;转向开始,重新等待T0引脚的脉冲,单片机原理及接口技术,9/14/2024,?例6-8完?,9/14/2024,例6-9:利用定时器T1的模式2对外部信号计数。要求每计满100次,将 端取反。,解:,1选择模式,外部信号由T1引脚输入,每发生一次负跳变计数器加1,每输入100个脉冲,计数器发生溢出中断,中断效劳程序将取反一次。,T1计数工作方式模式2的模式字为,TMOD=60H。,T0不用时,TMOD的低4位可任取,但不能进入模式3,一般取0。,单片机原理及接口技术,9/14/2024,9/14/2024,2计算T1的计数初值,X= 28 100=156=9CH,因此:TL1的初值为9CH,重装初值存放器TH1=9CH。,3程序清单,ORG0000H,LJMPMAIN,ORG 001BH ;中断效劳程序入口,RETI,MAIN: MOV TMOD,#60H ;设置T1为模式2,外部计数方式,MOV TL1,#9CH ;T1计数器初值,MOV TH1,#9CH,MOV IE,#88H ; 定时器开中断,SETB TR1 ;启动T1计数,HERE:SJMP HERE ;等待中断,单片机原理及接口技术,9/14/2024,?模式 2 的应用举例完?,9/14/2024,6.3.4 模式 3 及其应用,一、模式 3 的逻辑电路结构,工作模式3对T0和T1大不相同。,1、T0模式3的逻辑电路结构,2、T0模式3下T1的逻辑电路结构,二、模式 3 的应用举例,单片机原理及接口技术,9/14/2024,9/14/2024,1、T0模式3的逻辑电路结构,T0模式3的逻辑电路结构如 图6-11所示。,T0设置为模式3,TL0和TH0被分成两个相互独立的8位计数器。,TL0:,用原T0的各控制位、引脚和中断源,即C/T,GATE,TR0,TF0,T0引脚,INT0引脚。,TL0可工作在定时器方式和计数器方式。其功能和操作与模式0、模式1相同只是8位。,TH0:,只可用作简单的内部定时功能。,TH0占用了定时器T1的控制位TR1和T1的中断标志TF1,其启动和关闭仅受TR1的控制。,单片机原理及接口技术,9/14/2024,9/14/2024,2、T0模式3下T1的逻辑电路结构,定时器T1无工作模式3状态。在T0用作模式3时,T1仍可设置为模式02。,T0模式3下T1的逻辑电路结构,如 图6-12 所示。,由于TR1和TF1被定时器T0占用,计数器开关K已被接通,此时,仅用T1控制位,C/T切换其定时或计数器工作方式就可使T1运行。当计数器溢出时,只能将输出送入串行口或用于不需要中断的场合。一般作波特率发生器,单片机原理及接口技术,9/14/2024,9/14/2024,二、模式 3 的应用举例,例6-10:设某用户系统已使用了两个外部中断源,并置定时器T1工作在模式2,作串行口波特率发生器用。现要求再增加一个外部中断源,并由引脚输出一个5kHz的方波。Fosc=12MHz.,解:1工作模式,可设置T0工作在模式3计数器方式,把T0的引脚作附加的外部中断输入端,TL0的计数初值为FFH,当检测到T0引脚电平出现由1至0的负跳变时,TL0产生溢出,申请中断。,T0模式3下,TL0作计数用,而TH0用作8位的定时器,定时控制引脚输出5kHz的方波信号。,单片机原理及接口技术,9/14/2024,2计算初值,TL0的计数初值为FFH。,TH0的计数初值X为: 方波周期T=1/(5kHz)=0.2ms=200s,用TH0作定时100s时, X=256-100 12/12=156,9/14/2024,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边沿触发,启动T0,T1,MOV IE,#9FH ; 开放全部中断,TL0溢出中断效劳程序由000BH转来,TL0INT:MOV TL0,#0FFH ;TL0重赋初值,中断处理,RETI,TH0溢出中断效劳程序由001BH转来,TH0INT:MOV TH0,#156 ;TH0重赋初值,取反输出,RETI,串行口及外部中断0,外部中断1的效劳程序略,单片机原理及接口技术,9/14/2024,?模式3 的应用举例完?,9/14/2024,6.3.5 综合应用举例,例6-11:设时钟频率为6MHz。编写利用T0产生1s定时的程序。,解:1定时器T0工作模式确实定,模式0最长可定时16.384ms; 模式1最长可定时131.072ms;,模式2最长可定时512s;,定时1s,可选用模式1,每隔100ms中断一 次,中断10次从而到达1s的定时。,2求计数器初值X, (216X)12/(6 106) =10010-3 s, X=15536=3CB0H,因此:(TL0)=0B0H (TH0)=3CH,(3)实现方法: 对于中断10次计数,可使T0工作在计数方式,也可用循环程序的方法实现。本例采用循环程序法。,单片机原理及接口技术,9/14/2024,9/14/2024,4源程序清单,ORG0000H,AJMP MAIN; 上电,转向主程序,ORG 000BH ;T0的中断效劳程序入口地址,AJMP SERVE ;转向中断效劳程序,ORG 0080H ;主程序,MAIN : MOV SP,#60H ;设堆栈指针,MOV B,#0AH ;设循环次数,MOV TMOD,#01H;设置T0工作于模式1,MOV TL0,#0B0H;装计数值低8位,MOV TH0,#3CH;装计数值高8位,SETB TR0 ;启动定时,SETB ET0;T0开中断,SETB EA;CPU开中断,SJMP $;等待中断,SERVE: MOV TL0,#0B0H ;重新赋初值,MOV TH0,#3CH,DJNZ B,LOOP ;B-1不为0,继续定时,CLR TR0 ;1s定时到,停止T0工作,LOOP: RETI ;中断返回,END,单片机原理及接口技术,9/14/2024,? 例6-11完?,9/14/2024,例6-12:设计实时时钟程序。时钟 就是以秒、分、时为单位进行计时。用定时器与中断的联合应用,。,解:1实现时钟计时的根本方法, 计算计数初值。,时钟计时的最小单位是秒,可把定时器的定时时间定为100ms,计数溢出10次即得到1秒;10次计数可用软件方法实现。,假定使用定时器T0,以工作模式1进行100ms的定时。如fosc=6MHz,那么计数初值X为:, X=15536=3CB0H,因此 : (TL0)=0B0H (TH0)=3CH, 采用定时方式进行溢出次数的累计,计满10次即得到秒计时。,设置软件计数器初值为10,每100ms定时时间到溢出中断,使软件计数器减1,直到减到0,那么1s到。,单片机原理及接口技术,9/14/2024,9/14/2024, 从秒到分和从分到时的计时是通过累计和数值比较实现的。,设置几个累加单元分别进行对1s,1min,1h进行计数。满1s,秒位累加;满60s,分位累加;满60min,时位累加;满24h全部累加单元清0,单片机原理及接口技术,9/14/2024,2程序流程及程序清单, 主程序流程如 图所示。,设T1为模式1,设中断次数,清计时单元,开中断,启动T1,调用显示子程序,图6-13 时钟主程序流程,9/14/2024,保护现场,赋计数初值,到1s?,(32H)加1,(32H)=60?,(32H)清0,(31H)加1,(31H)=60?,(31H)清0,(30H)加1,(30H)=24?,(30H)清0,恢复现场,返回,入口,N,N,N,N,Y,Y,Y,Y,图6-14 中断效劳程序流程图, 中断效劳流程如 图6-14所示。,9/14/2024, 源程序如下:,ORG 0000H,AJMP MAIN ; 上电,转向主程序,ORG 001BH ;T1的中断效劳程序入口地址,AJMP SERVE ;转向中断效劳程序,ORG 2000H ;主程序,MAIN: MOV SP,#60H ;设堆栈指针,MOV TMOD,#10H ;设置T1工作于模式1,MOV 20H,#0AH ;设循环次数,CLR A,MOV 30H,A ;时单元清0,MOV 31H,A ;分单元清0,MOV 32H,A ;秒单元清0,SETB ET1 ;T1开中断,SETB EA ;CPU开中断,MOV TL1,#0B0H ;装计数值低8位,MOV TH1,#3CH ;装计数值高8位,SETB TR1 ;启动定时,SJMP $ ;等待中断可反复调用显示子程序,单片机原理及接口技术,9/14/2024,9/14/2024,中断效劳程序:,SERVE: PUSH PSW ;保护现场,PUSH ACC,MOV TL1,#0B0H ;重新赋初值,MOV TH1,#3CH,DJNZ 20H,RETUNT ;1s未到,返回,MOV 20H,#0AH ;重置中断次数,MOV A,#01H,ADD A,32H ;“秒位加1,DA A ;转换为BCD码,MOV 32H,A,CJNE A,#60H,RETUNT ;未满60s,返回,MOV 32H,#00H ;计满60s,“秒位清0,MOV A,#01H,ADD A,31H ;“分位加1,DA A ;转换为BCD码,MOV 31H,A,CJNE A,#60H,RETUNT ;未满60min,返回,MOV 31H,#00H ;计满60min,“分位清0,单片机原理及接口技术,9/14/2024,9/14/2024,MOV A,#01H,ADD A,30H ;“时位加1,DA A ;转换为BCD码,MOV 30H,A,CJNE A,#24H,RETUNT ;未满24h,返回,MOV 30H,#00H ;计满24h,“时位清0,RETUNT: POP ACC ;恢复现场,POP PSW,RETI ;中断返回,END,单片机原理及接口技术,9/14/2024,?综合应用举例完?,9/14/2024,单片机原理及接口技术,6.4 思考题与习题,1、定时器模式2有什么特点?适用于什么应用场合?,2、单片机用内部定时方法产生频率为100KHz等宽距形波,假定单片机的晶振频率为12MHz。请编程实现。,3、89C51定时器有哪几种工作模式?有何区别?,4、89C51单片机内部设有几个定时器/计数器?它们是由哪些特殊功能存放器组成?,5、定时器用作定时器时,其定时时间与哪些因素有关?作计数器时,对外界计数频率有何限制?,9/14/2024,9/14/2024,6、简述定时器四种工作模式的特点,如何选择和设定?,7、当定时器T0用作模式3时,由于TR1位已被T0占用,如何控制定时器T1的开启和关闭?,8、以定时器/计数器进行外部事件计数。每计数1000个脉冲后,定时器T1转为定时工作方式。定时10ms后,又转为计数方式,如此循环不止。假定单片机晶振频率为6MHz,请使用模式1编程实现。,9、一个定时器的定时时间有限,如何实现两个定时器的串行定时,以满足较长定时时间的要求?,10、使用一个定时器,如何通过软、硬件结合的方法,实现较长时间的定时?,单片机原理及接口技术,9/14/2024,6.4 思考题与习题,9/14/2024,11、89C51定时器作定时和计数时,其计数脉冲分别由谁提供?,12、89C51定时器的门控制信号GATE设置为1时,定时器如何启动?,13、89C51单片机的fosc=6MHz, 请利用T0和输出矩形波。矩形波高电平宽50s,低电平宽300s.,14、89C51单片机的fosc=12MHz, 用T1定时。试编程由和引脚分别输出周期为 2ms和500s的方波。,15、单片机8031的时钟频率为6MHz,假设要求定时值分别为0.1ms,1ms,10ms,定时器0工作在模式0、模式1和模式2时,其定时器初值各应是多少?,单片机原理及接口技术,9/14/2024,6.4 思考题与习题,9/14/2024,16、89C51单片机的定时器在何种设置下可提供三个8位计数器定时器?这时,定时器1可作为串行口波特率发生器。假设波特率按9600b/s,4800b/s,2400b/s,1200b/s,600b/s,100b/s来考虑,那么此时可选用的波特率是多少允许存在一定误差?设fosc=12MHz。,17、试编制一段程序,功能为:当引脚的电平上跳时,对的输入脉冲进行计数;当引脚的电平下跳时,停止计数,并将计数值写入R6,R7。,18、 设fosc=6MHz。试编制一段程序,功能为:对定时器T0初始化,使之工作在模式2,产生200s定时,并用查询T0溢出标志的方法,控制 输出周期为2ms的方波。?完?,单片机原理及接口技术,9/14/2024,6.4 思考题与习题,9/14/2024,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!