单片机原理与应用基于汇编C51及混合编程第7章中断控制定时计数器及PCAPWM的应用.pptVIP

单片机原理与应用基于汇编C51及混合编程第7章中断控制定时计数器及PCAPWM的应用.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.9.3 PCA/PWM各个模块的特殊功能寄存器 3.PCA模块中PWM方式辅助寄存器PCA_PWM0和PCA_PWM1 地址分别为 F2H 和 F3H * 7.9.3 PCA/PWM各个模块的特殊功能寄存器 3.PCA模块中PWM方式辅助寄存器PCA_PWM0和PCA_PWM1 地址分别为 F2H 和 F3H D7 D6 D5 D4 D3 D2 D1 D0 - - - - - - EPCnH EPCnL 在PWM方式下,与CCAPnH组成9位数,EPCnH为最高位 在PWM方式下,与CCAPnL组成9位数,EPCnL为最高位 由CL、CH两个8位寄存器PCA方式寄存器CMOD PCA控制寄存器CCON 工作方式寄存器: CCAPM0和CCAPM1 比较/捕获寄存器 CCAPnL和CCAPnH PWM方式辅助寄存器PCA_PWM0和PCA_PWM1 * 7.9 .4 PCA/PWM模块的工作方式及应用 1.捕获方式 1 1 1 0 0 0 0 0 可在中断服务程序中判断哪一个模块产生了中断,注意中断标志位必须由软件清零 * 【例7-7】采用STC12C5A60S2单片机PCA的捕获方式测量低频矩形波的周期及占空比,假设系统时钟频率为12MHz。 PCA的模块0输入引脚P1.3作为信号输入端 刚开始测量时为高电平,需要等待 检测到为低电平时需要继续等待 PULSE_W1 EQU 51H ;保存CH值 PULSE_W2 EQU 52H ;保存CL值 ;脉宽计时 PULSE_T1 EQU 54H ;保存CH值 PULSE_T2 EQU 55H ;保存CL值 ;周期计时 如果脉宽大于CH、CL的最大计时周期该怎么办? PULSE_W0 EQU 50H ;脉宽计时最高字节 PULSE_T0 EQU 53H ;周期计时最高字节 * 7.7定时/计数器T0、T1的应用举例 在应用定时/计数器资源时,按照以下几个步骤进行: (1)确定工作方式,对方式控制寄存器TMOD赋值 D7 D6 D5 D4 D3 D2 D1 D0 GATE M1 M0 GATE M1 M0 (2)根据要求计算初值并装入寄存器THx、TLx * 7.7定时/计数器T0、T1的应用举例 在应用定时/计数器资源时,按照以下几个步骤进行: (1)确定工作方式,对方式控制寄存器TMOD赋值 (2)根据要求计算初值并装入寄存器THx、TLx 实际定时时间Tc=(M-X)× Tp 计数初值: X=M- (3)根据需要开放定时/计数器中断,即EA、ETx置1 (4)启动定时/计数器开始工作,即TRx位置1 (5)编写中断服务程序或查询处理方式程序 * 【例7-1】设STC12C5A60S2单片机的系统时钟频率为12MHz,利用定时/计数器T0 编程实现从P3.4引脚输出周期为500μs的方波。 分析:从P3.4引脚输出周期为500μs的方波,即只需P3.4每250μs取反一次。由于方式2中有时钟输出功能,fosc=12MHz时,最大的定时时间为256μs,满足250μs的定时要求, 选择定时/计数器T0工作于方式2。T0x12位置0,初值X=M- =256-250=6,即TH0=TL0=06H。 * WAKE_CLKO EQU 8FH ORG 0000H LJMP MAIN ORG 0100H MAIN:MOV SP,#0BFH MOV TMOD,#02H ;T0工作在方式2 ORL WAKE_CLKO,#01H;T0工作在时钟输出方式 MOV TH0,#06H ;给T0的高8位赋初值 MOV TL0,#06H ;给T0的低8位赋初值 SETB TR0 ;定时/计数器T0开始计数 SJMP $ END (1)汇编程序: D7 D6 D5 D4 D3 D2 D1 D0 GATE M1 M0 GATE M1 M0 D7 D6 D5 D4 D3 D2 D1 D0 PCAWAKEUP RXD_PIN_IE T1_PIN_IE T0_PIN_IE LVD_WAKE BRTCLKO T1CLKO T0CLKO * (2)C51程序: #includeSTC12C5A.h/*STC12C5Axx系列单片机

文档评论(0)

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

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

1亿VIP精品文档

相关文档