这个是有舵机的避障,中间还有小问题,望指正.
#include <REGX52.H>
#include "intrins.h"
/********************变量定义******************************/
unsigned char count=0;
unsigned char PWM_count=1; //1--0,2--45,3--90,4--135,5--180
unsigned char a=0;
unsigned int zkb1=14; //1为小车占空比,2为舵机
unsigned int count1=0;
unsigned int time,S,q,l,r;
unsigned int b=0;
/*******************管脚定义*********************************************************/
sbit SG_PWM=P3^7; //舵机PWM输出
sbit trig=P2^0; //超声波发射口
sbit echo=P2^1; //超声波接受口
/********************小车功能**********************************************************/
void stop()
{
P1_0=0,P1_1=0,P1_2=0,P1_3=0,P1_4=0,P1_5=0,P1_6=0,P1_7=0;}//停车
void run()
{
if(count1<zkb1)
P1_0=1,P1_1=0,P1_2=0,P1_3=1,P1_4=0,P1_5=1,P1_6=0,P1_7=1;
else
stop();
}//前进
void right()