单片机C语言编程[定时器计数器].ppt

  1. 1、本文档共102页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.4.2 定时器应用举例 例6-7 用定时器/计数器2从P1.0产生一个5000Hz的方波,假设晶振频率fosc为12MHz。 分析:当T2MOD的T2OE=1,T2CON的C/T2=0时,T2工作于时钟输出方式。T2溢出信号自动触发T2(P1.0)引脚状态翻转从P1.0引脚输出频率可调、精度高的方波信号。 6.4.2 定时器应用举例 溢出后,RCAP2H和RCAP2L寄存器内容装入TH2 和TL2寄存器中,重新计数,以便获得准确的溢出信号。输出信号频率为: fosc/(4×(65536-(RCAP2H,RCAP2L))) 方波频率为5000Hz。 计数初值为65536-600=64936。 C语言程序: # include reg52.h sfr16 RCAP2=0xca; //特殊寄存器定义 6.4.2 定时器应用举例 sfr16 T2=0xcc; sfr T2MOD=0xc9; void main() { RCAP2=64936; T2=64936; T2MOD=2; TR2=1; while(1); } 汇编语言程序: ORG 0000H LJMP MAIN 6.4.2 定时器应用举例 MAIN: MOV T2MOD,#02H ;T2工作在可编程时钟输 出方式 SETB TR2 ;T2定时且启动T2工作 MOV RCAP2L,#0A8H ;送计数初值的低8位 MOV RCAP2H,#0FDH ;送计数初值的高8位 MOV TL2,#0A8H MOV TH2,#0FDH HERE: SJMP HERE ;等待溢出 END 本章小结 本章首先总体简单介绍了MCS-51单片机定时器/计数器的结构、工作原理和相关的寄存器。 然后重点研究了MCS-51增强型单片机定时器/计数器T0、T1、T2的不同工作方式的结构和工作原理。 最后应用实例,讨论了各个定时器/计数器不同工作方式的应用。 本章小结(续) MCS-51单片机定时器/计数器是单片机中非常重要、应用非常多的部件,一个从事单片机应用开发的人员,单片机是否用得灵活、是否能够充分发挥单片机的功能与作用,与定时器/计数器是否掌握应用得好关系密切。 谢 谢! 放映结束 感谢各位批评指导! 让我们共同进步 6.3.2 定时器/计数器T2的工作方式 图6-14 捕获方式的逻辑结构图 6.3.2 定时器/计数器T2的工作方式 三、波特率发生器方式 RCLK=1或TCLK= 1时,选择波特率发生器方式。结构如下图所示,从图可以看出: RCLK=1,T2为接收波特率发生器。 TCLK=1,T2为发送波特率发生器。 C/T2=0,选用内部脉冲。 C/T2=1,选用外部脉冲。 T2(P1.0)输入负跳变时,计数值增l。 6.3.2 定时器/计数器T2的工作方式 6.3.2 定时器/计数器T2的工作方式 计数溢出时,触发自动装载操作。 RCAP2H和RCAP2L的内容自动装载到TH2和TL2中。 T2用做波特率发生器时,TH2的溢出不会将TF2置位,不产生中断请求。 T2EX还可以作为一个附加的外部中断源。 T2用做波特率发生器时,若EXEN2=1,当T2EX有负跳变时,EXF2置1,由于不发生重装载或捕获操作,此时T2EX引脚可外接一中断源。 6.3.2 定时器/计数器T2的工作方式 定时器/计数器T2作为波特率发生器使用时的编程方法如下: … RCAP2H=0x30; //设置波特率 RCAP2L=0x38; TCLK=1; //选择定时器2的溢出脉冲 作为波特率发生器 注意:在波特率发生器工作方式下,在 T2计数过程中不能再读/写 TH2和TL2的内容。 6.3.2 定时器/计数器T2的工作方式 四、可编程时钟输出方式 T2OE=1时,C/T2=0时,T2工作于时钟输出方式。结构如下图所示: 工作过程:当T2计满溢出时,T2(P1.0)引脚状态翻转,从而输出频率可调、精度很高的方波信号;同时使RCAP2H和RCAP2L寄存器内容装入TH2和TL2寄存器中,重新计数。 在时钟输出方式下,T2溢出时不置位TF2。 6.3.2 定时器/计数器T2的工作方式 当EXEN2=1,T2EX(P1.1)引脚有负跳变时,EXF2将置1。(同波特率发生器方式) 从P1.0引脚输出的时钟信号频率为: Fosc/(4×(65536-(RCAP2H,RCAP2L))) 6.3.2 定时器/计数器T2的工作方式 图6-16 T2时钟输出方式下

文档评论(0)

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

本人从事教育还有多年,在这和大家互相交流学习

1亿VIP精品文档

相关文档