第5章-MC的S-51的定时器计数器.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章-MC的S-51的定时器计数器

第5章 MCS-51的定时/计数器 本章内容 5.1 定时/计数器的结构 5.2 定时/计数器的功能 5.3 定时/计数器的工作方式和控制寄存器 5.4 定时/计数器的4种工作方式 5.5 定时/计数器的设计举例 5.1 定时/计数器的结构 5.2 定时/计数器的功能 T0 和 T1 增量式、下降沿计数 各位全都为 1 时,再输入一个脉冲 溢出→回零 TF0 或 TF1 置位,发中断申请 定时与计数的不同:时钟脉冲信号 定时,内部的时钟振荡器 计数,外部引脚 1. 计数功能 原理 对外部事件计数 计数脉冲 来自引脚 T0(P3.4)或 T1(P3.5) 负跳变(由1变成0)时,计数值 增加 1 对外部输入脉冲的要求 被采样的电平至少要维持一个机器周期,否则会漏计数 最高计数频率:晶振频率的1/24 2. 定时功能 原理 通过计数实现 计数脉冲 内部时钟脉冲 每个机器周期,计数值 加 1 定时时间=计数值×机器周期 5.3 定时/计数器的工作方式和控制寄存器 1. 方式寄存器 TMOD 2. 控制寄存器 TCON 1. 方式寄存器 TMOD C/T 定时器方式或计数器方式选择位 C/T=1,计数器 C/T=0,定时器 2. 控制寄存器 TCON 5.4 定时/计数器的4种工作方式 T0 4种:方式0、1、2、3 T1 3种:方式0、1、2 设置为方式3,将停止工作 作为串行通信口的波特率发生器(方式2) 1. 方式 0 TMOD的M1M0为00 13位计数:TL0的低5位(高3位未用)+ TH0的8位 TL0的低5位溢出时,向TH0进位 TH0溢出时,置位TCON中的TF0标志,发出中断请求 计数个数M与计数初值N M = 213-N 213:溢出时的计数值 定时时间 t t = M×机器周期 = (213-N)×机器周期 N = 213 - t/机器周期 计数初值 N = 8191~0 计数范围:1~8192 2. 方式 1 TMOD的M1M0为01 16位:TL0 + TH0 计数个数M与计数初值N: M=216-N 定时时间 t = M×机器周期 计数初值 N = 65535~0;计数范围:1~65536 3. 方式 2 定时器/计数器 的 初值计算 设 计数器计数的最大值:M 计数值:N 初值:X X的计算方法  计数状态:X = M - N 定时状态:X = M - 定时时间/T T = 12 ÷ 晶振频率 4. 方式 3 TL0:定时器和计数器 占用T0的控制位 TH0:定时器 仅借用T1的 TR1、TF1 不受门控;启、停受TR1控制 溢出时,置位 TF1 T1: 只能作定时器,波特率发生器 原则上,仍可按方式0、1、2工作 不能使用TR1和TF1,也不能发出中断请求 方式设定后,自动运行;要停止工作,只需设定为方式3 T1溢出判断 通过在线“飞读”TH1和TL1,判断是否溢出。 串行通信应用中 T1:串行口波特率发生器,工作于方式2 T0:工作于方式3 可充分利用单片机的定时/计数器资源。 5.5 定时/计数器的设计举例 51单片机的定时/计数器,常工作于中断场合 应用设计步骤 (1)计算定时/计数器的初值 (2)主程序中,初始化 定时/计数器的初始化 中断初始化 TH0、TL0、TH1、TL1、TMOD、TCON、IP、IE (3)中断服务程序设计 [例1]方式1 利用定时/计数器T0的方式1,产生一个50Hz的方波,此方波由P1.0引脚输出,晶振频率为12 MHz。 思路: f=50Hz,则其周期为T=1/50=0.02s 计满0.01s,P1.0输出0,再计满0.01S,P1.0输出1 T0产生0.01s定时 解题步骤 (1)定时 0.01s的初值计算 机器周期 = 12 ÷ 12 MHz = 1 μs 0.01s内 T0 需要计数 N 次 N = 0.01s ÷1 μs = 0.01/(10-6) = 10000 若用方式1的16 位计数器,T0 的初值X为 X = M-N = 216-10000 = 55536 (2)T0的TMOD的初始化 GATE=0,C/T=0,M1M0=01,即:T0的方式1 (3)实现方法 查询的方法和中断的方法 实现方法 (1)查询方式 查询T0的TF0:为1,定时时间到,对P1.0取反操作 缺点:占用CPU (2)中断方式 定时到,TF0=1,向CPU申请中断,CPU响应中断后,执行中断程序,中断程序中对P1.0取反操作 [例2]方式1 利用定时/计数器T1产生一个1Hz的方波,此方波由P0.0引脚输出,晶振频率为6MHz 思路: f=1Hz,T=1s 此题转化为 由定时器产生:0.5s 定时 0.5s定时,实现

文档评论(0)

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

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

1亿VIP精品文档

相关文档