第8章__定时计数器.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文档。上传文档
查看更多
第8章__定时计数器,定时器和计数器的区别,定时计数器,单片机定时计数器,计数器定时查询方式,8253定时器计数器实验,定时器和计数器,可编程定时器计数器,stm32定时计数器级联,定时器与计数器

在计算机控制中可供选择的定时方法 (1)软件定时 执行一个循环程序来实现。 (2)硬件定时 定时全部由硬件电路完成,不占用CPU时间,但需要通过改变电路的元件参数来调节定时时间,在使用控制上不够方便,同时增加了开发成本。 (3)可编程定时器定时 由单片机内部的定时模块单元完成。 单片机中的微处理器、寄存器TCON和TMOD与定时/计数器T0、T1之间的关系 四、定时器的应用方法 例题2:当GATE=1,TRX=1,只有INTX引脚输入高电平时,TX才被允许计数,利用GATE的这一功能,可测试INTX引脚上正脉冲的宽度,其方法如下: 程序: MOV TMOD, #09H MOV TH0, #00H MOV TL0, #00H JNB P3.2, $ SETB TR0 JB P3.2, $ CLR TR0 MOV A, TL0 MOV B, TH0 …….. 定时时间扩展方法 (1)软件扩展方法 软件扩展方法是在定时器中断服务程序中对定时器中断请求进行计数,当中断请求的次数达到要求的值时才进行相应的处理。 (2)硬件扩展方法 硬件扩展方法可以使用外接通用定时器芯片对8051单片机的定时能力进行扩展,如使用定时/计数器芯片8253,也可以利用8051单片机自身的资源对定时能力进行扩展。 **硬件定时与硬件计数结合扩展定时时间: 将引脚P3.0与引脚P3.5即T1脚连接起来。让T0作定时器用,T1作计数器用,每当T0定时时间到,在T0中断处理程序中通过P3.0给T1脚输入脉冲,使T1计数,当计数到预先设定的个数时,说明定时时间到,在T1的中断处理程序中完成定时功能。 五、定时器的应用举例 例1 设系统时钟频率为6MHz,利用定时器T0定时,每隔1s将P1.0的状态取反。 思路:将定时器的定时时间设为50ms,在中断服务程序中对定时器溢出中断请求进行计数,当计够20次时,将P1.0的状态取反,否则直接返回主程序。 选择定时器T0的工作方式:软件启动、定时方式、16位定时器,方式字为01H。由于系统时钟频率为6MHz,所以一个机器周期为2μs。 定时器T0的装入初值为 T0_ISR: MOV TL0,#58H MOV TH0,#9EH DEC A ; 累加器A内容减1 JNZ EXIT CPL P1.0 MOV A,#20 ;累加器A重载20 EXIT: RETI END 对应的C语言版程序如下: #include “reg51.h” //包含8051单片机的头文件 sbit P10=P1^0; //声明P1.0的位变量 unsigned char i; //声明计数变量。在C语言程序中,不能 使用ACC void timer0_ISR (void) interrupt 1 //定时器T0中断函数 { TL0=0x58; //重新装入时间常数 TH0=0x9E; i--; //计数变量减1 if(i==0) { //若减到0,则将P1.0取反 P10 = !P10; i = 20; //重新给计数变量赋值 } } void main (void) { //SP=0x60; //使用C语言设计程序时, 可以不设置堆栈指针 TMOD=0x01; TL0=0x58; TH0=0x9E; i=20; //计数变量赋初值 TR0=1; //启动T0计数 ET0=1; //允许T0中

文档评论(0)

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

你好,我好,大家好!

版权声明书
用户编号:7140162041000002

1亿VIP精品文档

相关文档