第六章定时、计数器.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文档。上传文档
查看更多
第六章定时、计数器

第六章 定时、计数器 §6-1 定时 / 计数器的工作方式与控制字 实现定时功能,比较方便的办法是利用单片机内部的定时/计数器。也可以采用下面三种方法: 6.2.1 定时/计数器的工作方式与控制字 当T0工作在方式3时,TH0和TL0被拆成2个独立的8位计数器。 这时,TL0既可作为定时器使用,也可作为计数器使用,它占用了定时器T0所使用的控制位(C/#T、GATE、TR0、TF0),其功能和操作与方式0或方式1完全相同; 而TH0只能作定时器用,并且占据了定时器T1的两个控制信号TR1和TF1。在这种情况下,定时器T1虽仍可用于方式0、1、2,但不能使用中断方式,此时T1只能用于不需要中断的场合,例如一般用于串口波特率发生器。 //钟频6MHz,利用T0中断扩展方式实现1s定时,1s时,从P1.0输出一个低电平点亮发光二极管。 #include reg52.h //包括一个 52 标准内核的头文件 sbit P10 = P1^0; //头文件中没有定义的 IO就要自己来定义了 sbit P17 = P1^7; void main(void) // 主程序 { TMOD=0X01; //定时器0,16位工作方式 TR0=1; //启动定时器0 ET0=1; //打开定时器0中断 EA=1; //打开总中断 TH0=0x3C; //写入定时器0初值 TL0=0xB0; while(1) { } //主程序循环,等待中断 } timer0() interrupt 1 //定时器0中断,是1号中断 { static unsigned char i=10; // 定义计数器 i--; //计数器修改 P17=~P17; //输出方波 TH0=0x3C; //重置定时器0初值 TL0=0xB0; if (!i) { //判断1s到了没有 TR0=0; //1s到了,停止计数 P10=0; //输出低电平,点亮P10 } } 例5:用C51编写的程序(中断方式) 注意:此例中使用了一个静态变量,目的是什么? 试试如果使用静态变量是否可以? * * 软件定时:不占用硬件资源,但占用了CPU时间,降低了系统效率。 采用时基电路定时:例如采用555电路,外接必要的元器件即可构成硬件定时电路。但在硬件连接好以后,定时值与定时范围不能由软件进行控制和修改,即不可编程。 采用可编程芯片定时:这种定时芯片的定时值及定时范围很容易用软件来确定和修改,此种芯片定时功能强,使用灵活。在单片机的定时/计数器不够用时,可以考虑进行扩展。 51子系列单片机内有两个十六位增一定时 / 计数器,由高8位和低8位两个寄存器组成(THx,TLx)。工作方式寄存器TMOD,用于确定工作方式和功能;控制寄存器TCON ,用于控制T0、T1的启动和停止及设置溢出标志。 一、定时/计数器的结构 TH0 计数值高八位 TL0 计数值低八位 TH1 计数值高八位 TL1 计数值低八位 二、定时/计数器的工作原理 加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来(定时器方式);一个是T0或T1引脚输入的外部脉冲源(计数器方式) 。 每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。 可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值。 设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t 。 设置为计数器模式时,外部事件计数脉冲由T0(P3.4)或T1(P3.5)引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。 由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为XMHz时,最高计数频率不超过X/24MHz。 6.2.2 定时/计数器的控制 51单片机定时/计数器的工作由两个特殊功能寄存器控制。TM

文档评论(0)

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

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

1亿VIP精品文档

相关文档