标题: 智能小车红外避障程序 [打印本页]
作者: a23806112 时间: 2017-2-7 22:35
标题: 智能小车红外避障程序
#include <AT89X52.H>
#include <STRING.H>
#include <REG52.H>
#define FLeftMotor P1_0 = 1 ; P1_1 = 0
#define BLeftMotor P1_0 = 0 ; P1_1 = 1
#define FRightMotor P1_2 = 1 ; P1_3 = 0
#define BRightMotor P1_2 = 0 ; P1_3 = 1
#define LeftStop P1_0 = 1 ; P1_1 = 1
#define RightStop P1_2 = 1 ; P1_3 = 1
#define CarStop P1_0 = 1; P1_1 = 1 ; P1_2 = 1 ; P1_3 = 1
Senser=P3^2//延时//
Void delay1(unsigned int i)
{
While(--i)
}
//********************************************************
// 左转
//********************************************************
void TurnLeft_1()
{
LeftStop ;
FRightMotor ;
}
//********************************************************
// 壁障程序
//********************************************************
void Obstacle_Avoid(void)
{
if(!Senser)
{
Fleftmotor;
Frightmotor;
}
if((RightSenser) {
Turnright();
delay1(300);
Fleftmotor;Frightmotor;
Delay1(300);
Turnleft();
delay1(300);
Fleftmotor;Frightmotor;
}
//右转//
void Turnright()
{
Rightstop;
Fleftmotor;
}
void Turnleft()
{
Leftstop;
Frightmotor;
}
中断方式:
#include <AT89X52.H>
#include <REG52.H>
# include <string.h>
#define qianjin P1=0x0A; //前进//
#define zuozhuan P1=0x02; //左转//
#define youzhuan P1=0x08; //右转//
#define houtui P1=0x05; //后退//
#define shatin P1=0x0f; //刹停//
IE=0x05;
SETB EXO;SETB EX1;
Void bizhang (void) interrupt 0;
Void delay (unsigned char i);
Void main (void)
{ while(1){
qianjin; }
}
Void bizhang ( ) interrupt 0 //壁障函数//
{ EA=0;
zuozhuan;
delay(500);
shatin;
if(!(EX0||EX1))
{ zuozhuan;
delay(500);
shatin;
}
qianjin;
delay(30000);
zuozhuan;
delay(500);
EA=1;
}
Void delay (unsigned char i) //延时函数//
{ while(--i);
}
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |