下面是我的知能小车的一个前进和后退程序。现在我要实现循迹和避障功能,但发现其速度太快,无法实现循迹和避障功能。所以想求一个适合于51单片机的减速程序。望这里的高手专家行家不吝赐教。
下面是我的小车程序,哪位只要给我改一下,或提示一下就可以了。
/***********************************************************
功能说明:IN1->P10 IN2->P11 ENA->P12
IN3->P13 IN4->P14 ENB->P15
控制电机正转、反转、停止
编译环境:keil4
MCU :STC89C52RC
时钟频率: 11.0592MHz
************************************************************/
#include <reg52.h>
sbit IN1=P1^0; //控制引脚定义
sbit IN2=P1^1;
sbit ENA=P1^2;
sbit IN3=P1^3;
sbit IN4=P1^4;
sbit ENB=P1^5;
void delayms(unsigned int z) //延时毫秒
{
unsigned char i;
while(z--)
{
for(i=120;i>0;i--);
}
}
void FORWARD() //两电机正转
{
ENA=1;
ENB=1;
IN1=0;
IN2=1;
IN3=0;
IN4=1;
}
void BACK() //两电机反转
{
ENA=1;
ENB=1;
IN1=1;
IN2=0;
IN3=1;
IN4=0;
}
void STOP() //电机停止
{
ENA=0;
ENB=0;
}
void main() //主函数
{
while(1)
{
FORWARD();
delayms(1000);
STOP();
delayms(1000);
BACK();
delayms(1000);
STOP();
delayms(1000);
}
} |