标题:
无线遥控加红外循迹或者避障程序
[打印本页]
作者:
腾飞的龙
时间:
2016-3-27 12:33
标题:
无线遥控加红外循迹或者避障程序
普通4键遥控器控制小车和红外循迹或避障程序
/**********************************************
功能:4键无线遥控小车程序
单片机:STC12C5A60S2
晶振 :11.0592M
注释 : 遥控器就是普通的4键315M遥控器加接收模块。
电机驱动用L298或者L293D,驱动板的电机使能端接5v。
********************************************/
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define A P3_4 //遥控按键A
#define BB P3_5 //遥控按键B
#define C P3_6 //遥控按键C
#define D P3_7 //遥控按键D
sbit in1=P1^0; //小车端口
sbit in2=P1^1; //小车端口
sbit in3=P1^2; //小车端口
sbit in4=P1^3; //小车端口
sbit P3_4=P3^4;//遥控按键A
sbit P3_5=P3^5;//遥控按键B
sbit P3_6=P3^6;//遥控按键C
sbit P3_7=P3^7;//遥控按键D
sbit xj_l=P2^0;//循迹或避障左传感器
sbit xj_r=P2^1;//循迹或避障右传感器
void delay10ms(uint z)
{
uint a,b;
for(a=z;a>0;a--)
for(b=425;b>0;b--);
}
void qianjin()
{
in1 = 0 ;
in2 = 1 ;
in3 = 0;
in4 = 1;
delay10ms(100);
}
void houtui()
{
in1 = 1 ;
in2 = 0 ;
in3 = 1;
in4 = 0;
delay10ms(100);
}
void zuozhuan()
{
in1 = 0 ;
in2 = 1 ;
in3 = 1;
in4 = 0;
delay10ms(100);
}
void youzhuan()
{
in1 = 1 ;
in2 = 0 ;
in3 = 0;
in4 = 1;
delay10ms(100);
}
//********************************************************
//********************************************************
void main()
{
while(1)
{
//循迹或避障功能,循迹的时候把传感器朝下安装
//避障的时候把传感器安装在车的前面朝前安装
if(xj_l==1&&xj_r==1)
qianjin();
if(xj_l==0&&xj_r==1)
youzhuan();
if(xj_l==1&&xj_r==0)
zuozhuan();
if(xj_l==0&&xj_r==0)
houtui();
delay10ms(1500);
//无线遥控功能
/* in1 = 0;
in2 = 0 ;
in3 = 0 ;
in4 = 0;
if(A) //前进
{
in1 = 0 ;
in2 = 1 ;
in3 = 0;
in4 = 1;
delay10ms(100);
}
if(BB) //后退
{
in1 = 1;
in2 = 0 ;
in3 = 1 ;
in4 = 0;
delay10ms(100);
}
if(C) //左转
{
in1 = 0;
in2 = 1 ;
in3 = 1 ;
in4 = 0;
delay10ms(100);
}
if(D) //右转
{
in1 = 1 ;
in2 = 0 ;
in3 = 0 ;
in4 = 1;
delay10ms(100);
}*/
}
}
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1