第二节定时计数器与实验一二.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文档。上传文档
查看更多
定时方法有: 软件定时:通过执行循环程序实现时间延迟,定时准确且不需外加硬件电路,但占用CPU时间。 硬件定时:通过硬件电路的连接实现定时,不增加CPU开销,但电路连接较繁,使用不方便。 可编程定时器定时:通过对系统的时钟脉冲计数进行定时,定时方便、准确,定时时间可通过程序设定。即用定时/计数器定时。 1、定时/计数器的基本结构 2.定时/计数器的工作原理 MCS-51单片机有两个可编程定时/计数器T/C0、T/C1, 16位寄存器,加法计数结构,T0(TH0、TL0), T1(TH1、TL1)。 均有定时和计数功能,但进行加法计数的信号不同。 (2) 计数功能 计数就是对外部事件的输入脉冲进行计数。 MCS―51的计数脉冲来自计数输入端T0(P3.4)或T1(P3.5),当输入信号产生由1至0的下跳变时,计数 器的值加1。 7.2.1 相关的特殊功能寄存器 工作方式控制寄存器TMOD 相关的控制寄存器 定时器控制寄存器TCON 中断允许寄存器IE 计数寄存器TH和TL(4个) M1 M0 :工作方式选择位 满值M 0 0 :方式0 :由THX(X=0,1)的8位和TLX的低5位构 成的13位计数器。 M=2 =8192 3. 定时控制寄存器TCON TCON寄存器既参与中断控制又参与定时控制。其中高4位与定时有关。 7.2.2. 定时/计数器的工作方式 MCS-51的定时/计数器共有4种工作方式 工作方式1 方式1是16位计数结构,计数器由TH全部8位和TL全部8位构成。其逻辑电路和工作情况与方式0完全相同。 工作方式2 工作方式2具有自动重装初值的功能。非常适用于循环定时或循环计数应用,例如用于产生固定脉宽的脉冲,此外还可以作串行数据通信的波特率发生器使用。 工作方式3 在工作方式3下,两个定时/计数器的设置和使用是不同的,方式3只适用于T/C0,若设置T/C1为方式3时,则T1停止计数。 7.2.3 定时/计数器的初始化 1. 编程初始化步骤 确定T/C的工作方式,给TMOD送值; 算计数初值,送到TH和TL; T/C在中断方式工作时,要开中断,即给IE送值; 启动定时/计数器,给TR1或TR0置1。 2.计数初值的计算 (1)当 =0时为定时功能, 计数初值的范围=0~(2 -1) n——各工作方式中计数器的位数,按顺序分别为 13,16,8,8;相对应的2 =8192,65536,256,256。 (2)当 =1时为计数功能, 计数值的范围=2 -计数初值=1~2 7.2.4 定时/计数器的应用实例 例1 时钟频率为12MHz 的8051芯片上,用Timer1产生10kHz定时器滴答中断。 #include reg52.h //T1中断服务程序,每 100个T机执行1次。 static unsigned long overflow-count=0; void timer1-ISR(void) interrupt 3{ overflow-count++; //计数溢出时加1 } //MAIN C函数:置定时器1为方式2,计数到255溢出,用156重装初值,并产生中断// void main (void){ TMOD=(TMOD0x0F)|0x20; //置定时器1为方式2// TH1=256-100; TL1=TH1; //送初值// ET1=1; //允许中断源T1中断// TR1=1; //启动定时器1// EA=1;

文档评论(0)

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

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

1亿VIP精品文档

相关文档