/*****************智能小车蓝牙遥控-循迹实验******************
* 硬件平台:单片机开发板(控制板),智能小车底板
* 开发环境:keil4
* 名称:智能小车蓝牙遥控-循迹实验
* 说明:代码开源,提供有限代码分析。
做本实验时需要连接的线有(通过杜邦线):
1、电机驱动信号线:开发板的P1.2接小车底板的M6;
开发板的P1.3接小车底板的M5;
开发板的P1.4接小车底板的M4;
开发板的P1.5接小车底板的M3;
开发板的P1.6接小车底板的M2;
开发板的P1.7接小车底板的M1;
2、红外信号线: 开发板的P3.6接小车底板的H1;
开发板的P3.7接小车底板的H2;
3、电源线和地: 开发板的5V接小车底板的5V;
开发板的GND接小车底板的GND。
4、蓝牙模块安装在小车底盘尾部的扩展接口上。
蓝牙模块的VCC接小车底盘的5V。
蓝牙模块的GND接小车底盘的GND。
蓝牙模块的TXD接开发板的P3.0。
蓝牙模块的RXD接开发板的P3.1。
为了达到好的实验效果,需要同学们耐心调节。
烧写程序时,用USB线给小车控制板供电;
实际实验时,通过杜邦线用小车底板的5V给小车控制板供电;
不要同时用USB线和小车底板的5V给小车控制板供电。
*******************************************************************/
/****************************操作说明******************************
智能小车上电后默认的工作模式是蓝牙遥控,智能小车上电启动后:
按手机蓝牙遥控APP界面中"前"的箭头小车前进。
按手机蓝牙遥控APP界面中"后"的箭头小车后退。
按手机蓝牙遥控APP界面中"左"的箭头小车向左。
按手机蓝牙遥控APP界面中"右"的箭头小车向右。
按手机蓝牙遥控APP界面中"右旋"的箭头切换到循迹模式,再按一下回到蓝牙遥控模式
控制协议:
前:$1,0,0,0,0,0,0,0,0,0#(文本)
0x24 0x31 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x23(十六进制)
左:$3,0,0,0,0,0,0,0,0,0#(文本)
0x24 0x33 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x23(十六进制)
后:$2,0,0,0,0,0,0,0,0,0#(文本)
0x24 0x32 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x23(十六进制)
右:$4,0,0,0,0,0,0,0,0,0#(文本)
0x24 0x34 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x23(十六进制)
停:$0,0,0,0,0,0,0,0,0,0#(文本)
0x24 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x23(十六进制)
左旋:$0,1,0,0,0,0,0,0,0,0#(文本)
0x24 0x30 0x2C 0x31 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x23(十六进制)
右旋:$0,2,0,0,0,0,0,0,0,0#(文本)
0x24 0x30 0x2C 0x32 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x2C 0x30 0x23(十六进制)
*******************************************************************/
/**************************注意事项********************************
烧写程序的时候P3.0和P3.1上的杜邦线需要先取下,否则程序烧写不进去。
******************************************************************/
#include<reg52.h> //包含51单片机系统头文件
sfr T2MOD = 0xC9;
#define reload_count_1200bps 0xe8 //串口波特率为1200时对应的参数
#define reload_count_2400bps 0xf4 //串口波特率为2400时对应的参数
#define reload_count_4800bps 0xfa //串口波特率为4800时对应的参数
#define reload_count_9600bps 0xfd //串口波特率为9600时对应的参数
//定义智能小车电机驱动芯片L293D输入IO口
sbit IN1 = P1^3; //电机驱动芯片L293D的IN1管脚对应单片机P1.3
sbit IN2 = P1^4; //电机驱动芯片L293D的IN2管脚对应单片机P1.4
sbit IN3 = P1^6; //电机驱动芯片L293D的IN3管脚对应单片机P1.6
sbit IN4 = P1^5; //电机驱动芯片L293D的IN4管脚对应单片机P1.5
sbit EN1 = P1^2; //电机驱动芯片L293D的EN1管脚对应单片机P1.2
sbit EN2 = P1^7; //电机驱动芯片L293D的EN2管脚对应单片机P1.7
sbit BEEP_IO = P2^3; //蜂鸣器控制管脚定义,对应单片机的P2.3
sbit left_led = P3^6; //循迹
sbit right_led = P3^7; //循迹
unsigned char pwmval_left = 0; //变量定义pwmval_left 并初始化为0.用于小车的PWM调速
unsigned char pwmval_right = 0; //变量定义pwmval_right并初始化为0.用于小车的PWM调速
unsigned char pwmval_left_init = 6; //左电机占空比调节 ,调节值在0到20之间,调节此值可调节小车速度。
unsigned char pwmval_right_init = 6; //右电机占空比调节 ,调节值在0到20之间,调节此值可调节小车速度。
bit right_pwm = 1; //右电机PWM开关,为1时打开
bit left_pwm = 1; //左电机PWM开关,为1时打开
bit first_num = 1; //串口接收到一行命令的第一个字符时此标志位为1
unsigned char UART_REV_BUFFER[21]; //数组,用于暂存控制命令
unsigned char num = 0x01; //数组元素指示变量
unsigned char BUFFER[21]; //数组,用于转存控制命令
unsigned char one_frame_finished = 0; //用于标识是否接收到正确的命令和是否处理完一桢正确的命令
bit lyen = 1; //小车工作模式标识(为1时表示小车工作在蓝牙遥控模式,为0时表示工作在循迹模式)
unsigned char count; //count变量用于超声波测距
void delay(int In,int Out) //定义延时函数
{
int i,j;
for( i = 0;i < In;i++ )
{
for( j = 0;j < Out;j++ )
{;}
}
}
void forward(void) //小车前进控制函数
{
IN1 = 1; //将电机驱动芯片L293D的控制管脚 IN1设置成高电平
IN2 = 0; //将电机驱动芯片L293D的控制管脚 IN2设置成低电平
IN3 = 1; //将电机驱动芯片L293D的控制管脚 IN3设置成高电平
IN4 = 0; //将电机驱动芯片L293D的控制管脚 IN4设置成低电平
}
void back(void) //小车后退控制函数
{
IN1 = 0; //将电机驱动芯片L293D的控制管脚 IN1设置成低电平
IN2 = 1; //将电机驱动芯片L293D的控制管脚 IN2设置成高电平
IN3 = 0; //将电机驱动芯片L293D的控制管脚 IN3设置成低电平
IN4 = 1; //将电机驱动芯片L293D的控制管脚 IN4设置成高电平
}
void stop(void) //小车停止控制函数
{
IN1 = 0; //将电机驱动芯片L293D的控制管脚 IN1设置成低电平
IN2 = 0; //将电机驱动芯片L293D的控制管脚 IN2设置成低电平
IN3 = 0; //将电机驱动芯片L293D的控制管脚 IN3设置成低电平
IN4 = 0; //将电机驱动芯片L293D的控制管脚 IN4设置成低电平
}
void left_turn(void) //智能小车左转
{
IN1 = 1;
IN2 = 0; //左车轮停转
IN3 = 0;
IN4 = 0; //右车轮正转
}
void right_turn(void) //智能小车右转
{
IN1 = 0;
IN2 = 0; //左车论的正转
IN3 = 1;
IN4 = 0; //右车轮停转
}
/************************************************************************/
void left_moto(void) //小车左电机PWM调速控制函数
{
if(left_pwm) //如果变量left_pwm为1,执行左电机pwm调速功能(left_pwm相当于一个开关,只有为1时才有pwm调速功能)
{
if(pwmval_left <= pwmval_left_init) //当pwmval_left小于等于pwm_left_init时
{
EN1 = 1; //将电机驱动芯片的EN1管脚设置成高电平
}
else //当pwmval_left小不于等于pwm_left_init时
{
EN1 = 0; //将电机驱动芯片的EN1管脚设置成低电平
}
if(pwmval_left >= 20) //如果 pwmval_left大于等于20
{
pwmval_left = 0; //将 pwmval_left设为0
}
}
else // 如果变量left_pwm为0,将电机驱动芯片的EN1管脚设置成低电平 (left_pwm相当于一个开关,只有为1时才有pwm调速功能)
{
EN1 = 0
没有合适的资源?快使用搜索试试~ 我知道了~
51单片机(STC89C52RC)智能小车蓝牙遥控(手机APP控制)+循迹实验程序源代码.rar
共14个文件
uvopt:1个
plg:1个
uvproj:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 5 下载量 10 浏览量
2021-12-23
16:45:34
上传
评论
收藏 2.18MB RAR 举报
温馨提示
该程序源代码用于51单片机(STC89C52RC)智能小车蓝牙遥控(手机APP控制)+循迹实验。 1、源代码开发软件:KEIL; 2、程序对应处理器是:STC89C52RC; 3、智能小车电机驱动芯片是:L293D; 4、智能小车电机为:TT直流减速电机; 5、需要用到1602液晶屏; 6、需要用到蓝牙模块; 7、需要用到循迹模块; 该程序源代码在本人51单片机(STC89C52RC)智能小车上亲测可用。
资源推荐
资源详情
资源评论
收起资源包目录
29、51单片机(STC89C52RC)四轮驱动智能小车蓝牙遥控(手机APP控制)+循迹实验程序源代码.rar (14个子文件)
29、51单片机(STC89C52RC)四轮驱动智能小车蓝牙遥控(手机APP控制)+循迹实验程序源代码
智能小车蓝牙遥控-循迹实验
智能小车蓝牙遥控-循迹实验.OBJ 14KB
智能小车蓝牙遥控-循迹实验.hex 2KB
智能小车蓝牙遥控-循迹实验_uvopt.bak 71KB
智能小车蓝牙遥控-循迹实验 12KB
智能小车蓝牙遥控-循迹实验.LST 28KB
智能小车蓝牙遥控-循迹实验.lnp 82B
智能小车蓝牙遥控-循迹实验.plg 535B
智能小车蓝牙遥控-循迹实验.M51 21KB
智能小车蓝牙遥控-循迹实验.c 14KB
智能小车蓝牙遥控-循迹实验.uvproj 13KB
智能小车蓝牙遥控-循迹实验.uvopt 71KB
实验说明
APP使用说明.docx 447KB
智能小车蓝牙遥控-循迹实验.doc 30KB
APP安装包(安卓系统手机).rar 1.73MB
共 14 条
- 1
资源评论
- Sartayk2022-05-03用户下载后在一定时间内未进行评价,系统默认好评。
- 万古长明6612022-05-16用户下载后在一定时间内未进行评价,系统默认好评。
- 私はいつもいる、离れたこ2022-11-16资源有很好的参考价值,总算找到了自己需要的资源啦。
- LincoTT2022-04-15用户下载后在一定时间内未进行评价,系统默认好评。
- 2401_829637622024-03-11资源有一定的参考价值,与资源描述一致,很实用,能够借鉴的部分挺多的,值得下载。
嵌入式硬件与代码
- 粉丝: 483
- 资源: 582
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功