单片机 第6章 定时器.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 定时器及应用 6.1 概述 两个16位定时器/计数器:T0、T1 各有两个8位加1计数器TH、TL 工作方式由软件设定: 定时器方式,内部脉冲触发,每个机器周期定时器加1 。 计数器方式,外部脉冲触发,T0/T1引脚产生负跳变,计数器加1 。 下降沿触发。 由TMOD和TCON两个SFR控制 计数器溢出(全1变为全0)时可以申请中断 对外部输入脉冲宽度的要求: 高电平、低电平的保持时间至少1个完整的机器周期TCY。故最高计数频率为单片机系统振荡频率的1/24。 6.2 定时器的控制 定时器两个控制字,初始化时写入寄存器 工作方式寄存器写入TMOD(89H) 运行控制写入TCON (88H) 时间常数字写入TH/TL 每个定时器有四种工作方式。 6.2 定时器的控制 6.2.1 工作模式寄存器 高4位用于T1,低4位用于T0 M1、M0——模式控制,对应有4种模式 ——0为定时器方式,1为计数器方式 GATE——门控位。定时器是否受 控制: 0:TR直接启动定时器, 不参与启动; 1: 和TR均为高电平时,定时器工作。参见图6-7 6.2.1 控制寄存器TCON TF1——当T1计数溢出时,硬件自动置位TF1标志,并可以向CPU申请中断。CPU响应中断时,自动清除TF1。TF1也可用软件清0。 TR1——T1运行控制位,TR1由软件控制,为1时启动T1,为0时停止T1工作。 TF0、TR0用于T0,含义同上。 6.3 定时器的四种模式及应用 定时器(T0)有四种模式,由TMOD中的M1、M0选择: 6.3 定时器的四种模式及应用 6.3.1 模式1及应用 6.3 定时器的四种模式及应用 6.3.1 模式1及应用 6.3 定时器的四种模式及应用 6.3.2 模式1及应用 6.3 定时器的四种模式及应用 6.3.2 模式1及应用 6.3 定时器的四种模式及应用 6.3.2 模式1及应用 例6-1 利用T1产生一个50Hz的方波,由P1.1输出,fosc=12MHz。 例6-2 当P3.4引脚的电平发生负跳变时,从P1.0引脚上输出一个500μs的同步脉冲。振荡频率为6MHz。 【解】思路:检测P3.4,负跳变时P1.0输出低电平,并启动T0定时500 μs,定时到后置位P1.0。 T0时间常数:X=28-500 μs/2 μs=6 例6-3 利用T1计数,每计100个脉冲,将P1.0取反。 【解】思路:T1计数100,申请中断,将P1.0取反。可以利用模式2,初值为256-100=156=9CH。 6.3 定时器的四种模式及应用 6.3.4 模式3及应用 6.3.4 模式3及应用 例6-4 某系统已使用两个外部中断源,且T1工作在模式2,作为串行口波特率发生器。现要求增加一个外部中断源,并由P1.0输出5kHz的方波。fosc=12MHz。 【解】思路:T0工作在模式3,TH0作为定时器输出方波;TL0作为计数器,初值为FFH,T0引脚作为外部中断源,每当信号负跳变时请求中断。 TH0:定时100,中断入口地址001BH(T1)输出周期200 μs(5kHz)的方波,初值为256-100 μs /1 μs=156 ; TL0:计数器,初值FFH,中断入口地址000BH; T1:定时器,模式2,初值取决于波特率。 总结: 定时器/计数器的初始化: 根据要求给方式寄存器TMOD送一个方式控制字,以设定定时器响应的工作方式; 根据需要给C/T选送初值以确定需要的定时时间或计数的初值; 根据需要给中断允许寄存器IE送中断控制字,以开放相应的中断和设定中断优先级; 给TCON送命令字以启动或禁止C/T的运行。 初值X的计算 计数器初值: 设计数模值为M,计数脉冲个数为C,则:X=M-C (M=213,216,28) 定时器初值: 设定时长度为T(μs),振荡频率fosc(MHz) ,机器周期TM=12/fosc (μs)则:X=M-T/TM 模式0~2的最大定时时间 定时时间:t=(M-X)*机器周期,可见t与振荡频率、定时器模式及初值X有关。 初值X为0时,定时时间最长。 初值X为M-1时,定时时间最短,仅一个机器周期。 设fOSC=12MHz,不同工作模式下的最大定时时间为: Mode 0: tMAX=213×1μs=8.192ms Mode 1: tMAX=216×1μs= 65.536ms Mode 2: tMAX=28×1μs= 0.256ms 应用举例(6-9):设

文档评论(0)

wxc6688 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档