电子工程训练课程实验报告无线蓝牙小车
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目:基于STC15W4K32S4的蓝牙智能小车
课程名称:
学院(系):
专业:
班级:
学号:
实验序号:
学生姓名:
成绩:
2016 年11月4日
成绩评定
电子安装实验室安全守则
(请在下一页手抄一份安全守则)
1、每次实验前,认真预习准备,仔细阅读实验安全守则,严格按照
安全规范进行实验,确保实验安全;
2、桌面要保持整洁,不允许有杂物,禁止将水杯、瓶装水放在桌面;
3、电烙铁在使用前,必须检查电源线有无烫损漏线情况,一经发现,
立即找老师进行安全处理;
4、电烙铁长时间不使用,应将电源线拔掉;电烙铁使用后,应放回
烙铁架中,以免烫伤物品;
5、实验结束后,必须拔掉电烙铁的电源线;已经加热的电烙铁,必
须冷却后再放入抽屉中;
6、焊锡中含铅,不要含在口中,实验结束后要洗手;
7、稳压电源在使用前,应先调好要使用的电压,再进行线路连接,
并确保连接的极性正确;
8、抢救触电人员时,应首先切断电源或用绝缘物体挑开电源线,使
触电者脱离电源,千万不要用手拖拉触电人员,以免连环触电;
9、实验结束后,必须关闭桌面电源开关,将桌面收拾干净,工具物
品整理好。
题目:
1 设计要求
以STC15W4K32S4单片机为核心,设计焊接并且调试一个实际的单片机控制系统,通过蓝牙实现用手机控制小车的动作状态。
(一)焊接:在实现基本功能的前提下焊接好设计的系统,尽量使其稳定焊点稳定,焊接美观。
(二)最小系统与电源:利用7505稳压芯片实现输入电压转为五伏稳压电源输出。
(三)功能实现:实现用手机自制app或者蓝牙串口助手控制小车前进方向以及行驶速度。
2 设计分析及系统方案设计
围绕STC15W4K32S4单片机,把系统的设计规划分为两部分
硬件部分:
(一)设计并且绘制原理图
(二)按照原理图焊接电路板
软件部分:
(一)编写实验程序
(二)系统调试
将单片机的p0口用于驱动lcd1602,p4.5,p2.7,p2.3,p2.2用于输出pwm控制电机。P3.0与p3.1用于与主机通信并且用于蓝牙串口通信。
3 各功能模块硬件电路设计
(一)最小系统
由于STC15W4K32S4的性能已经进行了优化,所以不同于以往所接触的单片机,它的晶振已经集成化,不用再搭建最小系统电路。
(二)电源电路
将输入电压转为5v稳压电源输出
(三)LCD液晶屏电路
使用P1.0~P1.7与D0~D7相接,EN,RW,RS分别与P0.7,P0.6,P0.5相接(四)蓝牙与单片机连接
这里直接用P3.0,P3.1与主机的串口通信和与蓝牙共用串口。
(五)LN298模块
4 系统软件设计
#include "reg51.h"
#include "intrins.h"
#include "stdio.h"
#include "stdlib.h"
#define MAIN_Fosc 11059200L //定义主时钟
/************* 变量声明**************/
typedef unsigned char u8;
typedef unsigned int u16;
typedef unsigned long u32;
typedef unsigned char BYTE;
typedef unsigned int WORD;
#define uchar unsigned char
#define uint unsigned int
#define elif else if
#define PWMC (*(unsigned int volatile xdata *)0xfff0) #define PWMCH (*(unsigned char volatile xdata *)0xfff0) #define PWMCL (*(unsigned char volatile xdata *)0xfff1) #define PWMCKS (*(unsigned char volatile xdata *)0xfff2) #define PWM2T1 (*(unsigned int volatile xdata *)0xff00) #define PWM2T1H (*(unsigned char volatile xdata *)0xff00) #define PWM2T1L (*(unsigned char volatile xdata *)0xff01) #define PWM2T2 (*(unsigned int volatile xdata *)0xff02) #define PWM2T2H (*(unsigned char volatile xdata *)0xff02) #define PWM2T2L (*(unsigned char volatile xdata *)0xff03) #define PWM2CR (*(unsigned char volatile xdata *)0xff04) #define PWM3T1 (*(unsigned int volatile xdata *)0xff10) #define PWM3T1H (*(unsigned char volatile xdata *)0xff10) #define PWM3T1L (*(unsigned char volatile xdata *)0xff11) #define PWM3T2 (*(unsigned int volatile xdata *)0xff12) #define PWM3T2H (*(unsigned char volatile xdata *)0xff12)