用 51 单片机产生 PWM 控制直流小电机
悬赏分:80 - 解决时间:2009-4-17 14:09
用单片机产生 PWM 控制直流电机我用 L298N 驱动集成芯片,好像用定时器吧,用 C 语言写一段程序,
PWM 是哪端输入,ENABLE,还是 IN1,IN2,控制小车直行两个电机正转,和转弯不要急转,采用
PWM,谢谢,望高手回答!
问题补充:回答的好在加分哦,呵呵!
提问者: 匿名
最佳答案
#define setbit(x,y) (x|=(1<<y))
#define clrbit(x,y) (x&=~(1<<y))
#define getbit(x,y) (x&(1<<y))
void forward(unsigned char speedl,unsigned char speedr)
{
unsigned char j;
setbit(P0,4);
clrbit(P0,3);
setbit(P0,7);
clrbit(P0,5);
for(j=0;j<=100;j++)
{
if (j<speedl) {setbit(P0,2);}
if (j<speedr) {setbit(P0,6);}
if (j>=speedl) {clrbit(P0,2);}
if (j>=speedr) {clrbit(P0,6);}
delayus(2);
}
}
void back(unsigned char speedl,unsigned char speedr)
{
unsigned char j;
setbit(P0,3);
clrbit(P0,4);
setbit(P0,5);
clrbit(P0,7);
for(j=0;j<=100;j++)
{
if (j<speedl) {setbit(P0,2);}
if (j<speedr) {setbit(P0,6);}
if (j>=speedl) {clrbit(P0,2);}
if (j>=speedr) {clrbit(P0,6);}
delayus(2);
}
}
/*