STC12C2052AD单片机的PCA捕获模式.docVIP

  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文档。上传文档
查看更多
STC12C2052AD单片机的PCA捕获模式

1、STC12C2052AD单片机的PCA捕获模式   STC12C2052AD系列单片机中的PCA可编程计数器阵列含有一个特殊的16位定时器,它可与2个16位捕获/比较模块相连。每个模块可编程工作在4种模式下,即:上升/下降沿捕获、软件定时器、高速输出或可调制脉冲输出。设计时,可将模块0连接到P3.7(CEX0/PCA0/PWM0),模块1连接到P3.5(CEX1/PCA1/PWM1)。由于寄存器CH和CL的内容是正在自由递增计数的16位PCA定时器的值,因此,PCA定时器可作为2个模块的公共时间基准,并可通过编程工作在1/12振荡频率、1/2振荡频率、定时器0溢出或ECI脚的输入(P3.4)。定时器的计数源由CMOD SFR的CPS1和CPS0位来确定。   要使PCA模块工作在图3所示的捕获模式,寄存器CCAPMn中的CAPNn和CAPPn至少应有一位必须置1。对模块的外部CEXn输入(包括CEX0/P3.7、CEX1/P3.5、CEX2/P2.0、CEX3/P2.4口)的跳变进行采样时,若采样到有效跳变,其PCA硬件就将PCA计数器阵列寄存器(CH和CL)的值装载到模块的捕获寄存器中(CCAPnL和CCAPnH)。   2STC12C2052AD的PCA脉宽调节模式   所有PCA模块都可按图4所示的工作模式用作PWM输出。其输出频率取决于PCA定时器的时钟源。由于所有模块均共用仅有的PCA定时器,所以,它们的输出频率相同。各个模块的输出占空比是独立变化的,与使用的捕获寄存器{EPCnL,CCAPnL}有关。当CL SFR的值小于{EPCnL,CCAPhL}时,输出为低,而当PCA CLSFR的值等于或大于{EPCnL,CCAPnL}时,输出为高。当CL的值由FF变为00溢出时,{EPCnH,CCAPnH}的内容将被装载到{EPCnL,CCAPnL}中。这样就可实现无干扰地更新PWM。使能PWM模式时,模块CCAPMn寄存器的PWMn和ECOMn位必须置位。由于PWM是8位的,所以可用下式来计算PWM的信号频率:    PWM信号的接收与转换    PWM调制信号接收模块   由于要用PCA1模块来把上位机输出的频率为1 kHz的PWM调制信号的频率提高(因为频率越高,越容易滤波),故将PCA定时器的时间基准置为1/2振荡频率。用PCA1 (P3.7)模块来识别接收的PWM调制信号时,应使PCA1工作在上升/下降沿捕获工作模式,并打开PCA中断。设计时,可首先设置PCA1工作在上升沿捕获工作模式,这样,当P3.7脚采样到上升沿跳变时,PCA0模块即可将PCA计数器阵列寄存器CH和CL的值装载到模块的捕获寄存器中{CCAP1H,CCAP1L}。然后在中断中把{CCAP1H,CCAP1L}的值存放到自定义的数据单元{UP_DATAH,UP_DATAL}中,并在中断中把PCA1工作模式设置为下降沿捕获工作模式,从而在P3.7脚采样到下降沿跳变时,PCA1模块硬件就可将PCA计数器阵列寄存器{CH,CL)的值装载到模块的捕获寄存器中{CCAP1H,CCAP1L}。之后,再在中断中把{CCAP1H,CCAP1L}的值存放在数据单元{DOWN_DATAH,DOWN_DATAL}中,并利用双字节无符号数减法得出PWM调制信号正脉冲时定时器的计数个数为:   N1={DOWN_DATAH,DOWN_DATAL)-{DOWN_DATAH,DOWN_DATAL}   由于PWM调制信号的频率为1 kHz,周期T为1 ms。因此,可设1 ms中PCA定时器的计数个数为N2,则PWM调制信号的占空比为:   PWM调制信号的频率转换   上位机输出的PWM调制信号的频率为1 kHz左右。由于该频率比较低,直接对其进行滤波后的纹波比较大,因此,在滤波之前,应先把接收的PWM调制信号转变成与占空比成线性比例的高频PWM调制信号,频率转换可通过PCA0 (P3.5)PWM功能模块来实现。由于选择的晶振为20MHz,故可选Fosc/2为PCA/PWM时钟输入源,这样,其PWM的频率为39.062 kHz。   这样,当PCA0模块设置为PWM输出模式时,根据PCA脉宽调节模式(PWM)的工作原理,当CCAP0L=FFH时,P3.5将输出占空比为0的PWM信号,而当CCAP0L=80H时,P3.5则输出占空比为50%的PWM信号,当CCAP0L=0时,P3.5会输出占空比为100%的PWM信号。这样,由PCA脉宽调节模式(PWM)的工作原理可得:   这样,通过上式即可把频率为1 kHz的PWM信号转换为频率为39.062 kHz的PWM信号,其转换后的PWM占空比与原来的1 kHz的PWM信号成线性比例关系。

文档评论(0)

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

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

1亿VIP精品文档

相关文档