第07章 定时与计数.ppt

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

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 7.5.2模式2的设置 * 第07章 定时与计数 7.5.3设计模式2的计数初始值 * 在模式2下Timer作定时器的计数初始值只有8位,同时载入TLx和THx中。 ①-将定时时长t除以     。 ②-用256减去步骤①得到的数。 ③-用科学计算器把步骤②中的得数转换成十六进制形式TT。 ④-最后得计数初始值:THx=TLx=TT。 假设某单片机系统的晶振频率=12MHz,定时时长t=50μs,根据以上步骤可以设计计数初始值: ①-50μs /1μs=50 ②-256 – 50=206 ③-206(十进制)=CEH(十六进制) ④-THx=CE,TLx=CE 第07章 定时与计数 7.6 ■ Timer的工作模式3 7.6.1模式3的特点 * 模式3,Timer 0寄存器TL0和TH0变成两个独立的8位Timer寄存器。也就是说,Timer 0变成了两个独立的8位Timer,但不具备自动重新装载计数初始值的特性。以TL0为Timer寄存器的Timer使用TMOD寄存器和TCON寄存器中原来与Timer 0有关的控制位和标志位,设置的方法与前面相同。而以TH0为Timer寄存器的Timer使用原来Timer 1的溢出标志位TF1和启动/关闭控制位TR1,但不能用作计数器使用。 第07章 定时与计数 7.6.2模式3的设置 * 利用Timer 0工作在模式3下衍生出来的两个分别以TH0和TL0为Timer寄存器的8位Timer作为延时子程序的基础,单片机P1.0口输出周期T=300μs、占空比为1/3的矩形波。 第07章 定时与计数 7.6.2模式3的设置 * 第07章 定时与计数 7.6.2模式3的设置 * 第07章 定时与计数 7.6.3设计模式3的计数初始值 * 在模式3下两个独立的Timer寄存器只有8位,其计数初始值的计算方法相同。 ①-将定时时长t除以    。 ②-用256减去步骤①得到的数。 ③-用科学计算器把步骤②中的得数转换成十六进制形式TT。 ④-最后得计数初始值:TH0或TL0=TT。 假设某单片机系统的晶振频率 =12MHz,定时时长t=150μs,根据以上步骤可以设计计数初始值: ①-150μs /1μs=150 ②-256 – 150=106 ③-106(十进制)=6AH(十六进制) ④-TH0或TL0=6AH 第07章 定时与计数 7.7 ■ 计数器 7.7.1计数器的应用 * 第07章 定时与计数 7.7.2计数器的设置 * 在Timer模式控制寄存器TMOD的C/Tx#位用于设置Timer用作定时器或计数器,当C/Tx#=1时,对应的Timer用作计数器。Timer 0和Timer 1可以被配置成两个独立的计数器,分别对输入单片机T0端(14管脚)和T1端(15管脚)的脉冲进行计数。Timer作计数器使用时,Timer寄存器THx和TLx的计数值记录的是输入单片机的脉冲的个数。 第07章 定时与计数 7.7.2计数器的设置 * 例子:设计为每按下4次按钮开关S1, P0口上的8支发光二极管就会做BCD码加1的变化。 第07章 定时与计数 7.7.2计数器的设置 * “MOV  TMOD,”设置Timer 0作计数器,模式2。MOV指令向TH0、TL0装入计数初始值(256-4),这样当T0端输入4个脉冲后,TL0中的计数值就会溢出从而完成一次计数过程。 第07章 定时与计数 7.7.2计数器的设置 * 启动计数器后,循环等待按下按钮开关4次,Timer 0溢出TH0中保存的计数初始值自动装入TL0中为新一轮计数准备,之后跳到“LOOP_2”段,两条CLR指令关闭计数器和清0标志位后,P0口的数据进行了BCD码的加1操作。之后又循环到“LOOP”段,重新启动计数器。 第07章 定时与计数 7.7.4计数器的计数初始值设定 * Timer作计数器时,计数初始值的设定比较简单。模式2中,因为TL0和TH0都载入相同的初始值,所以只要把8位Timer的最大计数值减去所要计数的数值即可(256-4)。模式3与此相似,只不过模式3中只有Timer 0可用。 如果在模式1,为16位的计数器,需要计数的数值为n(十进制),则计数初始值为65536-n(十进制)。转换成十六进制后高位字节装入THx,低位字节载入TLx即可。更方便的是,汇编语言中可以使用“HIGH”和“LOW”来完成这个转换与表示,假如计数值为35,则可使用以下两条指令来装入计

文档评论(0)

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

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

1亿VIP精品文档

相关文档