第6章 定时器及应用_第1页
第6章 定时器及应用_第2页
第6章 定时器及应用_第3页
第6章 定时器及应用_第4页
第6章 定时器及应用_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一定时器的应用一定时器的应用计数功能的应用计数功能的应用 生产线上产品计数。每个产品通过得到一个脉冲信号,计生产线上产品计数。每个产品通过得到一个脉冲信号,计数器记录脉冲个数,当计数值与设定值相等,启动包装机数器记录脉冲个数,当计数值与设定值相等,启动包装机器。器。 检测转速。电机转动一圈发出一个脉冲,计数器记录一秒检测转速。电机转动一圈发出一个脉冲,计数器记录一秒时间内脉冲个数,显示转速。时间内脉冲个数,显示转速。定时功能的应用定时功能的应用 用于实时控制,定时采样、定时启动等。当定时时间与设用于实时控制,定时采样、定时启动等。当定时时间与设定值相等,执行规定操作。定值相等,执行规定操作。

2、定时器中的核心部件为可预置初值计数器。预置初值后开始定时器中的核心部件为可预置初值计数器。预置初值后开始计数,直至计数值归计数,直至计数值归0或产生溢出,可申请中断。或产生溢出,可申请中断。 计数器有加计数器有加 1 计数或减计数或减1计数两种形式。计数两种形式。K1K2可预置初值计数器可预置初值计数器中断中断请求请求功能功能选择选择启动启动控制控制内部时钟脉冲内部时钟脉冲(定时)(定时)外部输入脉冲外部输入脉冲(计数)(计数)溢出信号溢出信号计数脉冲计数脉冲计数初值计数初值例:例:设设CTC中为中为8位加位加1计数器。按要求选择功能和初值。计数器。按要求选择功能和初值。要求检测到要求检测到1

3、00个脉冲,发中断请求,通知个脉冲,发中断请求,通知CPU。答:选计数功能,计数初值答:选计数功能,计数初值X=28-100=156 。要求每隔要求每隔200 s时间,发一次中断请求。设内部时钟周期时间,发一次中断请求。设内部时钟周期1 s。答:选定时功能,计数初值为答:选定时功能,计数初值为X=28-(200 s / 1 s) =56 。二、定时器的基本工作原理二、定时器的基本工作原理 89C51有两个有两个16位的位的CTC,称为定时器,称为定时器0(T0)和定时器)和定时器1(T1),可编程选择其功能(定时器或计数器)。),可编程选择其功能(定时器或计数器)。 此外,工作方式、定时时间、

4、计数值、启动、中断请求等都可此外,工作方式、定时时间、计数值、启动、中断请求等都可以由程序设定。以由程序设定。一、结构和工作原理一、结构和工作原理CPUTCON (88H)TH1TL1TH0TL0INT1(P3.3)INT0(P3.2)中断中断T1 (P3.5)定时器定时器 1定时器定时器 0 0溢溢出出启启动动(8DH)(8BH)(8CH)(8AH)启启动动内部总线内部总线溢出溢出 工作方式工作方式工工作作方方式式70T0 (P3.4)70TMOD (89H)707089C51定时定时/计数器逻辑结构图计数器逻辑结构图CPUTCON (88H)TH1TL1TH0TL0INT1(P3.3)IN

5、T0(P3.2)中断中断T1 (P3.5)定时器定时器 1定时器定时器 0 0溢溢出出启启动动(8DH)(8BH)(8CH)(8AH)启启动动内部总线内部总线溢出溢出 工作方式工作方式工工作作方方式式70T0 (P3.4)70TMOD (89H)707089C51定时定时/计数器逻辑结构图计数器逻辑结构图 89C51的整个的整个CTC由由T0、T1、定时器方式寄存器、定时器方式寄存器TMOD和定和定时器控制寄存器时器控制寄存器TCON组成。组成。 T0,T1是是16位加法计数器,分别由两个位加法计数器,分别由两个8位位SFR组成:组成:T0由由TH0和和TL0组成。组成。T1由由TH1和和TL

