第05章 单片机定时器与计数器.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第05章 单片机定时器与计数器

授课教师:左敬龙 单片机定时器与计数器 一、定时/计数器结构 等效逻辑结构图 1.工作方式寄存器(TMOD 89H) M1M0:工作模式选择位。 2、初值寄存器 TH0,TL0,TH1,TL1 3.定时/计数器控制寄存器(TCON 88H) 二、定时器/计数器的工作方式 1.工作方式0 M1M0=00 在工作方式0下,计数器的计数值由下式确定:           N=213-X=8192-X  计数值范围是: 1~8192(213) 定时器的定时值由下式确定:          T=N*Tcy=(8192-X)*Tcy   工作方式0的应用:  【例】设单片机晶振频率fosc=6MHZ,使用定时器1以方式0产生周期为600μs的等宽方波脉冲,并由P1.7输出,以查询方式完成。  解:(1)计算计数初值.欲产生周期为600μs的等宽方波脉冲,只需在P1.7端以300μs为周期交替输出高低电平即可,因此定时时间应为300μs。设待求计数初值为N,则:      (213-N)×2×10-6=300×10-6     N=8042=1F6AH=0001111101101010B  用T1实现。将低5位01010B=0A写入TL1,将高8位有效=FBH写入TH1中。 (2)TMOD初始化    为把定时/计数器1设定为方式0,则M1M0=00。为实现定时功能应使C/T=0,为实现内部定时器启动应使GATE=0,因此设定工作方式控制寄存器TMOD=00H。 (3)由TR1启动和停止定时器    TR1=1为启动,TR1=0为停止   C语言参考程序 # include reg51.h //包含特殊功能寄存器库 sbit P1_7=P1^7; //定义P1.7口,程序中用P1_7代替P1.7。 void main() //主函数 { IE=0x00; //关中断 TMOD=0x00; //工作方式设定 TR0=1; //启动定时 for(;;) { //无限循环体 TH1=0xFB;TL1=0x0A; //计数初值设定 while (!TF1); //查询是否溢出,溢出则跳出循环。 P1_7=! P1_7; TF1=0; //溢出,P1.7取反,中断标志TF1清0。 } } 中断方式完成 # include reg51.h //包含特殊功能寄存器库 sbit P1_7=P1^7; //定义P1.7口,程序中用P1_7代替P1.7。 void main() //主函数 { TMOD=0x00; //工作方式设定 TR0=1; TH1=0xFB; TL1=0x0A; ET0=1; EA=1; while (1); } //启动定时 Void T_0() interrupt 1 using 3 { P1_7=! P1_7; TH1=0xFB; TL1=0x0A; } 2.定时/计数器工作方式1 M1M0=01 在工作方式1下,计数器的计数值由下式确定:           N=216-X=65536-X  计数值范围是: 1~65536(216) 定时时间长;时器的定时值由下式确定:          T=N*Tcy=(65536-X)*Tcy  (1)计算计数初值 欲在P1.7引脚输出周期为600μs的等宽方波脉冲,只需在P1.7端交替输出30000μs的高低电平即可,因此定时时间应为30000μs。设计数初值为N,则: 将计数初值N的低8位写入TL1;将计数初值N的高8位写入TH1。 (2)TMOD初始化 题目要求定时器/计数器1为工作方式1,所以M1M0=01;为实现定时功能应使C/=0;为实现定时器内启动,应使GATE=0。此题目不涉及定时器/计数器0,为方便起见,设其各控制位均为0。则工作方式控制寄存器TMOD=10H。 (3)启动和停止控制 因为定时器/计数器1作定时器,故当TR1=1时,启动计数;当TR1=0时,停止计数。 (4)中断的开放/禁止 题目中要求用查询方式检查T1的计数溢出状态,故设置IE=00H,以关中断。 3、定时/计数器工作方式2 M1M0=10 工作在方式2下,计数器的计数值由下式确定:      N=28-X=256-X 计数范围为:          1~256 定时准确 定时器的

文档评论(0)

sandaolingcrh + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档