单片机原理及应用陈桂友孙同景8单元定时计数器教程.PPTVIP

单片机原理及应用陈桂友孙同景8单元定时计数器教程.PPT

  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文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * PPT研究院 POWERPOINT ACADEMY * * * * * * * * * * * * * * * * * * * * * * * * * * (3)模式3:波特率发生器。通过设置RCLK位(T2CON.5)和TCLK位(T2CON.4),定时器2可以作为波特率发生器使用。波特率发生器用于控制串行口0 的数据传输速率。RCLK和TCLK用于选择定时器1或定时器2作为串行通信的波特率发生器。 定时器2控制寄存器(T2CON) 00H CP/ C/ TR2 EXEN2 TCLK RCLK EXF2 TF2 C8H 复位值 D0 D1 D2 D3 D4 D5 D6 D7 地址 TF2:定时器2溢出标志位,T2溢出后置位。当T2中断允许时,产生溢出中断。该位不能自动清除,只能通过软件清零。当T2中断允许时,软件写入1会产生定时器2中断。 EXF2:定时器2外部中断标志位。当EXEN2=1,T2EX(P1.1)引脚上的一个下降沿将此标志置位。必须通过软件清零。当T2中断允许时,软件写入1会产生定时器2中断。 RCLK:接收时钟选择位。T1或T2的溢出速率决定了串行口0在方式1和3下接收数据的速率,此位决定选择T2还是T1作为串口0数据接收波特率发生器。 0:T1溢出脉冲作为串口0的接收时钟。 1:T2溢出脉冲作为串口0的接收时钟。 TCLK:发送时钟选择位。T1或T2的溢出速率决定了串行口0在方式1和3下发送数据的速率,此位决定选择T2还是T1作为串口0数据发送波特率发生器。 0:T1溢出脉冲作为串口0的发送时钟。 1:T2溢出脉冲作为串口0的发送时钟。 EXEN2:定时器2捕捉/重装载允许位。如果定时器2不工作在波特率模式,此位用来作为T2EX脚外部信号的允许位。 0:定时器2忽略所有T2EX上的外部信号。 1:如果T2EX脚上检测到一个下降沿,T2将捕捉或重装载一个值(取决于定时器模式还是计数器模式)。 TR2:定时器2运行控制位。定时器停止后将保存当前值。 0:停止定时器2。 1:启动定时器2。 :T2计数/定时器选择位。 0:T2作为定时器,定时器2的时钟频率由T2M(CKCON.5)位设定。 1:T2作为计数器,对T2(P1.0)引脚上的下降沿计数。 :捕捉/重装载选择位。设置定时器2工作在捕捉模式还是自动重装载模式。只有当RCLK和TCLK都为0时,该位才有效。如果该位为0,则当EXEN2=1时,T2EX上的一个下降沿将触发自动重装操作;定时器2溢出时,计数值也将自动重装。如果该位为1,则当EXEN2=1时,T2EX上的一个下降沿将触发捕捉操作。 定时器2的低字节(TL2) 和定时器2的高字节(TH2) [见教材] 定时器2捕捉寄存器低字节(RCAP2L) 和定时器2捕捉寄存器高字节(RCAP2H)[见教材] 定时器T2的使用方法举例。 【例】 设系统时钟频率为6MHz,利用定时器T0定时,每隔0.5s将P2.4的状态取反;利用T2定时,每隔1s将P2.5的状态取反。 解:由于定时时间的长度都超过定时器本身能够定时的最大时长,根据前面介绍的扩大定时器的定时量程方法,可以采用定时和变量计数相结合的方法。程序如下: #include reg1211.h sbit P24 = P2^4; //定义P2.4位变量 sbit P25 = P2^5; //定义P2.5位变量 data unsigned int i=10; //i保存定时器T0的溢出次数 data unsigned int j=60; //j保存定时器T2的溢出次数 void timer0_ISR(void) interrupt 1 using 1 { TL0=0x58; TH0=0x9E; //重新装入时间常数 if(!--i) { i=10; P24=!P24; } } void timer2_ISR(void) interrupt 5 using 1 { //由于定时器T2设置为自动装载方式,不需重装时间常数 if(!- -j) { j=60; P25=!P25; } TF2=0; //清除中断标志 } void main(void) { CKCON=0x20;

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档