内容正文:
任务5 智能小车通信模块设计与制作
单片机技术与应用
项目三 智能车间搬运系统设计与制作
【基础任务要求】通过模拟企业智能车间 AGV 搬运小车,使用蓝牙模块连接小车,用手机 APP 控制小车前进、后退、左转、右转、停止、加速、减速、鸣笛等动作。
任务5 智能小车通信模块设计与制作
虚拟仿真
方案设计
任务拓展
实物联调
总结评价
任务引入
任务实现四步骤
搭接硬件电路
硬件设计
调试控制电路
调试控制程序
软硬件调试
实物运行
功能实现
绘制流程图
蓝牙模块编程方法
软件设计
01
02
03
04
重点、难点
难点
虚拟仿真
方案设计
任务拓展
实物联调
总结评价
任务引入
STC89C52
单片机
时钟电路
复位电路
电源电路
系统框图
直流电机电路
直流电机驱动电路
任务5 智能小车通信模块设计与制作
蓝牙模块
虚拟仿真
方案设计
任务拓展
实物联调
总结评价
任务引入
任务名:智能小车通信模块设计与制作
元件名称 图片 型号 数量 Proteus中的名称
单片机芯片 AT89C51 1 用AT89C51代替STC89C52
晶振 12MHZ 1 CRYSTAL
电容 22pF 2 CAP
电解电容 22μf/16V 1 CAP-ELEC
电阻 10KΩ 1 RES
直流电机驱动芯片 L298 1 L298
直流电机 MOTOR 4 motor
限流二极管 1N4148 8 1N4148
蓝牙模块 HC-06
元器件选型
虚拟仿真
方案设计
任务拓展
实物联调
总结评价
任务引入
硬件设计
蓝牙模块HC-06
蓝牙接线
蓝牙模块VCC----单片机VCC
GND---- 单片机GND
TXD---- 单片机IO口P3.0引脚RXD
RXD----单片机IO口P3.1引脚TXD
小锦囊:电源不得接反
虚拟仿真
方案设计
任务拓展
实物联调
总结评价
任务引入
6
硬件设计
虚拟仿真
方案设计
任务拓展
实物联调
总结评价
任务引入
硬件设计
TXD: 发送端,一般表示为自的发送端,正常通信必须接另一个设备的RXD。
RXD: 接收端,一般表示为自己的接收端,正常通信必须接另一个设备的TXD。正常通信时候本身的TXD永远接设备的RXD !
自收自发: 正常通信时RXD接其他设备的TXD,因此如果要接收自己发送的数据,也就是自己接收自己发送的数据,即自身的TXD直接连接到RXD,用来测试本身的发送和接收是否正常,是最快最简单的测试方法,当出现问题时首先做该测试确定是否产品故障。也称回环测试。
虚拟仿真
方案设计
任务拓展
实物联调
总结评价
任务引入
软件设计
1
如何编程实现智能小车蓝牙控制?
重点、难点
虚拟仿真
方案设计
任务拓展
实物联调
总结评价
任务引入
知识链接
51智能小车蓝牙遥控通讯协议
虚拟仿真
方案设计
任务拓展
实物联调
总结评价
任务引入
知识链接
51智能小车蓝牙遥控通讯协议
1、上下左右停止(对应协议中的第1位)
举例:$0,0,0,0,0,0,0,0,0,0,0,100,4200#
变量:direction:
{up(1),down(2),left(3),right(4),stop(0)}
2、左旋转、右旋转(对应协议中的第3位)(自定义1)
举例:$0,0,0,0,0,0,0,0,0,0,0,100,4200#
变量:revolve:
{turn_left(1),turn_right(2)}
虚拟仿真
方案设计
任务拓展
实物联调
总结评价
任务引入
知识链接
蓝牙编程
程序框架:
执行函数
串口初始化函数
串口中断函数
主函数
虚拟仿真
方案设计
任务拓展
实物联调
总结评价
任务引入
知识链接
蓝牙编程
串口初始化
#include<reg52.h>
#include”car.h”
unsigned char receiveData; //接收到的数据存放变量
虚拟仿真
方案设计
任务拓展
实物联调
总结评价
任务引入
知识链接
蓝牙编程
串口初始化
void Uart_Init()
{
PCON=0x00; //关倍频
SCON = 0x50; // 8位数据,可变波特率
TMOD = 0x20; //设置定时器的模式
TH1=0xfd; //波特率9600初值
TL1=0xfd;
TR1= 1; //定时器1开始计时
EA = 1; //开总中断
ES= 1; //打开串口中断
}
虚拟仿真
方案设计
任务拓展
实物联调
总结评价
任务引入
知识链接
蓝牙编程
串口中断函数
void Uart_Routine() interrupt 4 //中断函数
{
car_stop(); //小车停止
RI=0; //清除接收中断标志位
receiveData=SBUF; //接收到的数据
receive(receiveData);
}
虚拟仿真
方案设计
任务拓展
实物联调
总结评价
任务引入
知识链接
蓝牙编程
接收执行函数
void receive(unsigned char m) //接收函数
{
switch(m)
{
case ‘1’:
car_go(); //前进
break;
case’2’:
car_back(); //后退
break;
case ‘3’:
car_left(); //左转
break;
case ‘4’:
car_right(); //右转
break;
case ‘0’:
car_stop(); //停止
break;
}
}
虚拟仿真
方案设计
任务拓展
实物联调
总结评价
任务引入
知识链接
蓝牙编程
主函数
void main()
{
Timer0_Init(); //控制小车速度函数
Uart_Init();
while(1);
}
虚拟仿真
方案设计
任务拓展
实物联调
总结评价
任务引入
知识链接
1.硬件连接
2.下载程序
3.手机下载蓝牙APP
4.手机打开蓝牙,配对
虚拟仿真
方案设计
任务拓展
实物联调
总结评价
任务引入
知识链接
虚拟仿真
方案设计
任务拓展
实物联调
总结评价
任务引入
【进阶任务要求】通过模拟企业智能车间 AGV 搬运小车,使用WIFI模块连接小车,用手机 APP 控制小车前进、后退、左转、右转、停止、加速、减速、鸣笛等动作。
虚拟仿真
方案设计
任务拓展
实物联调
总结评价
任务引入
每天学习一点点,变成更好的自己
单片机技术与应用
$$