51单片机循迹小车电机驱动程序PWM
原理图及其源代码压缩包的下载地址:http://www.51hei.com/bbs/dpj-19526-1.html
下面是主要的程序文件预览:#include
sbit P00=P0^0; //循迹口
sbit P01=P0^1;
sbit P02=P0^2;
sbit P04=P0^4; //电机1左轮
sbit P05=P0^5;
sbit P06=P0^6; //电机2
sbit P07=P0^7;
unsigned int i=0,j=0;//q=0,w=0;
void main()
{
while(1)
{
P04=1;P05=1;P06=1; P07=1;
TMOD=0X01;
EA=1;
ET0=1;
if(P00==0&&P01==1&&P02==0) // 小车直走 定时0.002ms
{
TH0=0XFF; //定时0.005ms
TL0=0Xfe;
TR0=1;
}
if(P00==0&&P01==0&&P02==1) //小车右转定时0.005ms
{
TH0=0XFF;
TL0=0Xfe; //0.01
TR0=1;
}
if(P00==1&&P01==0&&P02==0) //小车左转定时0.005ms
{
TH0=0XFF;
TL0=0Xfe;
TR0=1;
}
if(P00==1&&P01==1&&P02==1) //全部检测到黑线时 车停
{
TH0=0XFF;
TL0=0Xfe;
TR0=1; }
/***********************************/
if(P00==0&&P01==1&&P02==1) //两个传感器测到 左拐
{TH0=0XFF;
TL0=0Xfe;
TR0=1; }
if(P00==1&&P01==1&&P02==0) //两个传感器测到 左拐
{TH0=0XFF;
TL0=0Xfe;
TR0=1; }
/**********************************/
}
}
xiong() interrupt 1
{
if(P00==0&&P01==1&&P02==0) //小车直线快走 定时0.002ms
{
TH0=0XFF;
TL0=0Xfe;
P04=0;//电机1左轮
P05=1;
P06=1; //电机2 右转
P07=0;
}
if(P00==0&&P01==0&&P02==1) //小车右转定时0.005ms
{
TH0=0XFF;
TL0=0Xfe;
P04=1;//电机1 左轮
P05=1;
P06=1; //电机2
P07=0;
i=1;
}
if(P00==0&&P01==0&&P02==0&&i==1) // 特别 出线时用
{TH0=0XFF;
TL0=0Xfe;
P04=1;
P05=1;
P06=1;
P07=0;
j=0;// q=0;w=0;
}
if(P00==1&&P01==0&&P02==0) //小车左转定时0.005ms
{
TH0=0XFF;
TL0=0Xfe;
P04=0;//电机1
P05=1;
P06=1; //电机2
P07=1;
j=1;
}
if(P00==0&&P01==0&&P02==0&&j==1) // 特别 出线时用
{ TH0=0XFF;
TL0=0Xfe;
P04=0;
P05=1;
P06=1;
P07=1;
i=0;//q=0;w=0;
}
if(P00==1&&P01==1&&P02==1)
{ //全部检测到黑线时 车停
TH0=0XFF;
TL0=0Xfe;
P04=1;
P05=1;
P06=1;
P07=1;}
/*********************************************/
if(P00==0&&P01==1&&P02==1) //两个传感器测到 左拐
{
TH0=0XFF;
TL0=0Xfe;
P04=1;
P05=0; // 一个轮前转一个轮后转 转90
P06=1;
P07=0;
// q=1;
}
/* if(P00==0&&P01==0&&P02==0&&q==1)
{
TH0=0XFF;
TL0=0Xfe;
P04=1;
P05=0; //
P06=1;
P07=0;
w=0;//i=0;j=0;
} */
if(P00==1&&P01==1&&P02==0) //两个传感器测到 右拐
{
TH0=0XFF;
TL0=0Xfe; //
P04=0;
P05=1;
P06=0; //一个轮前转一个轮后转 转90
P07=1;
//w=1;
} /* if(P00==0&&P01==0&&P02==0&&w==1) //两个传感器测到 右拐
{
TH0=0XFF;
TL0=0Xfe; //0.008
P04=0;
P05=1;
P06=0;//
P07=1;
q=0;//i=0;j=0;
} */
}
/***************************************/
51单片机循迹小车电机驱动程序PW 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)