用STC单片机的PCA功能产生PWM_脉冲.doc

用STC单片机的PCA功能产生PWM_脉冲.doc

ID:56713013

大小:30.00 KB

页数:2页

时间:2020-07-05

用STC单片机的PCA功能产生PWM_脉冲.doc_第1页
用STC单片机的PCA功能产生PWM_脉冲.doc_第2页
资源描述:

《用STC单片机的PCA功能产生PWM_脉冲.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、用SST单片机的PCA功能产生PWM脉冲一、程序说明:SST单片机带有5路PCA模块,PCA功能比普通的单片机相比提供更强的计时性,同时更少CPU的干预,用它可以减少软件的开销和改进精度。利用PCA的脉冲宽度调制(PWM)模式可以产生一个8位PWM,它通过比PCA定时器的低位(CL)和比较寄存器的低位(CCAPnL)产生。当CL=CCAPnL是输出为高。要进入这个模式,可以对CCAPMn的PWM和ECOM位置位。在PWM模式,输出的频率决定于PCA定时器的源。由于只有一对CH和CL寄存器,所有模块共享PCA定时器和频率。输出的占空比由装在高位CCAPnH的

2、值控制。由于写入CCAPnH寄存器不是同步的,写入高位的值不会马上装入CCAPnL做比较,直到输出的另一个周期(当CL从255到0翻转)。用下面的公式计算任何占空比CCAPnH值:CCAPnH=256(1-占空比)CCAPnH是8位整数,占空比是分数。脉冲宽度调制频率PCA定时器模式PWM频率12MHz16MHz1/12振荡频率3.9KHz5.2KHz1/4振荡频率11.8KHz15.6KHz定时器0溢出:8位16位8位自动重装15.5Hz0.06Hz3.9KHz到15.3KHz 20.3Hz0.08Hz5.2KHz到20.3KHz外部输入(最大)5.9KHz7.8KHz 二、相关寄存器介

3、绍:PCA定时器/计数器模式寄存器(CMOD)位置76543210D9HCIDLWDTE---CPS1CPS0ECF标志功能CIDL计数器空闲控制,CIDL=0时,PCA在空闲模式下继续工作。CIDL=1时,PCA在空闲模式下关闭。WDTE看门狗定时器使能:WDTE=0时,禁止PCA模块4的看门狗功能。WDTE=1时,使能。CPS1PCA计数脉宽选择位1CPS0PCA计数脉宽选择位0CPS1CPS0选择PCA输入*000内部时钟6时钟模式下为fosc/6(12时钟模式下为fosc/12)011内部时钟6时钟模式下为fosc/2(12时钟模式下为fosc/4)102定时器0溢出113ECI/

4、P1.2脚输入的外部时钟(6时钟模式最大为osc/4,12时钟模式下为fosc/8)fosc=振荡器频率ECFPCA使能计数器溢出中断:ECF=1,使能CCON中的CF位,产生中断。ECF=0时禁止CF的功能。PCA定时器/计数器控制寄存器(CCON)位置76543210D8HCFCR-CCF4CCF3CCF2CCF1CCF0标志功能CR  PCA计数器运行控制位,由软件置位将PCA计数器打开,要关闭PCA计数器必须由软件清零。CLPCA计数器低字节E9H CHPCA计数器高字节F9H CCAPM0模块0模式寄存器 DAH-ECOM0CAPP0CAPN0MAT0TOG0PWM0ECCF0C

5、CAP0H模块0捕获高字节FAHCCAP0H[7:0]CCAP0L模块0捕获低字节EAHCCAP0L[7:0]三、PWM示例程序代码:#include#include“SST89x5x4Rx.h”//程序通过比较CL寄存器和CCPA0L的值产生脉冲。//如果CL>=CCAP0L输出为高,如果CL

6、=0x40;//75%DutyCycle  CCAPM0=0x42;//SetupPCAmodule0inPWMmode.  CR=1;//StartPCATimer.  while(1){}}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。