蓝牙串口通信遥控小车
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
蓝牙串口通信遥控小车
————————————————————————————————作者:————————————————————————————————日期:
蓝牙串口通信遥控小车
目录
1系统方案论证及方案选择
2本系统软硬件设计
2.1单元硬件电路设计
2.2软件部分设计
参考文献
附录1原器件清单
附录2电路原理图及印制板图
附录3程序
1. 系统方案论证及方案选择
1.总体设计方案
题目要求设计一个蓝牙串口遥控小车,通过对电机转速的控制,调节速度的大小,改变小车角度,并能实现转弯和旋转。设计主要由主控单片机STC 12C5A60S2驱动直流电机,使车轮工作,带动小车的转动。
2.基本工作原理
3.STC89C52RC有定时器T0 T1 T2,在自动控制领域经常把T1作为串口通信了T0作PWM调速用因此有必要把T2定时器拿出来作定时器作为声音频谱程序。下面介绍T2的用法
STC89C52RC有定时器T2
•void main(void)
•{
•/* T2定时器赋预装载值,溢出16次就是1秒。*/
•RCAP2H=(65536-5000)/256;
•RCAP2L=(65536-5000)%256;
•ET2=1;
//允许T2定时器中断
•EA=1;
//打开总中断
•TR2=1;
//启动T2定时器
•while(1);
// 死循环,等待T2定时器的溢出中断
•}
•void Timer2_Server(void) interrupt5
•{
•staticuint Timer2_Server_Count;
•// 定义静态变量,用来计数T2定时器的溢出次数(进入本函数的次数)
•TF2=0;
•// T2定时器发生溢出中断时,需要用户自己清除溢出标记,而51的其他定时器是自动清除的
•Timer2_Server_Count++;
•if(Timer2_Server_Count==16)// T2定时器的预装载值为0x0BDC,溢出16次就是1秒钟。
•{
•Timer2_Server_Count=0;
•P1_7=~P1_7;
// LED11反转显示。
•}
•}
•voidTimer2_Server(void)interrupt5
•{
•staticuint Timer2_Server_Count;
•//定义静态变量,用来计数T2定时器的溢出次数(进入本函数的次数)
•TF2=0;
•// T2定时器发生溢出中断时,需要用户自己清除溢出标记,而51的其他定时器是自动清除的
•Timer2_Server_Count++;
•if(Timer2_Server_Count==16) // T2定时器的预装载值为0x0BDC,溢出16次就是1秒
钟。
•{
•Timer2_Server_Count=0;
•P1_7=~P1_7;
// LED11反转显示。
•}
•}
二.本系统软硬件设计
系统主要由单片机产生PWM信号,通过电机驱动轮胎的旋转,对其的转速进行控制,使车子行驶前进。根据题目要求,我们的设计分硬件、软件两部分。
2.1 单元硬件电路设计
2.1.151单片机最小系统的制作方案设计
2.1.2小车51系统+驱动(马达)+电池的接线
2.1.3蓝牙与单片机和马达的接线
附录1主要元器件清单
序号名称规格数量
1 锂电池+配套充电器186507.4V 2200mAh锂电池+锂电充电器 1
2 L298N直流电机驱动板
带5V 3A输出
L298N驱动芯片双H桥直流电机驱动芯片ﻫ驱动部分峰
值电流2A,带5V 3A输出
1
3 ZK-1小车底盘1个5mm加厚底盘+2个直流减速电机+2个优质橡
胶轮胎+万向轮+电机导线+螺丝螺母+铜柱+码盘等
1
4 51蓝牙串口模块蓝牙串口模块带电源转换电路支持5V供电 1
5 2.54mm杜邦线40P彩色杜邦线双头1P对1P长20CM 一排40根 1
6 瓷片电容22P 插件2
7 单排针40P 1根 1
8 轻触开关6*6*6 1
9 电解电容10uf 35V 1
10 电阻470欧 5色环直插 1
11 电阻10K 5色环直插 1
12 电路板PCB覆铜板板或者5x7万用版 1
13 超声波测距模块HC-SR04 1
14 超声波测距模块支架支架需要配套的螺丝螺母 1
15 晶振11.0592M 1
16 40P IC座插件DIP40 1
17 单片机学习板 1 附录2电路原理图及印制电路板图
1.
2.
3.
4.
5.超声波串口模块
附录3程序
1.主程序
#include<reg52.h>
#define uchar unsignedchar
#define uint unsigned int
uint ma,mb,mc,PWM=6000;
sbitout1=P1^2 ; //motoA1
sbitout2 = P1^3 ;ﻩ//motoA2
sbit out3 = P1^4 ;ﻩ//motoB1
sbit out4 = P1^5 ; //motoB2
bit PWMIO;
void delay(uint t) //延时程序1
{
uchar j;
while(t--)