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

微机原理与应用:第三十讲 定时器-计数器的工作方式.ppt

微机原理与应用:第三十讲 定时器-计数器的工作方式.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三十讲 定时器/计数器工作方式续 * 3、工作模式2 定时器/计数器T0工作模式2的结构原理如图6-4所示。 图6-4 * 工作模式2续 图6-4与图6-3相比,有二点不同。 第一点,计数器是8位的,由TL0组成。 第二点, TH0作为寄存器,存放计数器TL0的初值a,当计数器TL0计满时,TH0自动重新把初值a装入TL0(不必通过程序重装初值),使TL0重新从a开始计数。 这一功能经常用于定时器连续定时。计数器二进制数的排列序列为TL07~TL00。这样计算定时的公式就变成: (6-3) * 4、工作模式3 定时器/计数器T0工作模式3的结构原理如图6-5所示。 图6-5 * 工作模式3续 采用这一工作模式时,T0被分成两个独立的定时器/计数器。 上面虚线内的是一个完整的8位定时器/计数器电路,计数器由TL0担当。 下面虚线内是一个8位定时器,计数器由TH0担当,它借用了定时器/计数器T1的一些资源,比如控制位TR1,以及标志位TF1。从电路图可以看到,它只能做定时器,而不能做计数器。 * 二、定时器/计数器T1的内部结构和工作模式 定时器/计数器T1的内部结构与T0基本类似,区别是T1只有3种工作模式,即工作模式0~2,而没有工作模式3。 与T1有关的计数器是TH1和TL1,内部启动控制位是TR1,计数满标志位是TF1。 * 6.2 控制定时器/计数器的特殊功能寄存器 定时器/计数器T0、T1、T2有许多工作模式以及相关的控制位和标志位,这些内容均包含在单片机内四个特殊功能寄存器内,这四个SFR分别是TCON、TMOD、T2CON和T2MOD。 * 一、T0、T1控制寄存器TCON 控制定时器/计数器启动位,以及计数器计满的信息位,这些信息位是在特殊寄存器TCON中。 D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 T1 计 满 溢 出 位 T1 内 部 启 动 位 T0 计 满 溢 出 位 T0 内 部 启 动 位 * 二、T0、T1模式寄存器TMOD TMOD(Timer Mode)有8位,分别控制T0和T1的工作模式、启动方式和定时器/计数器选择方式,其含义分别如下: :定时器/计数器方式选择控制位, =1,设置为计数器方式; =0,设置为定时器方式。 GATE:计数器启动方式控制位,GATE=1,设置为外部启动方式;GATE=0,设置为内部启动方式。 * T0、T1模式寄存器TMOD续 M1M0:工作模式选择控制位,具体如下: M1M0=00:计数器工作模式0,工作模式0的含义如前所述。 M1M0=01:计数器工作模式1,工作模式1的含义如前所述。 M1M0=10:计数器工作模式2,工作模式2的含义如前所述。 M1M0=11:计数器工作模式3,工作模式3的含义如前所述。T0有此模式,T1无此模式。 * 6.3 定时器/计数器的 应用及其编程 定时器/计数器是单片机内部完成特定功能的功能部件,若不使用它,就不必对它进行编程。一旦要使用它,就需要对它进行编程控制。对T0、T1和T2的编程可以分成两部分,即初始化编程和控制编程。 6.3.1 初始化编程 对定时器/计数器的初始化编程包含以下内容: 设置工作模式。 设置计数器初值。 设置定时器/计数器的中断(如果采用中断控制)。 启动计数器工作。 * 例6-3 已知系统时钟频率fosc=24Mhz,若要求T0工作在模式1进行10ms的定时,采用内部启动。请计算T0计数器的初值a,并对T0进行初始化编程。 解:根据题意,先计算T0计数器初值。 根据T0的工作模式,采用公式(6-2)计算初值a。 * 例6-3续 * 根据题意,对T0初始化编程如下: MOV TMOD, #01H; 将T0设置为模式1定时器方式,内部启动。 MOV TH0, #0B1H; 设置计数器初值。 MOV TL0, #0E0H; 设置计数器初值。 SETB TR0; 启动计数器工作。 TMOD 例6-4 已知系统时钟频率fosc=6Mhz,若要求T1工作在模式2进行500μs的定时,采用外部启动。请计算T1计数器的初值a,并对T1进行初始化编程。 解:根据题意,先计算T1计数器初值。 根据T1的工作模式,采用公式(6-3)计算初值a。 根据题意,对T1初始化编程如下: MOV TMOD, #0A0H; 将T1设置为模式2定时器方式,外部启动。 MOV TH1, #06H; 设置计数器初值。 MOV TL1, #06H; 设置计数器初值。 SETB TR1; 准备接受外部启动。 * 例6-5 若要求T1工作在模式1计数器方式,计满1000个信号,向CPU申请中断,采用内部启动

文档评论(0)

学习让人进步 + 关注
实名认证
内容提供者

活到老,学到老!知识无价!

1亿VIP精品文档

相关文档