第7章 定时计数器与可编程计数器阵列.pptVIP

第7章 定时计数器与可编程计数器阵列.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文档。上传文档
查看更多
第7章 定时/计数器 在计算机控制中可供选择的定时方法 (1)软件定时 执行一个循环程序来实现。 (2)硬件定时 定时全部由硬件电路完成,不占用CPU时间,但需要通过改变电路的元件参数来调节定时时间,在使用控制上不够方便,同时增加了开发成本。 (3)可编程定时器定时 由单片机内部的定时模块单元完成。 7.1 STC12C5A60S2单片机的定时/计数器 7.1.1 定时/计数器的结构及工作原理 单片机中的微处理器、寄存器TCON和TMOD与定时/计数器T0、T1之间的关系 7.1.2 定时/计数器的相关寄存器 7.1.3 定时/计数器的工作方式 7.1.4 定时/计数器量程的扩展 7.1.5 定时/计数器编程举例 【例7-1】 设系统时钟频率为6MHz,利用定时器T0定时,每隔1s将P2.0的状态取反。 汇编语言程序代码如下: $INCLUDE (STC12C5A.INC) ;包含STC12C5A60S2寄存器定义文件 ORG 0000H LJMP MAIN ;转主程序 ORG 000BH ;T0中断服务程序入口地址 LJMP T0_ISR ORG 0100H MAIN: MOV SP,#60H ;设置堆栈指针 MOV TMOD,#01H ;T0初始化 MOV TL0,#58H MOV TH0,#9EH MOV A,#20 ;累加器A置20 SETB ET0 ;允外T0中断 SETB EA ;CPU开中断 SETB TR0 ;启动T0计数 SJMP $ ;等待 T0_ISR: MOV TL0,#58H MOV TH0,#9EH ;重新装入时间常数 DEC A ; 累加器A内容减1 JNZ EXIT CPL P2.0 MOV A,#20 ;累加器A重载20 EXIT: RETI END 对应的C语言程序如下: #include “stc12c5a.h” //包含STC12C5A60S2的寄存器定义文件 sbit P20=P2^0; //声明P2.0的引脚位变量 unsigned char i; //声明计数变量。在C语言程序中,尽量不要使用ACC void main (void) { //SP=0x60; //使用C语言设计程序时,可以不设置堆栈指针 TMOD=0x01; TL0=0x58; TH0=0x9E; i=20; //计数变量赋初值 ET0=1; //允许T0中断 EA = 1; //开放总的中断 TR0=1; //启动T0计数 while(1); //等待中断 } void T0_ISR (void) interrupt 1 //定时器T0中断函数 { TL0=0x58; //重新装入时间常数 TH0=0x9E; i--; //计数变量减1 if(i==0) { //若减到0,则将P2.0取反 P20 = !P20; //将P2.0取反 i = 20; //重新给计数变量赋值 } } 解:以T0为例,下面列出实现这一方法的关键代码,完整的程序,请读者自行编写。 MOV TMOD,#09H ; T0初始化,T0工作于方式1、定时、GATE置1 MOV TL0,#00H MOV TH0,#00H JNB P3.2,$ ;等待升高 SETB TR0 JB P3.2,$ ;等待下降 CLR TR0 ;关T0 MOV A,TL0 ;T0内容高8位送B,低8位送A MOV B,TH0 …… ;计算脉宽或送显示器显示 定时/计数器应用中应注意的问题 7.2 STC12C5A60S2单片机的可编程时钟输出 7.2.1 可编程时钟输出的相关寄存器 7.3 STC12C5A60S2的可编程计数器阵列模块 7.3.1 PCA模块的结构 16位PCA定时器/计数器的结构 7.3.2 PCA/PWM模块的特殊功能寄存器 7.3.3 PCA/PWM模块的工作

文档评论(0)

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

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

1亿VIP精品文档

相关文档