单片机原理与接口技术6课件

上传人:w****i 文档编号:92456324 上传时间:2019-07-10 格式:PPT 页数:91 大小:606.50KB
返回 下载 相关 举报
单片机原理与接口技术6课件_第1页
第1页 / 共91页
单片机原理与接口技术6课件_第2页
第2页 / 共91页
单片机原理与接口技术6课件_第3页
第3页 / 共91页
单片机原理与接口技术6课件_第4页
第4页 / 共91页
单片机原理与接口技术6课件_第5页
第5页 / 共91页
点击查看更多>>
资源描述

《单片机原理与接口技术6课件》由会员分享,可在线阅读,更多相关《单片机原理与接口技术6课件(91页珍藏版)》请在金锄头文库上搜索。

1、第六章 定时器及应用,6.1 定时器概述 6.2 定时器的控制 6.3 定时器的四种模式及应用,6.1 定时器概述,6.1.1 89C51定时器结构 6.1.2 89C51定时器功能,6.1.1 89C51定时器结构,有两个16位的定时器/计数器: 定时器0(T0) 定时器1(T1)。 都是16位加1计数器。 T0由两个8位特殊功能寄存器TH0和TL0构成; T1由TH1和TL1构成。 如图,6.1.1 89C51定时器结构,6.1.2 89C51定时器功能,每个定时器都可由软件设置为 定时工作方式或计数工作方式。 定时器工作不占用CPU时间,除非定时器/计数器溢出,才能中断CPU的当前操作。

2、 每个定时器/计数器有四种工作模式。 模式0-3,定时工作方式简介:,定时脉冲为单片机片内振荡器输出经12 分频后的脉冲, 即每个机器周期使定时器(T0或T1)的 数值加1直至计满溢出。,当采用12MHz晶振时,一个机器周期为1s,计数频率为1MHz。,计数工作方式简介:,通过引脚P3.4 ( T0 )和P3.5 ( T1 )对外部脉冲信号计数。 当输入脉冲信号产生由1至0的下降沿时定时器的值加1。 CPU检测一个1至0的跳变需要两个机器周期,故最高计数频率为振荡频率的1/24。 为了确保某个电平在变化之前被采样一次,要求电平保持时间至少是一个完整的机器周期。图,6.2 定时器的控制,6.2.

3、1 工作模式寄存器 TMOD 6.2.2 控制器寄存器 TCON,6.2.1 工作模式寄存器 TMOD,TMOD用于控制T0和T1的工作模式。 TMOD不能位寻址,只能用字节设置定时器的工作模式,低半字节设置T0,高半字节设置T1。 系统复位时,TMOD的所有位被清0。 TMOD各位的定义格式如图所示:,图 工作模式寄存器TMOD的位定义,TMOD各位的功能, M1和M0操作模式控制位。 两位可形成四种编码,对应于四种模式。见 表6-1。,表6-1 M1,M0控制的四种工作模式, C/T计数器/定时器方式选择位。 C/T=0,设置为定时方式。定时器计数8051片内脉冲,即对机器周期计数。 C/

4、T=1,设置为计数方式。计数器的输入来自T0(P3.4)或T1(P3.5)端的外部脉冲 。,TMOD各位的功能, GATE门控位。 GATE=0,只要用软件使TR0(或TR1)置1就可以启动定时器,而不管INT0(或INT1)的电平是高还是低。 GATE=1,只有INT0(或INT1)引脚为高电平且由软件使TR0(或TR1)置1时,才能启动定时器工作。,TMOD各位的功能,6.2.2 控制器寄存器 TCON,TCON可位寻址。 系统复位时,TCON的所有位被清0。 TCON各位的定义格式如图所示。,TF1,TR1,TF0,TR0,IE1,IE0,IT1,IT0,TCON (88H),8FH 8

5、EH 8DH 8CH 8BH 8AH 89H 88H,图 控制寄存器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运行控制位。

6、 其功能和操作情况同TR1。,TCON各位的功能, 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、T1为3位计数器。 TH0的8位和TL0的低5位 TH的8位和TL1的低5位

7、 以下以0说明:,TH0溢出时,向中断标志TF0进位(硬件置位TF0),并申请中断。 T0是否溢出可查询TF0是否被置位,以产生T0中断。 定时时间为: t=(213T0初值)振荡周期12,二、模式 0 的逻辑电路结构,如图,二、模式 0 的逻辑电路结构,二、模式 0 的逻辑电路结构,C/T=0时: 控制开关接通振荡器12分频输出端,T0对机器周期计数。 这是定时工作方式。 其定时时间为: t=(213-T0初值)振荡周期12 C/T=l时: 控制开关使引脚T0(P3.4)与13位计数器相连, 外部计数脉冲由引脚T0(P3.4)输入, 当外部信号电平发生由1到0跳变时,计数器加1。 这时,T0

