STC12C56xxAD芯片怎么用pwm调速程序
答案:1 悬赏:60
解决时间 2021-01-21 02:26
- 提问者网友:战皆罪
- 2021-01-20 20:08
STC12C56xxAD芯片怎么用pwm调速程序
最佳答案
- 二级知识专家网友:人间朝暮
- 2021-01-20 21:31
我有一个程序
我也是用的这个芯片我控制的是直流电机 . 你需要我可以给你
#include"STC12C5A.h"//注意这个头文件,用reg52是不行的,如果你没有的话,可以去百 // //度文档里搜索"STC12C5A系列单片机头文件",有我共享的头文件。
sbitk1=P3^4;
sbitk2=P3^5;
void delay(unsigned int cnt)
{
unsigned char i;
for(;cnt>0;cnt--)
for(i=0;i<250;i++);
}
void main()
{
CCON=0; //PCA初始化
CL=0;//PCA的16位计数器低八位
CH=0;//PCA的16位计数器高八位
CMOD=0x00;//选择 系统时钟/12 为计数脉冲,则PWM的频率f=sysclk/256/12;
CCAP0H=0x80;//占空比控制
CCAP0L=0x80;
PCA_PWM0=0x00; //控制占空比的第九位为0
CCAPM0=0x42;//允许P13作为PWM输出
CR=1; //启动PCA计数器
while(1)
{
if(k1==0)
{
delay(200);
while(k1==0);
CCAP0H+=5; //占空比调节
CCAP0L+=10;
}
if(k2==0)
{
delay(200);
while(k2==0);
CCAP0H-=5; //占空比调节
CCAP0L-=5;
}
}
}
如果你是控制 直流电机的话
还需要一个 直流电机的驱动芯片
这个程序可以在P1.3口输出一个PWM 信号 而且是通过调PWM的占空比
你可以 用示波器 观察下..
希望对你有帮助
我也是用的这个芯片我控制的是直流电机 . 你需要我可以给你
#include"STC12C5A.h"//注意这个头文件,用reg52是不行的,如果你没有的话,可以去百 // //度文档里搜索"STC12C5A系列单片机头文件",有我共享的头文件。
sbitk1=P3^4;
sbitk2=P3^5;
void delay(unsigned int cnt)
{
unsigned char i;
for(;cnt>0;cnt--)
for(i=0;i<250;i++);
}
void main()
{
CCON=0; //PCA初始化
CL=0;//PCA的16位计数器低八位
CH=0;//PCA的16位计数器高八位
CMOD=0x00;//选择 系统时钟/12 为计数脉冲,则PWM的频率f=sysclk/256/12;
CCAP0H=0x80;//占空比控制
CCAP0L=0x80;
PCA_PWM0=0x00; //控制占空比的第九位为0
CCAPM0=0x42;//允许P13作为PWM输出
CR=1; //启动PCA计数器
while(1)
{
if(k1==0)
{
delay(200);
while(k1==0);
CCAP0H+=5; //占空比调节
CCAP0L+=10;
}
if(k2==0)
{
delay(200);
while(k2==0);
CCAP0H-=5; //占空比调节
CCAP0L-=5;
}
}
}
如果你是控制 直流电机的话
还需要一个 直流电机的驱动芯片
这个程序可以在P1.3口输出一个PWM 信号 而且是通过调PWM的占空比
你可以 用示波器 观察下..
希望对你有帮助
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