一、工作模式设置:
-
CCAPM0:
对应位功能:
即令CCAPM0 = 0X42;
2、PCA_PWM0
对应位功能:
即令PCA_PWM0= PCA_PWM0 & 0X3f ;
二、其余寄存器:
-
CMOD:
对应位功能:
即:CMOD = 0X08
-
CCON:
对应位功能:
由于我们这里没有用到中断,所以将所有标志位置零,CR控制位置一,即CCON = 0X40
-
CL、CH:
三、8位PWM模式原理:
首先通过CCALPMn使能比较器和PWM输出,利用COMD设置时钟源,再将CL中的数值与CCAPnL中的比较,大于输出高电平,小于输出低电平,当CL溢出后,CCAPnH中的数据会载入CCAPnL中
四、参考代码:
#include <STC15F2K60S2.H>
#define u8 unsigned char
#define u16 unsigned int
sbit moter1 = P1^0;
sbit moter2 = P1^1;
u8 count1_ms,count2_ms;
void PMW0_Init(void);
void main()
{
PMW0_Init();
moter1 = 0;
while(1);
}
void PMW0_Init(void)
{
CL = CH = 0;
CMOD = 0X08;
PCA_PWM0 = 0X00;
CCAP0H = CCAP0L = 128;//占空比为50%
CCAPM0 = 0X42;
CCON = 0X40;
}
今天的文章利用STC15自带PWM驱动电机分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/64030.html