微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 循迹小车程序问题

循迹小车程序问题

时间:10-02 整理:3721RD 点击:
我用stc89c52 单片机做循迹小车,传感器用的tcrt5000,三个传感器经过lm358运放接在P0的1,2,7口上,以下程序应该怎么改,电机驱动的I/O口接在P1的0,1,2,3口上
程序如下:
#include<reg52.h>#define uint unsigned int
#define uchar unsigned char
sbit MOTER_R_GO  =   P1^0;
sbit MOTER_R_BACK =   P1^1;
sbit MOTER_L_GO  =   P1^2;
sbit MOTER_L_BACK =   P1^3;
sbit LED2           =   P2^6;
sbit LED1           =   P2^7;
sbit LED4           =   P2^5;
sbit LED3           =   P2^4;
uint   turn_flag=0;uint   block_number=0;
/************函数声明**************/
void moter_conter(int x,int y);
/********************************/
/*       道路检测函数   */
/********************************/
void delayms(int xms){
int i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void Rode_scan(){
int  a;
    if(LED1==1)    {  a=1;   }
    if(LED2==1&LED3==0)  {  a=2;   }
if(LED2==1&LED3==1)  {  a=3;   }
if(LED3==1&LED2==0)  {  a=4;   }
if(LED4==1)    {  a=5;   }
if(LED1==1&LED2==1&LED3==1&LED4==1)  { a=6;  }
block_number=a;
}
void Rode_control(){
if(turn_flag==0)
{
  if(block_number==1)       {   moter_conter(1,0);   }
  if(block_number==2)       { moter_conter(2,0);  }
  if(block_number==3)       { moter_conter(0,0);  }
  if(block_number==4)       { moter_conter(0,2);  }
  if(block_number==5)       { moter_conter(0,1);  }
  if(block_number==6)       { moter_conter(0,1);   turn_flag = 1;    delayms(100);   }
  turn_flag = 0;
}
}
/*********************************/
/*        电机控制函数       */
/*   x=0 L  前进   y=0  R  前进  */
/*   x=1 L  后退   y=1  R  后退  */
/*   x=2 L  停止   y=2  R  停止  */
/*********************************/
void moter_conter(int x,int y){
if(x==0)
{
    MOTER_L_GO=1;
    MOTER_L_BACK=0;
}
    if(x==1)
{
    MOTER_L_GO=0;
    MOTER_L_BACK=1;
}
if(x==2)
{
    MOTER_L_GO=0;
    MOTER_L_BACK=0;
}
if(y==0)
{
     MOTER_R_GO=1;
    MOTER_R_BACK=0;
}
if(y==1)
{
     MOTER_R_GO=0;
    MOTER_R_BACK=1;
}
if(y==2)
{
     MOTER_R_GO=0;
    MOTER_R_BACK=0;
}
}
void main()
{
while(1)
{
  Rode_scan();
  Rode_control();
}
}

神马问题呀这段看不出来什吗呀

谢谢分享,看看

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top