第6章定时器及应用-单片机原理及接口技术第3版课件精品.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第6章定时器及应用-单片机原理及接口技术第3版课件精品.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 定时器 应用 单片机 原理 接口 技术 课件 精品
- 资源描述:
-
1、10:426.1 6.1 定时器概述定时器概述6.2 6.2 定时器的控制定时器的控制 6.3 6.3 定时器的四种模式及应用定时器的四种模式及应用 6.4 6.4 思考题与习题思考题与习题第六章第六章 定时器及应用定时器及应用6.1 6.1 定时器概述定时器概述6.1.1 89C51定时器结构6.1.2 89C51定时器功能10:426.1.1 89C516.1.1 89C51定时器结构定时器结构 89C51定时器的结构如 图6-1 所示。有两个16位的定时器/计数器,即定时器0(T0)和定时器1(T1)。都是16位加1计数器。T0由两个8位特殊功能寄存器TH0和TL0构成;T1由TH1和T
2、L1构成。10:4210:426.1.2 89C516.1.2 89C51定时器功能定时器功能 每个定时器都可由软件设置为 定时工作方式或 计数工作方式。由特殊功能寄存器TMOD和TCON所控制。定时器工作不占用CPU时间,除非定时器/计数器溢出,才能中断CPU的当前操作。定时器/计数器有四种工作模式。其中模式0-2对T0和T1是一样的,模式3对两者不同。10:42定时工作方式定时工作方式定时器计数89C51片内振荡器输出经12分频后的脉冲,即每个机器周期使定时器(T0或T1)的数值加1直至计满溢出。当89C51采用12MHz晶振时,一个机器周期为1s,计数频率为1MHz。10:42计数工作方
3、式计数工作方式 通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数。当输入脉冲信号产生由1至0的下降沿时计数器的值加1。CPU检测一个检测一个1至至0的跳变需要两个机器周期,的跳变需要两个机器周期,故最高计数频率为振荡频率的故最高计数频率为振荡频率的1/24。为了确保某个电平在变化之前被采样一次,要求电平保持时间至少是一个完整的机器周期。对输入脉冲信号的基本要求如 图6-2所示。10:426.2 6.2 定时器的控制定时器的控制 6.2.1 工作模式寄存器 TMOD 6.2.2 控制器寄存器 TCON10:426.2.1 6.2.1 工作模式寄存器工作模式寄存器 TMODTMOD T
4、MOD用于控制T0和T1的工作模式。TMOD不能位寻址,只能用字节设置定时器的工作模式,低半字节设置T0,高半字节设置T1。89C51系统复位时,TMOD的所有位被清0。TMOD各位的定义格式如 图6-3 所示。TMOD各位定义及具体的意义归纳如 图6-4所示。10:42图图6-3 工作模式寄存器工作模式寄存器TMOD的位定义的位定义定时器定时器T1定时器定时器T0TMOD(89H)D7 D6 D5 D4 D3 D2 D1 D0GATE C/T M1 M010:42GATE C/T M1 M0 M1和M0操作模式控制位。两位可形成四种编码,对应于四种模式。M1 M0工工作作模模式式功功能能描描
5、述述0 0模模式式 013 位位计计数数器器0 1模模式式 116 位位计计数数器器1 0模模式式 2自自动动再再装装入入 8 位位计计数数器器1 1模模式式 3定定时时器器 0:分分成成二二个个 8 位位计计数数器器 定定时时器器 1:停停止止计计数数表表6-1 M1,M0控制的四种工作模式控制的四种工作模式10:42 C/T计数器/定时器方式选择位。C/T=0,设置为定时方式。定时器计数89C51片内脉冲,即对机器周期计数。C/T=1,设置为计数方式。计数器的输入来自引脚T0(P3.4)或T1(P3.5)端的外部脉冲。10:42 GATE门控位。GATE=0,只要用软件使TR0(或TR1)
6、置1就可以启动定时器,而不管INT0(或INT1)的电平是高还是低。GATE=1,只有INT0(或INT1)引脚为高电平且由软件使TR0(或TR1)置1时,才能启动定时器工作。10:4210:426.2.2 控制器寄存器控制器寄存器 TCON TCON除可字节寻址外,各位还可位寻址可位寻址。89C51系统复位时,TCON的所有位被清0。TCON各位的定义格式如 图6-5所示。TCON各位定义及具体的意义归纳如 图6-6所示。TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCON(88H)8FH 8EH 8DH 8CH 8BH 8AH 89H 88H图图6-5 控制寄存器控制寄存
7、器TCON的位定义的位定义10:42 TF1(TCON.7)T1溢出标志位。当T1溢出时,由硬件自动使中断触发器TF1置1,并向CPU申请中断。当CPU响应中断进入中断服务程序后,TF1被硬件自动清0。TF1也可以用软件清0。10:42 TF0(TCON.5)T0溢出标志位。其功能和操作情况同TF1。当T0溢出时,由硬件自动使中断触发器TF0置1,并向CPU申请中断。当CPU响应中断进入中断服务程序后,TF1被硬件自动清0。TF1也可以用软件清0。10:42 TR1(TCON.6)T1运行控制位。可通过软件置1(TR1=1)或清0(TR1=0)来启动或 关闭 T1工作。在程序中用指令“SETB
8、 TR1”使TR1位置1,定时器T1便开始计数。用“CLR TR1”使TR1清0,定时器停止工作。10:42 TR0(TCON.4)T0运行控制位。其功能和操作情况同TR1。可通过软件置1(TR0=1)或清0(TR0=0)来启动或 关闭 T0。在程序中用指令“SETB TR0”使TR0位置1,定时器T0便开始计数。用“CLR TR0”使TR0清0,定时器停止工作。10:42 IE1,IT1,IE0,IT0(TCON.3TCON.0)外部中断INT1,INT0请求及请求方式控制位。前一章已经讲过。10:4210:426.3 定时器的四种模式及应用定时器的四种模式及应用 6.3.1 模式 0 及其
9、应用6.3.2 模式 1 及其应用6.3.3 模式 2 及其应用6.3.4 模式 3 及其应用6.3.5 综合应用举例6.3.1 模式模式 0 及其应用及其应用一、模式一、模式 0 0 的逻辑电路结构的逻辑电路结构T0T0在模式在模式 0 0 的逻辑电路结构如的逻辑电路结构如图图6-76-7所示。(所示。(T1T1相同)相同)二、模式二、模式 0 0 工作特点工作特点三、模式三、模式 0 0 的应用举例的应用举例10:42二、模式二、模式 0 工作特点工作特点在这种模式下,在这种模式下,1616位寄存器(位寄存器(TH0TH0和和TL0TL0)只用了)只用了。其中。其中TL0TL0的高的高3
10、3位未用,其余位未用,其余5 5位为整个位为整个1313位的低位的低5 5为,为,TH0TH0占高占高8 8位。当位。当TL0TL0的低的低5 5位溢位溢出时,向出时,向TH0TH0进位;进位;TH0TH0溢出时,向中断标志溢出时,向中断标志TF0TF0进位(硬件置位进位(硬件置位TF0TF0),),并申请中断。并申请中断。定时时间为:定时时间为:t=(2t=(21313T0T0初值初值)振荡周期振荡周期1212用于计数工作方式时,计数长度为:用于计数工作方式时,计数长度为:L=(2L=(21313T0T0初值初值)(个外部脉冲)(个外部脉冲)TH0TL08位5位10:42三、模式三、模式 0
11、 的应用举例的应用举例例6-1:设晶振为12MHz,试计算定时器T0工作于模式0时的最大定时时间T。解:当T0处于工作模式0时,加1计数器为13位。因为:定时时间为:因为:定时时间为:t=(2t=(21313T0T0初值初值)振荡周期振荡周期1212 最大定时时间为最大定时时间为“T0T0初值初值=0”=0”时。时。所以:所以:122T13 振振荡荡周周期期12101212613 ms192.81081926 10:42例6-2:设定时器T0用于定时10ms,晶振为6MHz。试确定T0初值。并编写定时器T0初始化程序段。解:解:1 1)确定)确定T0T0初值初值 当当T0处于工作模式处于工作模
12、式0时,加时,加1计数器为计数器为13位。位。定时时间:定时时间:120T2(T13 振振荡荡周周期期初初值值)所以:所以:120T2(ms1013 振振荡荡周周期期初初值值)12106101020T6313 初初值值T0T0初值初值=3192=C78H=3192=C78H =011000110110001111000 B11000 B即:(即:(TH0)=0110 0011 B=63H(高(高8位)位)(TL0)=1 1000 B=18H(低(低5位)位)10:42 TMOD的低四位为的低四位为T0的控制位的控制位 模式模式0:M1M0=00,定时器方式:定时器方式:C/T=0,门控位不受门
13、控位不受INT0的影响:的影响:GATE=0,其余位:其余位:为为 0。模式字为模式字为 TMOD=0000 0000 B=00H定时器定时器T1定时器定时器T0GATE C/T M1 M0 GATEM1C/TM0TMOD(89H)D7 D6 D5 D4 D3 D2 D1 D0解:解:2 2)确定确定TMOD的初值的初值10:42解:解:3 3)编写定时器编写定时器T0T0的初始化程序段的初始化程序段主程序:主程序:ORG 0100HORG 0100HMAIN:MOV SP,#60H MAIN:MOV SP,#60H ;设堆栈指针;设堆栈指针 MOV TMOD,#00H MOV TMOD,#0
14、0H ;选择工作模式;选择工作模式 MOV TH0,#63HMOV TH0,#63H ;送初值;送初值 MOV TL0,#18HMOV TL0,#18H SETB TR0 SETB TR0 ;启动定时;启动定时 10:42例6-3:设定时器T1工作于模式0,晶振为6MHz。编程实现:每10ms时间P1.0取反的程序。解:解:1 1)确定)确定T1T1初值初值 T1处于工作模式处于工作模式0时,定时时间位时,定时时间位10ms(同例(同例2)。)。(TH1)=0110 0011 B=63H(高(高8位)位)(TL1)=1 1000 B=18H(低(低5位)位)121T2(T13 振振荡荡周周期期
15、初初值值)定定时时时时间间:2 2)确定)确定TMODTMOD的初值的初值TMOD的高四位为T1的控制位 模式0:M1M0=00,定时器方式:C/T=0,门控位不受INT0的影响:GATE=0,其余位:为 0。模式字为 TMOD=0000 0000 B=00H10:42解:解:3 3)编写程序)编写程序初始化引导程序:ORG 0000HRESET:AJMP MAIN ;跳过中断服务程序区 ORG 001BH ;中断服务程序入口 AJMP ITOP主程序:ORG 0100HMAIN:MOV SP,#60H ;设堆栈指针 MOV TMOD,#00H ;选择工作模式 MOV TH1,#63H ;送初
16、值 MOV TL1,#18H SETB P1.0 ;P1.0置1 SETB TR1 ;启动定时 SETB ET1 ;T1开中断 SETB EA ;CPU开中断 HERE:AJMP HERE ;等待时间到,转入中断服务程序10:42中断服务程序中断服务程序 ORG 0150HITOP:MOV TL1,#18H;重新装入初值 MOV TH1,#63H CPL P1.0;P1.0取反 RETI;中断返回例例6-46-4:利用:利用T0T0的工作模式的工作模式0 0产生定时,在产生定时,在P1.0P1.0引脚输出周期为引脚输出周期为10ms10ms的方波。设晶振频率的方波。设晶振频率fosc=12MH
17、zfosc=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)10-612=510-3 sT0初值=3192 D=C78 H=01100011 11000 BT0的低5位:11000 B=18H 即(TL0)=18HT0的高8位:01100011 B=63H 即(TH0)=63H 10
18、:42(3)采用查询方式的程序程序清单:ORG 0000HLJMPMAIN ;初始化引导程序ORG0080HMAIN:MOV TMOD,#00H ;设置T0为模式0 MOV TL0,#18H ;送初值 MOV TH0,#63HSETBP1.0 SETB TR0 ;启动定时LP:JBC TF0,NEXT ;查询定时时间到否 SJMP LPNEXT:MOV TL0,#18H ;重装计数初值 MOV TH0,#63H CPL P1.0 ;取反 SJMP LP ;重复循环10:42(4)采用定时器溢出中断方式的程序 ORG 0000H ;主程序RESET:AJMP MAIN ;跳过中断服务程序区 OR
19、G 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 ;P1.0取反 RETI;中断返回10:42模式模式 0 的应用举例完的应用举例完6.3.2 模式模式 1 及其应用及
20、其应用一、模式 1 的逻辑电路结构:T0在模式 1 的逻辑电路结构如 图6-8所示。(T1相同)二、模式 1 工作特点三、模式 1 的应用举例10:42二、模式二、模式 1 工作特点工作特点 该模式对应的是一个16位的定时器/计数器。用于定时工作方式时,定时时间为:用于定时工作方式时,定时时间为:t=(2t=(21616T0T0初值初值)振荡周期振荡周期1212 用于计数工作方式时,计数长度为:用于计数工作方式时,计数长度为:(2(21616T0T0初值初值)(个外部脉冲)(个外部脉冲)TH0TL08位8位10:42三、模式三、模式 1 的应用举例的应用举例例例6-56-5:设定时器:设定时器
21、T0T0选择工作模式选择工作模式1 1的计数器工作方式,其的计数器工作方式,其计数器初值为计数器初值为FFFFFFFFH H,问此时定时器,问此时定时器T0T0的实际用途是什的实际用途是什么?么?解:因其初值为解:因其初值为FFFFHFFFFH,只要随机外来一脉冲即可溢出,向,只要随机外来一脉冲即可溢出,向CPUCPU申请中断,故这一内部中断源实质上已作为外部中申请中断,故这一内部中断源实质上已作为外部中断源使用。因此此定时器断源使用。因此此定时器T0T0并不用于定时或计数。并不用于定时或计数。10:42例例6-66-6:设晶振为:设晶振为12MHz12MHz,试计算定时器,试计算定时器T0T
22、0工作于模式工作于模式1 1时的最时的最大定时时间大定时时间T T。解:解:当当T0T0处于处于工作模式工作模式1 1时,加时,加1 1计数器为计数器为1616位位。定时时间为:t=(216T0初值)振荡周期12 最大定时时间为“T0初值=0”时。所以:122T16 振振荡荡周周期期12101212616 ms536.6510655366 10:42例例6-76-7:用定时器:用定时器T1T1产生一个产生一个50Hz50Hz的方波,由的方波,由 P1.1P1.1输出。使用程序查输出。使用程序查询方式,询方式,fosc=6MHzfosc=6MHz。解:1)确定定时器T1初值 方波周期 T=1/5
23、0=0.02s=20ms 用T1定时10ms,时间到P1.1引脚电平取反。121T2t16 振振荡荡周周期期初初值值)(定定时时时时间间:12t21T16 振振荡荡周周期期初初值值121061ms1021T616 初初值值H78EC605361T 初初值值(TH1TH1)=ECH=ECH,(,(TL1TL1)=78H=78H20ms10ms 10ms10:42解:解:2 2)确定工作模式寄存器)确定工作模式寄存器TMODTMOD的值的值 定时器T1工作于模式1的定时器工作方式,高四位:高四位:GATE=0,C/T=0,M1M0=01,低四位:取,低四位:取0。(TMODTMOD)=0001 0
展开阅读全文