核心内容摘要
ok-ww:解放双手的鸣潮自动化技术解决方案
收藏和点赞您的关注是我创作的动力文章目录概要
系统设计总体思路硬件设计的分析系统方案设计
系统硬件设计
系统软件设计
2 仿真软件选择
3 主要模块子程序原理图概要本设计目的是采用单片机的车辆防追尾报警控制系统,核心原件为STC89C51单片式微型计算机,并通过软硬件融合的方法将超音波实时测距技术与单片机融合。
系统硬件主要组成是汽车超声波射频测距控制模块,显示控制模块,报警控制电路和汽车按键控制模块四部组成。
软件开发部分主要功能是由软件主程序和超声波发射机和接收信号中断器子程序、距离检测计算处理子程序和图像显示障碍报警计算子程序等四个部分综合组成的。
驾驶者只需要坐在汽车驾驶室就可以得知与障碍的距离极大地提高了安全性与效率防止了事故的发生。
关键词 STC89C51单片机HC-RS04超声波测距模块自动报警
系统设计总体思路基于STC89C51 单片机的汽车防碰撞报警系统的设计旨在帮助驾驶员在倒车过程中解决因为技术或者外界因素造成的事故当汽车与障碍物之间小于设定的距离时给驾驶员发出报警提醒的安全装置。
该系统利用超声波传感检测模块及时准确的探测到汽车倒车过程中车尾周围的障碍物或行人并立即反馈给车内微型处理系统——C51 单片机单片机再通过精确的算法运算比较之后迅速做出判断给驾驶员留出充足的处理该情况的操作时间以达到减少交通事故发生概率的目的。
硬件设计的分析包括主要模块的选型和功能分析以及电路的设计。
包括超声波模块、单片机模块、显示模块系统软件程序设计及编程。
软件设计的主要工作是确定各个模块的工作内容然后编写各个模块的应用程序模块化的设计可以每个模块可以独立工作这方便于以后修改、调试程序。
在电路仿真软件中Proteus设计出电路的硬件仿真原理图。
对系统的各个功能模块进行软件设计最后通过软件编程来控制输出结果。
对整个系统电路进行调试、编译和调试。
根据上述内容分析研究基于单片机的汽车倒车防撞警报实现目标如下测量并显示车辆后部障碍物距离车辆的距离, 当汽车与障碍物之间小于设定的距离时给驾驶员发出报警提醒。
系统方案设计本文设计的汽车倒车防撞警报系统包括超声波模块、单片机模块、驱动模块、显示模块实现了报警功能、测距功能、显示功能。
超声波测距模块会不停的向主控模块反馈实时的测量数据而这些数据会反映在 LED 显示模块中使用户监控汽车与障碍物的距离以减少倒车碰撞的可能。
显示模块通过显示功能显示与障碍物之间的距离并发出警报声 , 当测量数值小于预设警报间距数值时蜂鸣器会发出警报声以达到防止事故发生的目的。
系统硬件设计(
系统软件结构增强型1t流水线/精简指令集软件结构8051cpu;(
5V单片机/
0V-
8V 3V 单片机(
实际工作频率可达48MHz(
指定用户地址应用程序地址空间12k/10k/8k/6k/4k/2k或4字节;(
片上集成512 字节RAM(
四个不同通用传统驱动输入i/o口(27/23个),复位后为四个:准双向驱动连接口/弱通用上拉中推下拉(普通8051传统四个通用驱动i/o口),也或者可直接将其设置成四种通用驱动输入模式:准双向驱动连接口/弱通用驱动上拉中推下拉,推挽/通用驱动模式强上拉,仅需将复位设置为一个驱动输入/高阻,开漏。
每个传统通用驱动i/o口上的最大驱动容量芯片最大能力值平均可最大精度达到20ma,但整个通用驱动上的芯片最大驱动容量能力不得超过大于1或超过55ma;(
isp(在手机操作中心系统专用软件包中可编程)/iap(在其他手机应用程序软件可编程),无需另外安装任何专用程序软件包或编程器,可通过两个串口(p
0/p
3.
直接下载完成一个下载一片片的用户程序,数秒钟内即可直接下载完成一片;(
EEPROM 功能(
看门狗(
内部配置复位专用集成电路晶体20max810专用内部配置复位专用集成电路(外部复位集成电路晶体20m以下时,可省外或内部配置复位专用集成电
系统软件设计
2 仿真软件选择系统仿真软件使用大学期间所学的 Protel DXP 软件是 Altium 公司研发的软件 具有十分完备的功能包括了丰富的元件库而且可以自行制作添加拥有很强的设计功能。
该软件应用广泛它可以完成设计、调试、仿真等一系列工作。
完整的回路模拟功能有以下特点1模拟设备模拟设备选择开发商设计的仿真电路模拟器文件来实现。
2充足的设备选择该软件拥有着大量的虚拟设备可供选择。
3形象的显示不同的设备拥有不同的标准。
3 主要模块子程序初始代码声明如下 #include reg
H//器件配置文件 #include intrins.h #include eeprom
h //传感器接口 sbit RX P2^3; sbit TX P2^2; //按键声明 sbit S1 P1^4; sbit S2 P1^5; sbit S3 P1^6; sbit DIANP0^5; //蜂鸣器 sbit Feng P2^0;超声波计时测距控制模块的计时作用主要是通过利用一个定时器在主机发出两个超声波发射信号的时候同时进行计时;当它接收到主机反射超声波时,计时器系统会自动发出请求声并停止计时信号,等待一个单片式主机发出响应后,读取这个时间差并且自动计算与两个障碍物之间的发射距离。
常见的温度下每当超声波在低温空气中均匀传播时的速度大约是340m/s,依据这个计时器自动记录时间差的t,就可以能精确计算到声波发射到两点间的距离和与障碍物间的距离(s),即为时间sc*t/2主要代码如下//变量声明 unsigned int time0; unsigned int timer0; unsigned char posit0; unsigned long S0; unsigned long BJS;//报警距离 char num0; //模式 0正常模式 1调整 char Mode0; bit flag0,flag_BJ; unsigned char const discode[] {0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0x80}; ////可以使用只有数码符号管理器才能显示的所有数码0123456789-和不同时间段显示 unsigned char disbuff[4] {0,0,0,0}; //数组用于存放距离信息 unsigned char disbuff_BJ[4] {0,0,0,0};//报警信息 sbit W0P2^4; sbit W1P2^5; sbit W2P2^6; sbit W3P2^7; //计算 void Conut(void) { timeTH0*256TL0; //可以读出每个t0的实际计时时间数值 TH00; TL00; //清空计时器 S(time*
1.
/100; //算出来是CM if(Mode
//非设置状态时 { if((S
||flag
//测量超出规定测量精度范围时会显示“-” { flag0; disbuff[0]10; //“-” disbuff[1]10; //“-” disbuff[2]10; //“-” } else { //距离小于报警距 if(SBJS) //距离小于报警值 { flag_BJ1; //自动报警如果变量被设置一,定时器就会开始自动报警 } else //距离大于报警值 { flag_BJ0; //关闭报警 Feng1; //蜂鸣器关闭 } disbuff[0]S%1000/100; //将距离数据拆成单个位赋值 disbuff[1]S%100/10; disbuff[2]S%10; } } else { Feng1; flag_BJ0; //报警关闭 disbuff_BJ[0]BJS%1000/100; disbuff_BJ[1]BJS%100/10; disbuff_BJ[2]BJS%10; } }其中当距离小于设定预警值时蜂鸣器和LED灯开始工作蜂鸣器长鸣LED灯随着距离的变化而改变自身闪烁频率。
原理图文章底部可以获取博主的联系方式获取源码、查看详细的视频演示或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。
对于本系统我们提供全方位的支持包括修改时间和标题以及完整的安装、部署、运行和调试服务确保系统能在你的电脑上顺利运行。