目 录
1系统概述 1
1.1设计目的和意义 1
1.2设计思路 2
1.3系统需求分析 2
1.3.1市场需求 2
1.3.2实现功能 2
1.4开发环境 3
1.5运行环境 3
2总体设计 4
2.1系统结构 4
2.1.1硬件电路设计 4
2.1.2软件程序设计 5
2.2模块功能设计 7
2.2.1驱动电源灯的电路设计 7
2.2.2蓝牙控制模块的电路设计 8
2.2.3人体传感器的电路设计 9
2.2.4数据传输模块的电路设计 10
2.2.5串口通信的电路设计 11
3运行设计 13
3.1 蓝牙无线通信程序设计 13
3.1.1蓝牙网络的建立 14
3.1.2网络设备组成与路由器程序 14
3.2核心传感器设计 16
3.3运行代码 18
4系统测试 22
4.1功能测试 22
4.1.1 蓝牙无线通信模块测试 22
4.1.2人体传感器的测试 22
4.1.3障碍电阻的测试 22
4.2稳定性测试 22
4.3安全性测试 23
参考文献 24
1.2 设计思路
基于STC89C52单片机控制的智能车控制系统设计,是一种以汽车电子为背景,涵盖智能控制、模式识别、传感技术、电子电气、计算机、机械等多学科的科技创意性设计,通过安装在小车内的各个传感器节点、红外感应、蓝牙控制模块等,能够实时的控制小车的智能控制、自动往返与避障等功能。设计主要功能:小车在各个传感器节点、红外感应等配合下,在通过蓝牙控制模块实行对小车的实时控制,可以对其指定行驶方向和快慢,达到人们的意愿行驶,同时保证安全有效。
1.3 系统需求分析
1.3.1市场需求
过去的智能车控制系统给予过现代家庭许多美好的想象,但它的市场始终不如人意,其中的原因是多方面的,功能华而不实且价格高昂,是它没有广泛市场的一个重要原因,其中交互性好的控制终端更是大大增加了成本,随着4G甚至5G网络在我国的迅速推广,使得随时随地的数据传输变成了一件方便快捷的事情,同时带动了智能终端的迅速普及,使得智能车控制系统的市场大大增加。智能策划控制系统由多重传感器、光敏电阻、模式识别、WiFi、控制设备、STC89C52单片机芯片、计算机控制系统软件、基于蓝牙控制模块的智能手机等组成。通过手动、自动等方式对智能车控制系统的自主、实施有效进行控制,调节智能车控制系统中的速度开关,自动往返,通过蓝牙控制模块技术实现对智能小车的控制。
1.3.2实现功能
(1)实时控制:对智能车进行任意时间和任意地点的控制,当人们无法操控小车而需要小车行进时,则可设置实时控制模式,起到实时控制的功能。
(2)感应控制:对狭窄空间、路面不平及交通拥堵等区域感应实时情况,实现借助传感器识别路面环境,由单片机控制行进,实现初步的无人控制。
(3)蓝牙控制:将具有智能控制功能的传感器组合在一起,根据不同时间、不同场景及应用者喜好轻松实现各种控制运行,并对智能车的速度和方向进行控制,既方便操作,又能随时达到想去的地方,满足智能车蓝牙控制需求。
(4)保护控制:当遇到特殊路段,或者特殊材料以及障碍物等等,小车控制系统能借助传感器识别路面环境,综合运用单片机技术、检测技术等,使小车避开或者停下等待。
1.4 开发环境
本系统采用STC89C52单片机进行软硬件总体设计。采用Keil C软件进行计算机对小车的主要编程。Keil C提供了包括编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部份组合在一起。 Keil C工具包分别是C51 for Windows和for IOS的集成开发环境,可以完成编辑、编译、连接、调试、仿真等整个开发流程。进入Keil C软件共分为三部分,上方的菜单栏和工具栏,中间的代码编辑器,以及下方的调试信息栏和状态栏。本文转载自http://www.biyezuopin.vip/onews.asp?id=14689菜单栏包含了Keil C的全部功能选项。File菜单用于文件操作,如新建Sketch或打开实例;Edit菜单包含文本编辑和查找等功能;Sketch菜单包括编译和导入函数库选项;Tools菜单用于对目标板类型、编程器和串口进行选择和操作。
1.5 运行环境

  1. 硬件环境
    硬件:STC89C52单片机,各类传感器,蓝牙控制模块,WiFi模块,手机
    处理器:Intel Pentium4 1.7GHZ
    2)软件环境
    内存: 128M
    硬盘空间:40G
    操作系统:Windows 10,Android
    网络协议:WiFi,TCP/IP
    软件:Keil C,STC-ISP