6、1组成。组成。每个寄存器均可单独访问。每个寄存器均可单独访问。 T0或或T1用作计数器时,对芯片引脚用作计数器时,对芯片引脚T0(P3.4)或)或T1(P3.5)上输入脉冲计数,每输入一个脉冲,加法计数器加上输入脉冲计数,每输入一个脉冲,加法计数器加1。(外部。(外部脉冲的下降沿有效,最高频率脉冲的下降沿有效,最高频率11INT0中断TH08位TF0TL05位定时器定时器0(或定时器(或定时器1)在方式)在方式1时的逻辑电路结构图时的逻辑电路结构图振荡器12C/T=0C/T=1控制T0TR0GATE&11INT0中断TH08位TF0TL08位二、方式二、方式1 16位定时位定时/计数器

7、。计数器。 TH0/TH1 8位和位和TL0/TL18位组成位组成16位加位加1计数器。计数器。 最大计数值:最大计数值: M=216=65536。 方式方式1结构与操作几乎完全与方式结构与操作几乎完全与方式0相同,惟一差别是二者计相同,惟一差别是二者计数位数不同。数位数不同。#4三、方式三、方式2 自动恢复初值自动恢复初值8位定时位定时/计数器。计数器。TL0/TL1为为8位加位加1计数器,计数器,TH0/TH1为为8位初值暂存器。位初值暂存器。 最大计数值:最大计数值: M=28=256 。定时器定时器0(或定时器(或定时器1)方式)方式2时的逻辑结构图时的逻辑结构图振荡器12控制T0TR

8、0GATE&11INT0中断TF0TH0(8位)重新输入TL0(8位)C/T=0C/T=1定时器定时器0具方式具方式3时的逻辑结构时的逻辑结构振荡器12控制T0TR0GATE&11INT0中断TF0TL0(8位)121fosc中断TF1TH0(8位)TR1C/T 0C/T 1121fosc121fosc四、方式四、方式3 (仅(仅T0有)有) 定时器定时器0被拆成两个独立的被拆成两个独立的8位计数器位计数器TL0和和TH0。 TL0占用原占用原T0的控制位、引脚和中断源,即的控制位、引脚和中断源,即GATE、TR0、TF0和和T0(P3.4)引脚、)引脚、INT0(P3.2)引

9、脚。除计数器位数)引脚。除计数器位数不同于方式不同于方式0、1外,其功能、操作与方式外,其功能、操作与方式0、1完全相同,可完全相同,可定时亦可计数。定时亦可计数。 TH0占用原占用原T1的控制位的控制位TF1和和TR1,同时还占用了,同时还占用了T1的中断的中断源,其启动和关闭仅受源,其启动和关闭仅受TR1控制。控制。TH0只能用来定时,不能只能用来定时,不能用作对外部脉冲进行计数。用作对外部脉冲进行计数。定时器定时器0具方式具方式3时的逻辑结构时的逻辑结构振荡器12控制T0TR0GATE&11INT0中断TF0TL0(8位)121fosc中断TF1TH0(8位)TR1C/T 0C/

10、T 1121fosc121fosc T0方式方式3时,时,T1仍可设置为方式仍可设置为方式0、1、2。但因。但因TR1、TF1已已被被TH0占用,此时,占用,此时,T1仅由控制位仅由控制位C/T切换其定时或计数功能,切换其定时或计数功能,当计数器溢出时,只能将输出送往串行口,此时当计数器溢出时,只能将输出送往串行口,此时T1一般用作串一般用作串口波特率发生器或不需要中断的场合。口波特率发生器或不需要中断的场合。 因因T1的的TR1被占用,其启动和关闭较为特殊,当设置好工被占用,其启动和关闭较为特殊,当设置好工作方式时,作方式时,T1即自动启动。若要停止,只需送入一个设置即自动启动。若要停止,只

11、需送入一个设置T1为为方式方式3的方式字即可。的方式字即可。定时器定时器0具方式具方式3时的逻辑结构时的逻辑结构振荡器12控制T0TR0GATE&11INT0中断TF0TL0(8位 )121fosc中断TF1TH0(8位 )TR1C/T 0C/T 1121fosc121fosc 由于定时器的功能是由软件编程确定的,所以,一般在使用由于定时器的功能是由软件编程确定的,所以,一般在使用前都要对其初始化。初始化骤如下:前都要对其初始化。初始化骤如下: 一、定时器的初始化一、定时器的初始化确定工作方式确定工作方式对对TMOD设置设置 按实际需要选择定时按实际需要选择定时/计数功能计数功能 按时

