文档详情

51系列单片机定时器计数器.pptx

发布:2020-02-23约1.17万字共62页下载文档
文本预览下载声明
7.1 定时器/计数器概述7.1.1 定时方法在单片机控制系统中,定时的方法有:1. 软件定时 靠执行一个循环程序以进行时间延迟。特点是:时间精确,且不需外加硬件电路。缺点是:定时时要占用CPU,增加CPU的开销。2.硬件定时 使用硬件电路来完成。方法是:定时功能全部由硬件电路完成,不占CPU的时间。缺点是:定时参数一旦设定,修改比较困难。适用于:时间较长的定时3.可编程定时器 通过系统对时钟脉冲的计数来实现。通过程序可以改变计数值,也就改变了定时时间。同时可编程定时器具有定时和计数功能。7.1.2定时器/计数器的结构 MCS-51系列单片机有两个16位的定时器,分别为T0和T1。它们都有定时和事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合 。 T0由两个8位特殊功能寄存器TH0和TL0构成; T1由TH1和TL1构成。 T0、T1由软件设置为定时器工作方式或计数方式及其他灵活多样的可控功能方式。 T0、T1的功能都由特殊功能寄存器TMOD和TCON所控制。AT89C51定时器结构: 定时器工作方式:每个机器周期使定时器(T0或T1)的数值加1直至计数溢出。 计数器工作方式:在每个机器周期的S5P2期间采样T0和T1引脚,若某一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。最高计数频率为振荡频率的1/24。7.2 定时器/计数器的控制 8位寄存器TMOD和TCON,用来设置T0和T1的操作模式和控制功能。当系统复位时,两个寄存器所有位被清0。1.工作模式寄存器TMOD (89H,不能位寻址只能由字节设置定时器工作模式)定时器T1工作模式定义定时器T0工作模式定义GATEC / T M1 M0 GATEC / T M1 M0M1、M0:工作模式控制位 ( 定义4 种方式 ):0 0: 模式0 13位定时器——作用不大0 1: 模式1 16位定时器——经常用到1 0: 模式2 可自动重装的8位定时器——经常用到1 1: 模式3 T0分为2个8位定时器;T1不工作——几乎无用 (89H)GATE C / T M1 M0GATE C / T M1 M0T0T1C/T :计数器/定时器选择位 =0 片内时钟定时器。对机器周期脉冲计数定时 = 1外部事件计数器。对T0(T1)引脚的负脉冲计数;GATE门控位: 定时器可由软件与硬件两者控制 ? GATE = 0 ——普通用法 定时器的启/停由软件对TR0(TR1)位写“1”/“0”控制,不管INT0、INT1的电平。 ? GATE = 1 ——门控用法 INT0或INT1引脚为高电平且由软件使TR0或TR1置1时,才能启动定时器工作。 2.定时器控制寄存器TCON (88H,可位寻址)8FH8EH8DH8CH8BH8AH89H88HTF1TR1TF0TR0 IE1IT1IE0IT0TF0(TF1):定时器0/1计数溢出标志位。 =1 计数溢出;=0 计数未满 TF0(TF1) 可用于申请中断或供CPU查询。 在进入中断服务程序时会自动清零; 但在查询方式时必须软件清零。TR0(TR1): 定时器0/1运行控制位。 =1 启动计数;=0 停止计数 在程序中用指令“SETB TR1”使TR1位置1,定时器T1便开始计数。定时器T0/T1 中断申请过程定时/计数器可按片内机器周期定时,也可对由T0/T1引脚输入一个负脉冲进行加法计数在已经开放T0/T1中断允许且已被启动的前提下:T0/T1加满溢出时 TF0/TF1标志位自动置“1” ? 检测到TCON中TF0/TF1变“1”后,将产生指令: LCALL 000BH/LCALL 001BH 执行中断服务程序,? TF0/TF1标志位会自动清“0”,以备下次中断申请。 7.3 定时器/计数器的四种工作模式及应用 1. 模式0及应用(以T0为例) 定时器(T0或T1)的高8位和低5位(其余三位为0)组成一个13位定时器/计数器 。当TL0的低5位溢出时,向TH0进位;TH0溢出时,向中断标志位TF0进位(硬件置TF0),并申请中断。 C/T=0时定时器工作方式,控制开关接通振荡器12分频输出端,T0对机器周期计数。其定时时间为: t=(213—T0初值)X振荡周期X 12 当C/T=1时作外部事件计数器,控制开关使引脚T0(P3.4)与13位计数器相连,外部计数脉冲下降沿使计数器加1。振荡器?12C/T=0申请中断TL0 TH0 (5位) (8位)TF0M0(0)C/T=1M1(0)T0引脚控制 =1开关接通C/T110GATE≥1GATE=0时,INT0信号无效。B点电位取决于TR0的状态,于是,由TR0一位就可
显示全部
相似文档