8、成为外部事件计数器。这就是计数工作方式。,二、模式 0 的逻辑电路结构,GATE=O时, 或门输出A点电位保持为1,“或”门被封锁。 于是,引脚INTO输入信号无效。 这时,“或”门输出的l打开“与”门。 B点电位取决于TRO的状态, 于是,由TRO一位就可控制计数开关K,开启或关断TO。 若软件使TRO置1便接通计数开关K,启动TO在原上加1计数,直至溢出。 溢出时,13位寄存器清O,TF0置位,并申请中断,TO从0重新开始计数。 若TRO=0,则关断计数开关K,停止计数。,二、模式 0 的逻辑电路结构,GATE=l时 A点电位取决于INT0(P3.2)引脚的输入电平。 仅当INT0输入高电

9、平,且TR0=1时,B点才是高电平,计数开关K闭合,T0开始计数。 当INT0由1变0时,T0停止计数。 这一特性可以用来测量在INT0端出现的正脉冲的宽度。,三、模式 0 的应用举例,例6-1:设定时器T0选择工作模式0,定时时间为1ms,fosc=6MHz。试确定T0初值,计算最大定时时间T。,解:模式0,13位计数器。 (1)试确定T0初值X (213X)1/6 10-612=110-3 s X=7692D =1 1110 0000 1100B1E0CH T0的低5位:01100B=0CH即(TL0)=0CH T0的高8位:11110000B=F0H即(TH0)=F0H (2)计算最大定

10、时时间T T0的最大定时时间对应于13位计数器T0的各位全为1,即(TL0)=1FH,(TH0)=FFH. T=(213-0)1/6 10-612=16.384ms,例6-2:上例中,定时时间1ms,编程。在P1.0的引脚上产生输出周期为2ms的方波。 设T0工作在模式0,定时时间为1ms,定时时间到,P1.0取反。,解: (1)计算T0初值X 计算步骤见例6-1。 结果:(TH0)=0F0H,(TL0)=0CH。,例6-2,(2)程序清单: 初始化引导程序 ORG 0000H RESET: AJMP MAIN ; 跳过中断服务程序区 ORG 000BH ;中断服务程序入口 AJMP ITOP

11、,例6-2主程序:,ORG 0100H MAIN: MOV SP,#60H ;设堆栈指针 ACALL PTOMD HERE: AJMP HERE ;等待 PTOMD: MOV TMOD,#00H;选择工作模式 MOV TL0,#0CH;送初值 MOV TH0,#0F0H SETB TR0 ;启动定时 SETB ET0 ;T0开中断 SETB EA ;CPU开中断 RET,例6-2,中断服务程序 ORG 0120H ITOP: MOV TL0,#0CH ;重新装如初值 MOV TH0,#0F0H CPL P1.0 ;P1.0取反 RETI,例6-3,利用T0的工作模式0产生1ms定时,在P1.0

12、引脚输出周期为2ms的方波。设单片机晶振频率fosc=12MHz。编程实现其功能。,例6-3,解: 要在P1.0引脚输出周期为2ms的方波,只要使P1.0每隔1ms取反一次即可。 (1)选择工作模式 T0的模式字为TMOD=00H,即 M1M0=00,C/T=0,GATE=0,其余位为0。,(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,例6-3,例6-3(3)采用查询方式的程序清单,MO

13、V TMOD,#00H ;设置T0为模式0 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 ;重复循环,例6-3(4)采用定时器溢出中断方式的程序,主程序 ORG 0000H RESET: AJMP MAIN ; 跳过中断服务程序区 ORG 0030H MAIN: MOV TMOD,#00H ;设置T0为模式0 MOV TL0,#18H ;送初值 M

14、OV TH0,#0E0H SETB EA ;CPU开中断 SETB ET0 ;T0中断允许 SETB TR0 ;启动定时 HERE:SJMP HERE ;等待中断,虚拟主程序,例6-3,中断服务程序 ORG 000BH AJMP CTC0 ORG 0120H CTC0: MOV TL0,#18H ;重新装如初值 MOV TH0,#0E0H CPL P1.0 ;P1.0取反 RETI,6.3.2 模式 1 及其应用,一、模式 1 工作特点 二、模式 1 的逻辑电路结构 三、模式1 的应用举例,一、模式 1 工作特点,该模式对应的是一个16位的定时器/计数器。 用于定时工作方式时,定时时间为: t

15、=(216初值)振荡周期12 用于计数工作方式时,计数长度最大为: 216=65536(个外部脉冲),二、模式 1 的逻辑电路结构,图6-8,二、模式 1 的逻辑电路结构,三、模式 1 的应用举例,例6-4: 用定时器T1产生一个50Hz的方波,由 P1.1输出,使用程序查询方式,fosc=12MHz。,(例6-4),解: 方波周期T=1/50=0.02s =20ms 用T1定时10ms 计数初值X为: 10 1000us=(216-X) (1/12) 12us X=21612101000/12 =6553610000=55536=D8F0H,(例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 的应用举例,一

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

当前位置:首页 > 高等教育 > 大学课件

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