2020-01-27 11:51发布
李鸿鸿 发表于 2013-6-19 22:03 这个是STC12C5A60S2单片机控制PWM的,虽然把PWM改为定时器,但定时器可以输出PWM #include"pwm.h" #include ...
最多设置5个标签!
#include"pwm.h"
#include<reg52.h>
#include"Dingyi.h"
uint value1,value2;
uchar cnt1,cnt2,k1,k2; //控制电机变量
void pwm_chushihua()
{
cnt1=0;
cnt2=0;
EN_A=1;
m1=0;
m2=0;
EN_B=1;
m3=0;
m4=0;
value1=THz;
CCAP0L=value1;
CCAP0H=value1>>8;
value1+=THz;
CCAPM0=0x49;
value2=THz;
CCAP1L=value2;
CCAP1H=value2>>8;
value2+=THz;
CCAPM1=0x49;
CCON=0;
CL=0;
CH=0;
CMOD=0x00;
}
void PCA_int0() interrupt 7 using 1 //PCA中断
{
if(CCF0==1)
{
CCF0=0;
CCAP0L=value1;
CCAP0H=value1>>8;
value1+=THz;
if(cnt1++<=k1)
{
m2=1;
}
else
{
m2=0;
}
if(cnt1>100)
cnt1=0;
}
if(CCF1==1)
{
CCF1=0;
CCAP1L=value2;
CCAP1H=value2>>8;
value2+=THz;
if(cnt2++<=k2)
{
m3=1;
}
else
{
m3=0;
}
if(cnt2>100)
cnt2=0;
}
}
void Output1(uchar x) //PWM1输出控制左边电机
{
k1=x;
}
void Output2(uchar x) //PWM1输出控制左边电机
{
k2=x;
}
嗯,我试了,在ena端口也能调速。。不过我还在使用STC89c52.这芯片,过段时间也该换块芯片玩玩了。。
一周热门 更多>