標(biāo)題: 尋跡 小車程序 [打印本頁]

作者: 空城123    時(shí)間: 2018-3-31 20:59
標(biāo)題: 尋跡 小車程序

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit Motor_left_vcc=P1^0;  //控制左電機(jī)正極
sbit Motor_left_gnd=P1^1;  //控制左電機(jī)負(fù)極
sbit Motor_right_vcc=P1^2;  //控制右電機(jī)正極
sbit Motor_right_gnd=P1^3;  //控制右電機(jī)負(fù)極
sbit Left=P1^4;  //尋跡左  碰到黑線輸入低電平
sbit Right=P1^5;  //尋跡右
void delay(uint x)
{
        uint i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void Motor_Pwm_Go(uint x)  // 直走占空比 1/x+1
{
        Motor_left_vcc=1;
        Motor_left_gnd=0;
        Motor_right_vcc=1;
        Motor_right_gnd=0;
        delay(1);
        Motor_left_vcc=0;
        Motor_left_gnd=0;
        Motor_right_vcc=0;
        Motor_right_gnd=0;
        delay(x);
}
void Motor_Pwm_Left(uint x)  //左轉(zhuǎn)
{
        Motor_left_vcc=0;
        Motor_left_gnd=0;
        Motor_right_vcc=1;   //左轉(zhuǎn):右邊電機(jī)轉(zhuǎn),左邊電機(jī)不轉(zhuǎn)
        Motor_right_gnd=0;
        delay(1);
        Motor_left_vcc=0;
        Motor_left_gnd=0;
        Motor_right_vcc=0;
        Motor_right_gnd=0;
        delay(x);
}
void Motor_Pwm_Right(uint x)  //右轉(zhuǎn)
{
        Motor_left_vcc=1;
        Motor_left_gnd=0;
        Motor_right_vcc=0;
        Motor_right_gnd=0;
        delay(1);
        Motor_left_vcc=0;
        Motor_left_gnd=0;
        Motor_right_vcc=0;
        Motor_right_gnd=0;
        delay(x);
}
void Motor_Pwm_Stop()  //停
{
        Motor_left_vcc=0;
        Motor_left_gnd=0;
        Motor_right_vcc=0;
        Motor_right_gnd=0;
}
void Motor_Pwm_Down(uint x)  //后退
{
        Motor_left_vcc=0;
        Motor_left_gnd=1;
        Motor_right_vcc=0;
        Motor_right_gnd=1;
        delay(1);
        Motor_left_vcc=0;
        Motor_left_gnd=0;
        Motor_right_vcc=0;
        Motor_right_gnd=0;
        delay(x);
}

void main()
{
        if(Left==0)   //左邊碰到黑線,右邊不可能碰到黑線,所以不需要檢測(cè)右邊傳感器的值
{
        Motor_Pwm_Left(10);  //左轉(zhuǎn)
}
        if(Right==0)   //右邊碰到黑線,
{
        Motor_Pwm_Right(10);  //左轉(zhuǎn)
}
   if(Left==1&&Right==1)  //都沒碰到黑線,直走
{
        Motor_Pwm_Go(10) ;
}
  
       
}





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1