手机遥控智能小车

/***************************************************************************
标题:蓝牙遥控小车实验
说明:本程序使用11.0592M晶振,串口波特率9600
******************************************************************************/

//头文件:
#include <reg52.h>

//IO引脚定义:

sbit IN1=P1^0;
sbit IN2=P1^1;
sbit IN3=P1^2;
sbit IN4=P1^3;
//以上为电机驱动板输入引脚定义,
//IN1和IN2控制左轮电机,输出对应的OU1和OUT2接左轮电机,
//IN3和IN4控制右轮电机,输出对应的OU3和OUT4接右轮电机

//宏定义
#define L_go IN1=0;IN2=1 //左轮前进
#define L_back IN1=1;IN2=0 //左轮后退
#define L_stop IN1=0;IN2=0 //左轮停止,两个输出1也可以
#define R_go IN3=0;IN4=1 //右轮前进
#define R_back IN3=1;IN4=0 //右轮后退
#define R_stop IN3=0;IN4=0 //右轮停止,两个输出1也可以

#define car_go L_go;R_go; //小车前进
#define car_back L_back;R_back //小车后退
#define car_left R_go;L_stop //小车左转弯
#define car_right L_go;R_stop //小车右转弯
#define car_stop L_stop;R_stop //小车停车
#define car_left_360 R_go;L_back //小车向左360度转,也可以认为是大转弯
#define car_right_360 L_go;R_back //小车向右360度转,也可以认为是大转弯

//数据定义
unsigned char l_buf[3];//串口接收缓冲
unsigned char l_bufcc;//接收个数索引

//延时
void Delay(unsigned int t)
{
unsigned int c;
while(t–){
c=10000;
while(c–);
}
}
/************************************************************************/
void sint() interrupt 4 //中断接收3个字节
{
if(RI){ //是否接收中断
RI=0;
l_buf[l_bufcc]=SBUF;
l_bufcc++;
if(l_bufcc==3) l_bufcc=0;
}
}
/************************************************************************/
void main(void)
{

TMOD=0x20;  

TH1=0xFd; //11.0592M晶振,9600波特率
TL1=0xFd;
SCON=0x50;
PCON=0x00;
TR1=1;
ES=1;
EA=1;

while(1){
	switch(l_buf[2]){//比较按键码,进入相应处理
		case 'A'://前进
			car_go;
			Delay(1);
			break;
		case 'B'://后退
			car_back;
			Delay(1);
			break;
		case 'C'://左转
			car_left;
			Delay(1);
			break;
		case 'D'://右转
			car_right;
			Delay(1);
			break;
		case 'F'://停止
			car_stop;
			break;
	}			
}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值