第一范文网 - 专业文章范例文档资料分享平台

STC12C5A60S2单片机PWM应用

来源:用户分享 时间:2025/9/28 23:00:16 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

1. PCA工作模式寄存器CMOD PCA工作模式寄存器的格式如下: CMOD:PCA工作模式寄存器

CIDL:空闲模式下是否停止PCA计数的控制位

当CIDL=0时,空闲模式下PCA计数器继续工作;

当CIDL=1时,空闲模式下PCA计数器停止工作;

CPS2、CPS1、CPS0:PCA计数脉冲源选择控制位。PCA计数脉冲选择如下表所示:

例如,CPS2/CPS1/CPS0=1/0/0时,PCA/PWM的时钟源是SYSclk,不是定时器0,PWM

的频率为SYSclk/265

如果要用系统时钟/3来作为PCA的时钟源,应让T0工作在1T模式,计数3个脉冲即产生溢出。

如果此时使用内部RC作为系统时钟(室温情况下,5V单片机为11MHZ~15.5MHZ),可以输出14K~19K频率的PWM。用T0的溢出可对系统时钟进行1~256级分频。 ECF:PCA计数溢出中断使能位。

当ECF=0时,禁止寄存器CCON中CF位的中断; 当ECF=1时,允许寄存器CCON中CF位的中断。

2. 2. PCA控制寄存器CCON PCA控制寄存器的格式如下: CCON:PAC控制寄存器

CF:PCA计数阵列溢出标志位。当PCA计数器溢出时,CF由硬件位置。如果CMOD寄存器的ECF位置位,则CF标志可用来产生中断。CF位可通过硬件或软件置位,但通过软件清零。

CR:PCA计数阵列运行控制位。该位通过软件置位,用来起动PCA计数器阵列计数。该位通过软件清零,用来关闭PCA计数器。

CCF1:PCA模块1中断标志。当出现匹配或捕获时该位由硬件置位。该位必须通过软件清零。

CCF0:PCA模块0中断标志。当出现匹配或捕获时该位由硬件置位。该位必须通过软件清零。

3. 3.PCA比较/捕获寄存器CCAPM0和CCAPM1 PCA模块0的比较/捕获寄存器的格式如下: CCAPM0:PCA模块0的比较/捕获寄存器

B7:保留位将来之用。

ECOM0:允许比较器功能控制位。

当ECOM0=1,允许比较器功能。 CAPP0:正捕获控制位。

当CAPP0=1时,允许上升沿捕获。

CAPN0:负捕获控制位。

当CAPN0=1时,允许下降沿捕获。

MAT0:匹配控制位。 当MAT0=1时,PCA计数值与模块比较/捕获寄存器的值的匹配将置位CCON

寄存器的中断标志位CCF0。 TOG0:翻转控制位。

当TOG0=1时,工作在PCA高速输出模式,PCA计数器的值与模块的比较/

捕获寄存器的值匹配将使CEX0脚翻转。

(CEX0/PCA0/PWM0/P1.3或CEX0/PCA0/PWM0/P4.2) PWM0:脉宽调节模式。

当PWM0=1时,允许CEX0脚作用脉宽调节输出。 (CEX0/PCA0/PWM0/P1.3或CEX0/PCA0/PWM0/P4.2) ECCF0:使能CCF0中断。使能寄存器CCON的比较/捕获标志CCF0,用来产生中断。 PCA模块1的比较/捕获寄存器的格式如下: CCAPM1:PCA模块1的比较/捕获寄存器

B7:保留位将来之用。

ECOM1:允许比较器功能控制位。

当ECOM1=1,允许比较器功能。 CAPP1:正捕获控制位。

当CAPP1=1时,允许上升沿捕获。

CAPN1:负捕获控制位。

当CAPN1=1时,允许下降沿捕获。

MAT1:匹配控制位。 当MAT1=1时,PCA计数值与模块比较/捕获寄存器的值的匹配将置位CCON

寄存器的中断标志位CCF1。 TOG1:翻转控制位。

当TOG1=1时,工作在PCA高速输出模式,PCA计数器的值与模块的比较/

捕获寄存器的值匹配将使CEX1脚翻转。

PWM1:脉宽调节模式。

当PWM1=1时,允许CEX1脚作用脉宽调节输出。 (CEX1/PCA1/PWM1/P1.4或CEX1/PCA1/PWM1/P4.3) ECCF1:使能CCF1中断。使能寄存器CCON的比较/捕获标志CCF1,用来产生中断。

4. 4.PCA模块PWM寄存器PCA_PWM0和PCA_PWM1 PCA模块0的PWM寄存器的格式如下: PCA_PWM0:PCA模块0的PWM寄存器

EPC0H:在PWM模式下,与CCAP0H组成9位数。 EPC0L:在PWM模式下,与CCAP0L组成9位数。 PCA模块1的PWM寄存器的格式如下: PCA_PWM1:PCA模块1的PWM寄存器

EPC1H:在PWM模式下,与CCAP1H组成9位数。 EPC1L:在PWM模式下,与CCAP1L组成9位数。 STC12C5A60S2系列:模块0连接到P1.3/CCP0(可以切换到P4.2/CCP0/MIS0口), 模块1连接到P1.4/CCP1(可以切换到P4.3/CCP1/SCLK口)。

5. 脉宽调节模式(PWM) 脉宽调制(PWM,Pulse Width modulation)是一种使用程序来控制波形占空比、周期、相位、波形的计数,在三相电机驱动、D/A转换等场合有广泛的应用。STC12 C5A60S2系列单片机的PCA模式可以通过程序设定,使其工作于8位PWM模式。所有PCA模式都可用作PWM输出(下图)。输出频率取决于PCA定时器的时钟源。

由于所有模块共用仅有的PCA定时器,所有它们的输出频率相同。各个模块的输出占空比是独立变化的,与使用的捕获寄存器[EPCnL,CCAPnL]有关,当寄存器CL的值小于[EPCnL,CCAPnL]时,输出为低;当寄存器CL的值等于或大于

[EPCnL,CCAPnL]时,输出为高。当CL的值由FF变为00溢出时,[EPCnH,CAPnH]的内容装载到[EPCnL,CCAPnL]中。这样就可以实现无干扰地更新PWM。要使能PWM模式,模块CCAPMn寄存器的PWMn和ECOMn位必须置位。

由于PWM是8位的,所以:PWM的频率=PCA时钟输入源频率/256

PCA时钟输入源可以从以下4种中选择一种:SYSclk,SYSclk/2,SYSclk/4,SYSclk/6,SYSclk/8,SYSclk/12,定时器0的溢出,ECI/P3.4输入。 举例:要求PWM输出频率为38KHz,选SYSclk为PCA/PWM时钟输入源,求出SYSclk的值

由计算公式38000=SYSclk/256,得到外部时钟频率SYSclk=38000*256*1=9728000 如果要实现可调频率的PWM输出,可选择定时器0的溢出率或者ECI脚的输入作为PCA/PWM的时钟输入源

当EPCnL=0及ECCAPnL=00H时,PWM固定输出高 当EPCnL=1及CCAPnL=0FFH时,PWM固定输出低 当某个I/O口作为PWM使用时,该口状态:

搜索更多关于: STC12C5A60S2单片机PWM应用 的文档
STC12C5A60S2单片机PWM应用.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1pkrb0lyps6i8ss1cmvo_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top