12、间或计数长度选择方式按时间或计数长度选择方式 采用内部启动还是外部启动采用内部启动还是外部启动计数初值计算计数初值计算 计数功能:计数初值计数功能:计数初值X= 2n -计数值计数值 定时功能:计数初值定时功能:计数初值X= 2n - t/MC n计数器长度(计数器长度(8/13/16)t 定时时间,定时时间,MC机器周期(机器周期(12/fosc)预置定时或计数初值预置定时或计数初值直接将初值写入直接将初值写入TH0、TL0或或TH1、TL1。预置初值指令:预置初值指令:MOV TH0/TH1,#XH MOV TL0/TL1,#XL启动定时启动定时/计数器工作计数器工作将将TR0或或TR1置

13、置“1”。 GATE = 0时,直接由软件置位启动;时,直接由软件置位启动; GATE = 1时,除软件置位外,还必须在外中断引脚时,除软件置位外,还必须在外中断引脚INT0或或INT1处加上高电平才能启动。处加上高电平才能启动。根据需要开启定时根据需要开启定时/计数器中断计数器中断直接对直接对IE寄存器赋值。寄存器赋值。二、定时二、定时/计数器编程格式计数器编程格式MOV TMOD,# 方式字方式字;选择方式;选择方式MOV TH0/TH1,#XH;预置初值;预置初值MOV TL0/TL1,#XL(SETB EA);根据需要开中;根据需要开中(SETB ET0/ET1)SETB TR0/TR

14、1 ;启动定时器;启动定时器初始化编程格式初始化编程格式注意:注意:方式方式0(13位):位):TL0/TL1的低的低5位有效位有效方式方式2(8位)位) :TL0/TL1=TH0/TH1=X ;定时器初始化;定时器初始化WAIT: JBC TF0/TF1,PT ;检测溢出标志;检测溢出标志SJMP WAITPT: MOV TH0/TH1,#XH ;重装初值;重装初值MOV TL0/TL1, #XL ;溢出处理;溢出处理SJMP WAIT溢出处理编程格式溢出处理编程格式查询方式:先查询定时器溢出标志,再进行溢出处理。查询方式:先查询定时器溢出标志,再进行溢出处理。注意:注意:方式方式2时,不必

15、时,不必重装初值。重装初值。ORG 0000HLJMP MAINORG 000BH(001BH);T0/T1中断入口中断入口LJMP PTSMAIN: ;初始化后执行其他程序;初始化后执行其他程序PTS:MOV TH0/TH1,#XH ;重装初值(中断服务程序);重装初值(中断服务程序)MOV TL0/TL1, #XL ;溢出处理;溢出处理RETI中断方式:初始化后执行其他任务,中断服务程序处理溢出。中断方式:初始化后执行其他任务,中断服务程序处理溢出。注意:注意:方式方式2时,不必时,不必重装初值。重装初值。例例1:由由P1.0输出方波信号,周期为输出方波信号,周期为2ms,设,设fosc=

16、12MHz。2ms解:每隔解:每隔1ms改变一次改变一次P1.0的输出状态。用的输出状态。用T0非门控方式非门控方式1定时。定时。 定时初值:定时初值:X = 216 - t/MC = 216 -1000/1 = FC18H START:MOVTMOD,#MOVTH0,#MOVTL0,#SETBTR0 LOOP:JBCTF0,PTF0SJMPLOOP PTF0: CPLP1.0MOVTL0,#MOVTH0,#SJMPLOOP三、应用举例三、应用举例查询方式:查询方式: ORG0000HAJMPMAINORG000BHAJMPPT0INTORG0100H MAIN:MOVSP,#60HMOVTM

17、OD,#MOVTH0,#MOVTL0,#SETBEASETBET0SETBTR0 HERE:SJMPHERE PT0INT:CPLP1.0 MOVTL0,#MOVTH0,#RETI中断方式中断方式例例2: P1.7驱动驱动LED亮亮1秒灭秒灭1秒地闪烁,设秒地闪烁,设fosc=6MHz。长定时方法:增加一个硬件计数器或一个软件计数器。长定时方法:增加一个硬件计数器或一个软件计数器。 硬件计数器:硬件计数器: 由由T0负责在负责在P1.0脚上产生脚上产生100ms的方波,的方波,T1计计数数P1.0脚上的负跳边次数,计满脚上的负跳边次数,计满10个跳边恰好为个跳边恰好为1秒,每隔秒,每隔1秒对秒

18、对P1.7脚取反一次。脚取反一次。START: MOV TMOD,#61H MOV TL1,#0F6H MOV TH1,#0F6H CLR P1.0 SETB TR1LOOP1: CPL P1.7LOOP2 : MOV TL0,#58H MOV TH0,#9EH SETB TR0LOOP3: JBC TF0,LOOP4 SJMP LOOP3LOOP4: CPL P1.0 JBC TF1,LOOP1 SJMP LOOP2100ms10个个软件计数器:软件计数器: T0定时定时100ms,每溢出一次计数单元,每溢出一次计数单元R0增增1,计,计满满10个(恰好为个(恰好为1秒)对秒)对P1.7脚取反一次。脚取反一次。START: MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,# 3CH SETB TR0 MOV R0,#0LOOP: JNB TF0,LOOP CLR TF0 INC R0 CJNE R0,#10,LOOP1 CPL P1.7 MOV R0,#0LOOP1 : MOV TL0,#0B0H MOV TH0,# 3CH SJMP LOOP P1.78031+5V解:解: INT1引脚输入被检测信号,记录在正脉冲的时间内包含引脚输入被检测信号,记录在正脉冲的时间内包含机器脉冲个数。机器脉冲个数。设脉宽小于设脉宽小于65.5ms等待查询等待查询IN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论