stc12c5a60s2 pwm程序 占供比 频率

按住视频可进行拖动
嵌入分享:
&正在加载...
安装爱奇艺视频客户端,
马上开始为您下载本片
5秒后自动消失21ic官方微信
您现在的位置是:
& stc12c5a60s2单片机用PWM控制电机
C/C++语言编程
热门关键词
stc12c5a60s2单片机用PWM控制电机
stc12c5a60s2单片机用PWM控制直流电机
部分文件列表
该用户分享的资料
共有 0 条评论
全 部 评 论STC12C5A60S2单片机PWM应用-五星文库
免费文档下载
STC12C5A60S2单片机PWM应用
导读:5V单片机为11MHZ~15.5MHZ),在三相电机驱动、D/A转换等场合有广泛的应用,STC12C5A60S2系列单片机的PCA模式可以通过程序设定,1.PCA工作模式寄存器CMODPCA工作模式寄存器的格式如下:CMOD:PCA工作模式寄存器CIDL:空闲模式下是否停止PCA计数的控制位当CIDL=0时,空闲模式下PCA计数器继续工作;当CIDL=1时,空闲模式下PCA计数器停止工作;CP
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==9728000
如果要实现可调频率的PWM输出,可选择定时器0的溢出率或者ECI脚的输入作为PCA/PWM的时钟输入源
当EPCnL=0及ECCAPnL=00H时,PWM固定输出高
当EPCnL=1及CCAPnL=0FFH时,PWM固定输出低
当某个I/O口作为PWM使用时,该口状态:
包含总结汇报、旅游景点、外语学习、考试资料、文档下载、出国留学以及STC12C5A60S2单片机PWM应用等内容。本文共2页
相关内容搜索请教STC12C5A60S2的PWM关闭输出问题-电源网
EMI预一致性测试和调试最大的挑战是如何一次性通过测试。
详解TI每周最新电源产品信息、参数对比、应用设计等内容。
电源网独家视频专访。
包含一个完善的基于LM5175的降压-升压转换器、一个用于PWM调光的驱动器和FET。。
此参考设计是一种扩展工业输入电压范围为 12V 至 36V 的隔离式 Fly-Buck 转换器。
热门课程排名
泰克新闻动态
泰克知识库
怎样运用示波器和探头的功能
PI热门参考设计分类
热门方案下载排行
在交流输入端上进行电流谐波测量
对一个开关装置进行功率和能量损耗测量
对一个电源开关装置进行斜率测量
如何执行与具体电源相关的测量
在线研讨会
演讲嘉宾:赵勇
演讲时间:
简介:基于开关电源的结构和设计
为工程师打开不一样的大牌之门
加入芯派粉丝团,有组织,有靠山
会议主题:泰克LED驱动电源测试方案
会议时间: 10:00
主 讲 人:陈鑫磊
报名人数:火热报名中
演讲嘉宾:陈鑫磊 研发经理
会议时间:
演讲嘉宾:Cale.Huang FAE
会议时间:
演讲嘉宾:吕宝华
会议时间:
请教STC12C5A60S2的PWM关闭输出问题
阅读: 3110
电源币:0&nbsp|&nbsp主题帖:24&nbsp|&nbsp回复帖:22
&& & & & & & && & & &
如何才能使STC12C5A60S2的PWM输出关闭啊,汇编语言。我的程序在正常工作中,用软件命令就关不了了。
如& CLR CR
&&& MOV CCON,#0
都没用,PWM照样输出
电源币:0&nbsp|&nbsp主题帖:1&nbsp|&nbsp回复帖:1
设置一下CCAPM的PWM位试试
电源币:0&nbsp|&nbsp主题帖:24&nbsp|&nbsp回复帖:22
我都试验了好几天了,没办法。我顶。
电源币:0&nbsp|&nbsp主题帖:1&nbsp|&nbsp回复帖:0
你在程序前不要有& CR=1&& 启动的项目, 想开的时候就 =1& 想关的时候=0
汇编我不理解但 基本意思就这样!
电源币:127&nbsp|&nbsp主题帖:50&nbsp|&nbsp回复帖:9
/***************************************************************************
停止PWM输出
****************************************************************************/
void stopPWM()
{&&&&&&& PCA_PWM0 = 0x03;&&&&&&&&&& //PWM模式下,CCAPnL,CCAPnH第九位
&&& &&& CR=0;
&&&& CL=0x00;
/***************************************************************************
停止PWM输出
****************************************************************************/
void stopPWM()
{&&&&&&& PCA_PWM0 = 0x03;&&&&&&&&&& //PWM模式下,CCAPnL,CCAPnH第九位
/***************************************************************************
允许PWM输出
****************************************************************************/
void startPWM()
&&&&&& PCA_PWM0 = 0x00;&&&&&&&&&&&&&& //PWM模式下,CCAPnL,CCAPnH第九位
&&& CR=1;&&&&&&&&&&&&&&&&&&&&&&&&& //启动PCA定时器&
关于电源网
我们的服务
服务时间:周一至周五9:00-18:00
电源网版权
增值电信业务经营许可证:津B2-
网博互动旗下网站:}

我要回帖

更多关于 stc12c5a60s2pwm输出 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信