新闻中心

EEPW首页>嵌入式系统>设计应用> 智能小车的PWM键盘控制电机程序

智能小车的PWM键盘控制电机程序

作者: 时间:2016-12-02 来源:网络 收藏
这个是从一个制作成功的智能小车里面提取出来的

本文引用地址://m.amcfsurvey.com/article/201612/325018.htm

全部的制作资料下载: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;
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.01ms
TL0=0xFe;
TR0=1;
}
if(P00==0&&P01==0&&P02==1) //小车右转定时0.005ms
{
TH0=0XFF;
TL0=0Xfb;
TR0=1;
}
if(P00==1&&P01==0&&P02==0) //小车左转定时0.005ms
{
TH0=0XFF;
TL0=0XFb;
TR0=1;
}
if(P00==1&&P01==1&&P02==1) //全部检测到黑线时 车停
{
TH0=0XFF;
TL0=0Xfb;
TR0=1; }
}
}

xiong()interrupt1
{
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=0Xfb;

P04=1;//电机1 左轮
P05=1;
P06=1; //电机2
P07=0;
i=1;
}
if(P00==0&&P01==0&&P02==0&&i==1) // 特别
{TH0=0XFF;
TL0=0Xfb;
P04=1;
P05=1;
P06=1;
P07=0;
j=0;
}

if(P00==1&&P01==0&&P02==0) //小车左转定时0.005ms
{
TH0=0XFF;
TL0=0XFb;
P04=0;//电机1
P05=1;

P06=1; //电机2
P07=1;
j=1;
}
if(P00==0&&P01==0&&P02==0&&j==1) // 特别
{ TH0=0XFF;
TL0=0Xfb;
P04=0;
P05=1;
P06=1;
P07=1;
i=0;
}
if(P00==1&&P01==1&&P02==1)
{ //全部检测到黑线时 车停
TH0=0XFF;
TL0=0Xfb;
P04=1;
P05=1;
P06=1;
P07=1;}
}



评论


技术专区

关闭