3.3 运行代码
人体传感器核心代码如下:
int psensor=A5;//指定P模拟端口A5
int LED=4;//指定LED端口4
int val=0;//存储获取到的P数值
void setup() {// put your setup code here, to run once:
pinMode(psensor,INPUT);//设置p模拟端口为输入模式
pinMode(LED,OUTPUT);//设置端口4为输出模式
Serial.begin(9600);
}
void loop() {// put your main code here, to run repeatedly:
val=analogRead(psensor);//读取A5的电压值并赋值到val
Serial.println(val);//串口发送val值
if(val>150)//判断P数值是否大于150
{digitalWrite(LED,HIGH);}else{digitalWrite(LED,LOW);}
}
障碍传感器核心代码如下:
int potpin=0;//定义模拟接口0 连接障碍电阻
int ledpin=3;//定义数字接口3 输出PWM调节驱动灯亮度
int vall=0;//定义变量val
void setup()
{
pinMode(ledpin,OUTPUT);//定义数字接口3为输出
Serial.begin(9600);//设置波特率为9600
}
void loop()
{
vall=analogRead(potpin);//读取传感器的模拟值并赋值给val
Serial.println(vall);//显示val 变量数值
analogWrite(ledpin,vall);// 打开驱动灯并设置电流(PWM 输出最大值255)
delay(10);//延时0.01 秒
}
蓝牙模块通信核心代码如下:
String comdata = "";    // 字符串缓冲区
#include <SoftwareSerial.h>
SoftwareSerial Serial1(7, 8);
unsigned long lastDebounceTime = 0;
int led = 2;
void setup() {// put your setup code here, to run once:Serial.begin(115200);Serial1.begin(9600);pinMode(led, OUTPUT);}
void loop() {// put your main code here, to run repeatedly:Serial1.println(F("AT"));if (Serial1.find("OK")) //healthy response{Serial.println("AT is OK");// return true;}else{Serial.println("AT is failed");//return false;}//  Serial1.println(F("AT+UART=9600,8,1,0,0"));//  if (Serial1.find("OK")) //healthy response//  {//    Serial.println("AT+UART=9600,8,1,0,0 is OK");//    // return true;//  }//  else//  {//    Serial.println("AT+UART=9600,8,1,0,0 is failed");//    //return false;//  }//Serial1.begin(9600);delay(100);Serial1.print("AT+CWSAP=\"dofly_wifi\",\"\",1,0,4,0\r\n");delay(1000);if (Serial1.find("OK")) //healthy response{Serial.println("name config is OK");//return true;
}else{Serial.println("name config is failed");// return false; }Serial1.println(F("AT+CIPMUX=1"));if (Serial1.find("OK")) //healthy response{Serial.println("AT+CIPMUX=1 is OK");//return true; }else{Serial.println("AT+CIPMUX=1 is failed");// return false; }Serial1.println(F("AT+CIPSERVER=1,8086"));delay(2);if (Serial1.find("OK")) //healthy response{Serial.println("AT+CIPSERVER=1,8086 is OK");//return true;}else{Serial.println("AT+CIPSERVER=1,8086 is failed");// return false;}while (1){if (Serial1.available()){while (Serial1.available() > 0){comdata += char(Serial1.read());delay(2);}Serial.println(comdata);if (comdata.startsWith("power_on", 11)){Serial.println("ON");digitalWrite(led, HIGH);}else if (comdata.startsWith("power_off", 11)){Serial.println("OFF");digitalWrite(led, LOW);}comdata = "";}}
}







基于STC89C52单片机的智能车控制系统设计相关推荐

  1. 基于51单片机的智能空调控制系统设计(仿真+代码+原理图+报告+视频讲解)

    基于51单片机的智能空调控制系统 这里写目录标题 1 开发环境 讲解演示视频 2 功能说明介绍 3 仿真图 4 程序 4.1 工程文件 4.2 代码 5 原理图 6 元器件清单 7 视频讲解 8 资料 ...

  2. 51单片机风扇转动c语言代码,基于51单片机的智能风扇控制系统设计.doc

    完美.WORD格式.整理 范文.范例.指导 基于51单片机智能风扇控制系统的设计与实现 摘要:随着气温的逐渐上升,风扇的需求量也逐渐扩大.传统风扇不能根据外界温度的变化对风扇转速快慢进行调整,也不能对 ...

  3. 【单片机毕业设计】【mcuclub-109】基于单片机的智能抽油烟机控制系统设计-标准版【实物设计】

    设计简介: 项目编号:mcuclub-109 项目名:基于单片机的智能抽油烟机控制系统设计 单片机:STC89C52 功能: 1.通过MQ-2烟雾传感器检测厨房内烟雾浓度,若烟雾浓度小于设定最小阈值, ...

  4. 【单片机毕业设计】【mcuclub-109】基于单片机的智能抽油烟机控制系统设计-标准版【仿真设计】

    设计简介: 项目编号:mcuclub-109 项目名:基于单片机的智能抽油烟机控制系统设计-标准版 单片机:STC89C52 功能: 1.通过MQ-2烟雾传感器检测厨房内烟雾浓度,若烟雾浓度小于设定最 ...

  5. 智能窗帘传感器c语言程序,基于单片机的智能窗帘控制系统设计(附程序代码)

    基于单片机的智能窗帘控制系统设计(附程序代码)(论文18000字,程序代码) 摘要:二十一世纪初以来,科学技术不断发展,智能家居涌现于各家各户,人们越来越重视生活质量的提高.但是传统的手动开合窗帘耗时 ...

  6. 基于单片机c语言的豆浆机,基于单片机的智能豆浆机控制系统设计(附实物图,电路原理图,程序)...

    基于单片机的智能豆浆机控制系统设计(附实物图,电路原理图,程序)(任务书,开题报告,中期检查表,毕业论文11800字) 摘要 由于市面上的豆浆机不具有长时间保温的功能,打浆完成后残渣很多,而且打浆用时 ...

  7. 【资料分享】基于51单片机的智能指纹考勤系统设计-原理图-PCB-程序-报告、基于51单片机和MAX1898的智能手机充电器设计

    1661[毕设课设]基于51单片机的智能指纹考勤系统设计-原理图-PCB-程序-报告 摘 要 随着科学技术的不断发展带动着电子行业的地位越来越重,现在电子产品几乎在社会的各个领域都可以见到.这些技术的 ...

  8. 基于STM32物联网WiFi智能家居控制系统设计(原理图+源代码+系统资料)

    基于STM32物联网WiFi智能家居控制系统设计(原理图+源代码+系统资料) 原理图:Altium Designer 程序编译器:keil 5 编程语言:C语言 设计编号:C0053 主要功能: 1. ...

  9. ChatGPT直出1.5w字论文查重率才30% - 基于物联网技术的智能家居控制系统设计与实现

    文章目录 ChatGPT直出1.5w字论文查重率才30% - 基于物联网技术的智能家居控制系统设计与实现 一.绪论 1.1 研究背景与意义 1.2 国内外研究现状分析 1.3 研究内容与目标 1.4 ...

最新文章

  1. 今天我们来聊一聊 Spring 中的线程安全性
  2. java selenium (九) 常见web UI 元素操作 及API使用
  3. python 查看数据结构类型_python标准数据结构类型
  4. 大数据分析-裙子颜色蓝黑还是白金是怎么炒作起来的?
  5. ruby动态new对象
  6. OpenGL油画效果
  7. 神经网络(11)--具体实现:unrolling parameters
  8. stc15w4k32s4芯片引脚图片_单片机引脚功能初识及提高(3)
  9. 开学很忙,故障很强(1)!!
  10. 三级联动下拉列表的开发过程与范例
  11. ydui滚动加载:TypeError: Cannot read property '$emit' of undefined
  12. 决策理论(Decision theory)自动规划和调度(Automated planning and scheduling)(双语)
  13. Http request传输图片和附属信息(old)
  14. c语言settextstyle有哪些字体,settextstyle() 设置文本型式函数
  15. 电脑技巧:如何实现电脑一键自动关机和重启?
  16. 交流异步电机的Modelica模型
  17. 最全Linux应用开发解析(持续更新)
  18. sort函数用法详解
  19. FileExplorer for iPhone
  20. 三菱FX2NPLC 主控指令MC和主控指令清除MCR指令

热门文章

  1. 微信小程序项目实例——幸运大转盘
  2. 软阈值(Soft Thresholding)函数和硬阈值(Hard Thresholding)函数
  3. MacOS操作系统使用-小白到熟练掌握
  4. Jetson Nano 发送和接收串口数据
  5. 菜鸟要飞向ARM城堡——MDK中对基于S3C2440工程的配置
  6. android 自定义位置,Android 自定义dialog出现的位置
  7. 世界一流企业,谁不是靠模仿起家的?
  8. kaldi教程_kaldi中特征变换
  9. (2011-12-28 旧博文搬运)闪耀十字军(ティンクル☆くるせいだーす)【3】
  10. Android模拟器系统应用卸载办法