图片上不去,先参考一下:
程序中这里的IO初始化
void port_init(void)
{
PORTA = 0x00;
DDRA = 0x00;
PORTB = 0x00;
DDRB = 0x00;
PORTC = 0x00;
DDRC = 0x00;
PORTD = 0x00;
// DDRD = 0x80; // D7 PWM //参考芯片手册
//这里修改
DDRD =0xB0; //PD4 PD5 PD7 OUT
}
另外注意如果,启动时的PWM占空比太低 电机是转不起来的,
void main(void)
{
/******************************************************************************/
//初始工作
/******************************************************************************/
init_devices();
while(1)
{
for_ward(0); //默认速度运转 正
Delay1s(5); //延时5s
motor_stop(); //停止
Delay1s(5); //延时5s
back_ward(0); //默认速度运转 反
Delay1s(5); //延时5s
speed_add(20); //加速
Delay1s(5); //延时5s
speed_subtract(20); //减速
Delay1s(5); //延时5s
}
}
及这里的for_ward(0); //默认速度运转 正
如果改为for_ward(5);电机转不起来