网站大量收购独家精品文档,联系QQ:2885784924

模块4中断与定时器计数器的应用.ppt

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

二、定时器/计数器的结构和工作原理 1、内部结构 两个定时器T0和T1:16位加1计数器,通过编程来设置工作状态 定时器方式寄存器TMOD:设置定时器的工作方式 定时器控制寄存器TCON:启动和停止定时器的计数;计数溢出标志 T0由两个8位寄存器TH0、TL0组成 T1由两个8位寄存器TH1、TL1组成 2、工作原理 定时/计数器归根结底就是计数器。每接收到一个计数脉 冲,加法计数器的值就加一,当计满时发生溢出,并从0开始 继续计数。 (1)定时功能(设置TMOD中位 =0 ) 对单片机内部机器周期脉冲进行计数。由于机器周期是定值,对Tcy的计数就是定时,如Tcy=1us,计数值为100, 相当于定时100us; (2)计数功能(设置TMOD中位 =1) 对单片机外部T0(P3.4)、T1(P3.5)引脚输入的外部脉冲 信号进行计数,每输入一个脉冲,计数值加1。 由图中可看出,定时/计数器具有两种功能: 三、定时器/计数器的控制 与定时/计数器有关的控制寄存器有2个 1、定时器控制寄存器TCON(字节地址88H) TR0(TR1)— — 定时/计数器T0(T1)运行控制位 TR0(TR1)=1 启动定时器T0(T1) TR0(TR1)=0 停止定时器T0(T1) 该位需由软件进行设置 TCON除字节寻址之外,还可以进行位寻址 例如:启动T0开始计数,运行指令: MOV TCON, 或 SETB TR0 三、定时器/计数器的控制 与定时/计数器有关的控制寄存器有2个 1、定时器控制寄存器TCON(字节地址88H) TF0(TF1)— — 定时/计数器T0(T1)溢出标志位 当定时/计数器计数溢出时,该位由硬件自动置“1” 在查询方式下,此位作计数溢出状态位供查询,注意 溢出后应以软件方法及时清0; 在中断方式下,此位会当T0/T1溢出时,由硬件自动 置1,并向CPU申请中断,当CPU响应中断进入中断服务 程序后,它又被硬件自动清0。 (CLR TF0 或 CLR TF1) 2、定时器工作方式寄存器TMOD(字节地址89H) 主要用于对2个定时器T0、T1的工作方式进行设定, TMOD不能位寻址,只能用字节指令设置定时器工作方式。 GATE— —门控制位 ●GATE=0,允许软件控制位TR0或TR1启动定时器; ●GATE=1,允许外中断引脚INT0(或INT1)为高电平,且 软件使TR0(或TR1)置1时,才能启动定时器工作。 注:一般情况下,取GATE=0 三、定时器/计数器的控制 — —定时/计数功能选择位 ● =0,对单片机内部机器周期进行计数,作定时器用; ● =1,对单片机外部从T0(P3.4)、T1(P3.5)引脚输入 的外部脉冲信号进行计数,作计数器用。 2、定时器工作方式寄存器TMOD(字节地址89H) 三、定时器/计数器的控制 M1 M0— —工作方式选择位 M1M0=0 0 方式0 M1M0=0 1 方式1 M1M0=1 0 方式2 M1M0=1 1 方式3 13位计数器,最大值计数值8192 16位计数器,最大值计数值65536 初值自动重装8位计数器,最大值计数值256 2个8位计数器,仅适用于T0 2、定时器工作方式寄存器TMOD(字节地址89H) 三、定时器/计数器的控制 课堂练习 1、使用定时器T0进行定时,要求其工作在工作方式1下, 应如何设置TMOD?写出指令。 2、使用定时器T1进行计数,要求其工作在工作方式2下, 应如何设置TMOD?写出指令。 MOV TMOD, MOV TMOD, M1 M0=00 TH0的高8位和TL0的低5位组成一个13位计数器 在这种模式下,16位寄存器只用了13位。TL0中的高三位 弃之不用,当TL0的低5位溢出时,向TH0进位。当TH0溢出时, 向中断标志位TF0进位。 注:在计数溢出将TF0置1的同时,计数器被自动全部变0, 然后从0开始继续计数。 四、定时器/计数器的工作方式(以T0为例) 方式0下定时器计数器的计数范围及初值X的计算 ◆定时器的计数规律: T0从某初值X开始,对脉冲计数到8192溢出时, 计数个数为:8192-X ◆最大计数范围: T0从初值X=0开始,对脉冲计数到8192溢出时, 计数个数为:8192-0=8192 ◆定时时间: 定时值= 计数个数×机器周期 =(8192-X) ×机器周期 最大定时值=(8192-0) ×机器周期 注:计算

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档