基于51单片机的倒车雷达显示与控制系统设计

摘要

随着科学技术的快速发展,倒车雷达的应用越来越广泛。但是,在现在的技术水平上,人们可以利用的
倒雷达技术还很有限。本文设计的系统为基于51单片机的倒车雷达显控系统设计与实现。通过该系统的设计,能够
实现汽车后退时的后方距离的测定,能够将测定出的数据实时显示在液晶显示器上。另外,如果测得的距离小于安
全值,应立即发出警报,及时刹车。
  本文在充分阅读大量相关研究文献的基础之上,按照需求分析、总体设计、硬件仿真、软件实现的过程,结合
硬件和软件的联调联试,完成了该系统的所有功能。毕业设计所设计的系统技术能够用在交通运输驾驶行业,能够
为预防交通事故、提升驾车安全性、保障公民人身安全提供一定的参考借鉴意义,具有很强的显示应用背景和创新
价值。本系统使用了传感器技术,无线通信,技术嵌入式技术,电子技术等知识选用51单片机作为主芯片,LCD1602
液晶显示,实现倒车雷达显控系统设计。
[关键词] 单片机 倒车雷达显控系统 预警 自动刹车

第1章 绪论

1.1 设计报告研究背景及意义
  我国拥有大量汽车,随着汽车数量急剧增多,道路安全行驶的重要性便受到了越来越多关注。驾驶员素质合
格、技能全面是保证行车安全的重要前提,但是车辆本身的性能以及功能等要求对于保障车辆安全行驶也具有非常
重要的意义。车辆安全最核心的因素就是保证车辆防碰撞,特别是在车辆倒车行驶以及侧方位停车等情况下,非常
容易造成车辆刮擦等事故,在车辆正常行驶的情况下,由于视野受限等原因,非常容易产生因盲区死角带来的事故
隐患。目前我国因为交通事故造成人员伤亡占比高达70%,因此研究解决交通行业事故频发的相关问题,对于保障公
民的人身财产安全具有非常重要的意义。
  毕业设计从汽车安全驾驶防止碰撞的基础角度出发,倒车雷达是汽车驻站和倒车时的安全辅助设备,能以声音
和更为直接的显示告知驾驶者周边障碍物的状况,从而克服了在司机驻站、倒车和启动汽车时前后或左右访视所带
来的问题,从而帮助驾驶者扫除了视线死角和视野模糊的情况问题。汽车倒车的时候,实时测量后方障碍物的距离测量,并且将距离显示在液晶显示屏上。当距离数据低于安全距离之时,就发出报警提示,并且同时向汽车控制系
统发出指令及时刹车。该系统能够为汽车的倒车雷达显控制系统设计提供一个思路,研发成果可以直接引入车辆的
工程化应用之中,具有很强的现实价值和应用前景。
1.2 国内外研究现状
  倒车雷达的使用最初只是在一些国外高级轿车上使用,从21世纪初开始,倒车雷达逐渐普及应用开来,倒车雷
达的产品销量也逐年增加。
  倒车雷达系统的使用,经历了几次的技术革新,从最初的倒车喇叭提醒,逐渐发展成为倒车实时显示周围障碍
物的情况,直到最后的智能倒车雷达系统的出现,能够实现全方位的倒车检测和自动化控制。目前我国的倒车雷达
按照检测技术的不同分为红外线检测和超声波检测。
  第一种红外倒车检测雷达。使用这种检测手段的倒车系统主要使用红外线发射管和红外接收管作为核心传感器
件,该模块主要使用多简谐电压驱动模块,完成红外发射和接收过程。红外背雷达检测系统主要在发射的红外和接
收的红外之间进行比较。如果发射强度高于阈值,就点亮LED发光二极管,否则熄灭二极管,通过点亮的LED灯来确
定倒车的距离,但是红外倒车雷达的检测不能够准确的测量距离,容易受到不良天气的影响。
  第二种是超声波倒车雷达系统,该系统利用的是检测回波信号的时间延迟长短来计算倒车距离,超声波传播过
程中,能量衰减较弱,同时传播距离也比较远,能够实现精确的距离测量,相比于第一种测距精度更高、超声波发
射能力强,是目前应用的最为主流的倒车系统技术。
  彭翠云等人采用了CYgnal8051F330单片机作为控制器,并开发出了一款适用于汽车倒车控制系统的超声测距模
块。该模组为决策控制系统增加了车辆和障碍物之间的时间间隔,并利于车辆避障,同时也能够确保较大的定距准
确度和较广的实际测距范围。仇成群等人根据超声波定距技术,设计了一个车辆测距与防撞警示系统。让控制系统
可以自动检测车辆和障碍物之间的距离,并且还可以进行LED提示功能,并具备了电路简洁、操控方便、工作平稳等
特点优势。王分军等人利用mimo电磁信号收发原理研制出一款高精度的超声波测距定位雷达,该雷达除了能够实现
高精度的距离测量之外,还可以实现空间维度上的方向定位功能,具有很强的性能和应用场景。
  国外在倒车雷达研究中比较先进的检测技术是使用激光雷达测距来实现倒车提醒,激光测距是一种十分精确的
检测技术,主要通过光源相干技术实现激光的传播,用在倒车领域该技术的使用成本比较高,往往在比较昂贵的豪
车中使用。激光倒车雷达的检测精确极为精准,检测距离长,特别适用于长距离驾车中自动驾驶场景的使用。
  综上所述,超声雷达的研究有很多的方法手段,但是现目前还没有一款性价比较高,功能齐全完善的倒车雷
达,因此毕业设计立足于该出发点,研发设计一款能够满足当前需求的倒车雷达。在这里插入图片描述

图1.1 蜂鸣可视倒车雷达
1.3 毕业设计主要研究内容及框架结构
  毕业设计主要研究的内容为基于51单片机的倒车雷达显控系统设计与实现,主要需要考虑的问题为单片机的硬
件设计和软件设计部分功能的实现,以及硬件和软件的联合调试问题。毕业设计的主要结构框架如下:
第一篇是绪论,着重阐述系统研发创新的历史背景与研发情况,提出重点研发项目等。
  第二篇是功能需求分析,着重针对系统总体设计的基本要求加以说明,并提出了系统功能的实际设计要求,同
时进行了可行性分析。
第三章是总体的设计方案,对硬件与软件都作出了考虑,对各个项目加以分析,最后制定出了具体设计方案。
第四章是系统硬件设计,我们介绍了用于系统硬件设计的硬件原理图和具体操作模式。
第五章是系统软件设计,分析程序结构,实现了各构成模块程序。
第六章是系统调试和运行,完成了反雷达调试和整体功能测试,并在规定地点对设备进行调试。
1.4 本章小结
本文重点阐述了倒车雷达的研发背景与重要性,同时研究了目前国内研发状况,并确定了毕业设计的重点研究内容

第2章 需求分析

2.1 功能需求分析
  系统主要实现一个实时的测距显控系统。通过该系统能够实时探测车辆后方的距离,并且将数据实时显示在液
晶显示屏上。同时如果方向上的距离低于了安全距离,那么就会立马发出预警。功能详细如下:
功能一:实时测距
  通过合理安排测量模块以及模块部署的位置,通过超声波测距和激光测距,实现对车辆后方障碍物距离的实时
探测。
功能二:液晶显示功能
通过某种型号的液晶显示屏,能够显示出所有需要的功能数据,包括实时安全距离信息以及设置的安全距离信息。
功能三:报警功能
当障碍物间距低于安全距离时,产生警告,以提醒周围障碍物靠近。
功能四:主动刹车系统
当距离等于安全距离时,能够自动刹车实现防碰撞功能。
功能五:按键电路设置电路功能
按键可以设置最小报警距离,再次按按键模拟车辆驶出停车场停止计费。
其具体的测量指标图如下所示。
(1)车速大于15km/h测距离大于5米。
(2)检测精度小于0.05米。
(3)电路功率不超过5W。
(4)供电电压不超过5V,电源测试范围5~10V。
(5)工作温度-30℃~+40℃
2.2 系统可行性分析
(1) 原理可行性分析
1.超声波本质上是一种机械波,在空气中传播的速度较低。通过计算反射物体回来的超声波的时间差,可以测量发
光端和反射端之间的距离。超声波在空气中扩散的平均速率是340m/s,因此利用最简便的时间距离公式就能够测量实
际的距离值。
具体实现的过程原理如下:
  超声波发射端的发射时刻为 ,超声波传播的速度为 ,发射端接收到回波的时刻为 ,假定两者之间的距离
为 ,因此二者之间的距离可以换算为:
  实现超声波距离测量能力的基本原理是,超声波传播具有强方向性,可以在空气中传播远距离,基本上现实中
的任何物质都可以反射超声。使用超声波原理进行的测距系统往往反映得快速、灵敏、计算简便,极易获得实时控
制广泛应用于工业系统。声的产生方式一般可分成二大方法步骤:第一类是通过电学方法的来产生超声,另一类则
是通过机械波产生振动的方法。其中,电气的超声产生方法主要是以压电式方法来进行。而压电式超声波发生器基本
原理是运用压电晶体的谐振效应来进行工作的。压电效应的原理是通过在晶体两侧施加电场,那么此时晶体会有一
定的变形,如果施加的是交变电压,那么此时晶体出现的就是周期性、规律性的机械振动,不同的电压频率会让晶
振产生不同的振动频率,当产生压电谐振时,输出的频率会稳定在一个幅度之中。这个振动幅度就可以产生超声
波。在接受超声波时,超声波回波会驱动压迫电晶片振动,将机械能转换为电信号,此时他就成为了超声波的接收
器。
2.激光测距本质是当原子中的电子吸收能量并从低能量水平转变为高能量水平,并且从高能量水平返回到低能量水
平时,发射的能量以光子形式发射并被激发的光子束激光器。在单片机系统中通过设置中断值来检测超声波前后的
时间差,从而实现实时的距离测量功能。激光测距术是一种非接触式的工业检测技术,和常规的接触式测距术比较
有着如下的优势:
  激光测距时,由于无需和检测表面之间发生碰撞,因此物质的外观并不产生变化;而激光测距时对被测物外表
也没有造成损坏,从而减少了额外的质量损失;在许多特定的环境下,如果没有特殊条件或使用常规检测工具接触
检测物质,可采用激光测距技术。
具体实现的过程原理如下:
  当激光脉冲距离测量方法在实际工作时,首先由激光发射二极管对准目标发出激光脉动。经目标的反射后,激
光向各方位发散。部分散射光反馈到传感器接收机上,被光学传感控制系统接受后再图像在雪崩光电二极管上。雪
崩光电二极管是一种内部带有扩散功能的光感应器,所以它能够测量非常微小的光信息,并将它转换为适当的电信
号。所以可以检测到极微弱的光信号并转换成对应的电信号。通过测量光脉冲往返待测点的时间,乘以光速并除以
2,计算出被测目标的距离,计算公式如下:D=ct/2。
(2)技术可行性分析
  单片机是利用集成电路技术发展到一定阶段的产品,是指通过超大规模集成电路技术将可以进行数据运算的核
心处理器(CPU)、以及可以完成数据存储的内存器RAM和ROM和多种数据导入导出的接口以及定时器、中断系统、数
模转换器等多种功能集合在一个较小的硅片上的微型计算机系统,这个系统在工业领域被广泛使用,从传统的4位芯
片机器发展成了今天的300M处理能力的芯片机器。
运算器:运算器主要进行基于数据的各种算术运算和逻辑运算的基本能力。累加器和寄存器都是为数据的逻辑计算
提供支撑。总体上看来,运算器主要完成基础数据的各种算术运算和逻辑运算的能力。
  控制器:核心程序控制主要由指令部件、时序部件和控制部件组成等构成。是能够调度系统的各部分资源的中
央处理机构,是能够协调指挥系统整体的功能。主要的功能包括:主要功能是:1.读取存储器内的命令,识别下一
个命令存在的位置。 2.完成命令的解码和测试功能,输出对应的控制信号,完成一定的动作。3.控制指挥各种数据
流的方向。4.连接系统的各个部分,将各个部分进行互联,实现整个系统的调度。
(3)经济可行性分析
  设计该系统,需要使用多个模块,包括主控芯片模块、传感器模块等,这些模块的价格都不是特别昂贵,因此
能够通过较低的成本开销获取本系统设计所有的功能模块,因此在经济上是可行的。
(4)社会可行性
  倒车雷达目前在社会上的使用非常广泛,因此该系统的研发设计对于当前社会的实际需求是十分贴切的,能够
在当前车辆研发设计上提升车辆的安全性能,所以有较大的市场前景。
2.3 本章小结
  本章对后台雷达进行功能需求分析,从原理、技术、经济和社会四个方向分析系统的可行性,为设计系统整体
整理思路,制定了整体设计方案。

第3章 总体设计方案

3.1 总体方案设计
(1)主控芯片的选择
  要设计倒车雷达,需要使用一个主控芯片模块,该模块必须要能够实现数据的串口传送能力,同时也要有足够
的引脚实现外部模块的接入能力。因此对于主控芯片的选择如下所示。
1.采用stm32单片机为系统的控制器
  stm32芯片外部接口丰富,计算运行速度较快,拥有诸多的模块化设计的功能接口可以直接调用。在许多需要较
大计算量的控制场景中得到了广泛的应用,例如飞思卡尔智能车、摄像头识别、以及人脸识别中都有较多的应用
[11]。
2.采用51系列作为系统控制器
51系列单片极,具有经济实惠、轻巧灵活,能够在轻量级的运用中实现较为复杂的功能,管脚接口较多,芯片稳定
性强。缺点是串口较为单一,不能高速传输大量的数据。
  考虑到系统整体功能需要,从能够完成系统功能的角度出发,本设计选择了方案二,确定使用stc89c51作为本
课题的主控芯片。
(2)测距模块的选择
测距模块需要通过超声波信号或红外信号等实现距离的测量,因此该模块必须具备信号收发能力,同时又能够
实现自发自收的功能。测距检测模块的选择如下。
1.采用HC-SR距模501作为测块
  HC-SR501是基于红外线技术的测距模块[12],采用德国原装进口LHI778探头设计,灵敏度高,可靠性强,超低
电压工作模式,广泛应用于各类自动感应电器设备,尤其是干电池供电的自动控制产品。探测系统通常使用二元探
头,单探测器的窗口通常呈正方形,而二元(A元B)处于较远方向的二端,功耗值为15mw,能够在不工作的状态下保
持静默,一旦有障碍物经过时,便可以立马进入测距程序之中,使用了无人值守等环境场所之中。当该模块主要使
用红外线进行测距,距离范围角度都比较受限,主要是提供人体感应功能。
2.采用HC-SR04作为测距模块
  HC-SR04模块是一种使用超声波测距的模块探测器,其最大的优势在于体积小,外型尺寸在10*8mm,工作在直流
电源DC3V-12V之间,电流功耗小于0.1ma,采用双元工作的方式采集外部信号,并且能够工作在低噪声、高灵敏度状
态下。其探测的方向具有很强的针对型,可以在定向15度角之内实现定向的探测,但是相较于HC-SR501来看,其检
测的灵明度和距离范围更大,适用于更灵活机动的场景之中[12]。
3.采用TOT10120激光测距电路作为测距模块
  从激光测距传感器设备的表明上就能发现其体积比较小,对于人们的携带来说是非常方便的,而在进行工作的
时候也不用占用大量空间。采样率可以达到1000次每秒,测量精度可以达到±5μm,长寿命免维护。在无人机设备
的距离检测中,激光测距传感器都能发挥出较为可靠的作用。
  考虑到系统需要探测的目标为障碍物,因此选用能够探测较大范围的HC-SR04和体积小精度高的TOT10120。所以
本设计选择了方案二和三,确定使用HC-SR04和TOT10120作为本课题的红外探测模块。
(3)显示模块
  显示模块的使用是用于显示当前距离等实时情况,因此显示模块必须要有足量的数据显示界面,同时还必须要
清晰可见。因此该模块的选择需要从下面来确定。
1.采用LCD1602为系统的显示器
1602最大的特点是低功耗[13]。其显示原理是向液晶分子施加电场,通过其液晶分子的有序排列来实现显示内容的
目的。液晶显示器体积较小、低价格、低功耗,在各行各业广泛使用从电路图可以看出,模块有两个VCC和GND,其
中一个VCC和GND是模块操作的电源电路,而对于另一个VCC和GND,液晶背板调整光的电源,另一个VCC和GND时液晶
背板调整光线的电源,DB口为数据口,以及RS,RW为读写命令串口。通过设置读写命令,实现数据的显示与消除。
值得注意的是其中一个EN接口,这个接口是使能信号的引脚,能够直接控制模块的运转。在特殊情况下能够直接使
电路关闭。
2.采用LCD12864为系统的显示器
  LCD12864,主控制芯片的工作电压围绕在4.6~5.7伏之间。该模块的电流为2.0毫秒安培(5.0V),以确保最适
合模块操作的操作电压为5伏特0。液晶显示器上的数据尺寸为2.96mm×4.33毫米。液晶显示画面的数据交互有固定
的指令形式,有指令1-11个制式的指令集。可以控制文字光标位置指示、清屏,以及文字移动方向,功能设定指
示,以及文字产生器RAM的地址设定。
  因为LCD1602体积较小,且价格相对便宜功能以及可扩展性的功能需求,本方案选择了使用LCD1602为本系统的
温湿度传感器。
(4)蜂鸣器模块
  蜂鸣器顾名思义是一款可以发出声音的元器件,目前市场上的该模块主要分为有源和无源两种。在其器件内部
有多个的元器件组成。主要是有能够产生规律性频率的RC震荡电路,以及可以完成电阻匹配的器件。其能够支持的
电压值比较广泛,具有电压适配性。主要为5伏特、3.3伏特、12伏特等等。蜂鸣器与其功率支撑有关,如果需要发
出大的响声,那么就需要有大的电压和功率来支撑。
1.无源蜂鸣器
  无源是指需要一定的交变电流信号才可以发出相对应的声音。这个信号通常为可调制波,通过输入不同宽度的
方波,也就是输入的频率不同,从而产生不同的声音响度。可以通过设定不同的方波周期,实现不同声音的输出。
2.有源蜂鸣器
  有源蜂鸣器在结构上与无源蜂鸣器相似。主要为RC震荡电路,响鼓,以及外壳组成,无源振荡器,可以依照外
部的输入信号来判定,但是有源蜂鸣器在内部就可以实现震荡,因此只要提供工作电压既可以完成声音的输出。
  上面介绍了两种蜂鸣器的相关信息,二者之间其实并没有太大的区别,主要区别就是是否需要提供外部的震荡
信号,本设计中主要是是使用蜂鸣器发出声响,对声音的具体内容没有详细的要求,因选用比较简单的有源蜂鸣
器。
(5)刹车电机演示模块
倒车雷达显示控制系统中需要实现自动刹车功能,为实现该功能使用一个电机来演示刹车能力。
①步进电机
  步进电机是可以根据电脉冲信号进行固定方向回转的发电机,其电机转动的方向和所提供的脉冲信号总量成正
比,而转动的速率则与脉冲频率成反比例。
②无刷直流电机
  这种电机无法实现角度的控制,只能通过时间来控制转动的时长,但是比较灵活可控,能够适用于对于角度要
求不那么高的场景之中。
综上所述,对于本系统中的具体功能需求,因此选择方案一作为系统的步进电机作为系统的电机驱动模块。
3.3 本章小结
  本章做出了初步的描述,并给出了整个操作系统的总体设计基本目标,总体方案设计以及硬件平台和件平台的
选型,同时也对所有可行方法做出了利弊分析,并确定了最后方案,为下一节的论述工作奠定了基石。

第4章系统硬件设计

4.1 硬件结构分析
系统采用STC89C51作为主芯片。
  该系统主要包括监测、显示和警报三部分。采用STC89C51单片机为CPU处理器,在测量距离部分使用激光测距和
超声波测距模块检测车距,采用LCD1602液晶屏幕直接显示测量到的车距,使用键盘完成设置最小距,扬声器能够实
现语音播放。在这里插入图片描述

图4.1 硬件设计框图
4.2 模块电路介绍
4.2.1主控芯片最小系统
  单片机的最小系统为能够使单片机能够正常运行,实现其基本的性能时所必然需要的硬件电路部分,可以认为
是其系统的最小模型,组成最小系统的结构有4个部件:主控芯片,功能主要为提供核心的运算与逻辑计算功能;时
钟电路,主要是提供动力,也就是单片机的时钟频率信号;复位点位是让单片机重新启动;电源系统:主要是供电
[8]。
51芯片能够正常运转,需要以上4个电路。 由于时钟电路集成在51码片机内部,51码片机仅通过提供复位电路和工
作电源而正常工作。如果想要使STM32单片对微型计算机进行更灵活、安全、平稳、抗干扰性更高的操控动态,最小
系统中还需要具有一些附加电路。如图4.2所示为最小系统及主控芯片电路图。
在这里插入图片描述

图4.2 最小系统原理图
51是美国在21世纪初开发推出的一款拥有强大内核的单片机。在主核芯片内还含入了闪存器、串口、计时器以及可
调制波通道等模块。
(一)芯片的主要性能指标参数如下:。
  (1)以51标准核心为基准,机械工作周期:强化型6分钟,普通型12分钟;(2)作频率范围:0~40MHZ、通常
8051的0~80MHZ。
(3)STC89C51RC兼容Flash空间:4KB;
(4)内置存储器(RAM):512B;
(5)可计数和定时信道:3个16位;
(6)串行端口通信的接口:1个;
(7)中断源:8个;
(二)关于STC89C51单片机的引脚说明:
VCC:电源阳极。
GND:电源阴极、接地。时钟电路
  时钟电路的核心模块是晶体振动,晶体振动的主要成分是石英晶体。基于石英晶体的压电效应。压电效应的原
理是,通过在晶体的两侧施加电场,当施加交叉电压时,晶体发生一定的变形,如果施加的是交变电压,那么此时
晶体出现的就是周期性、规律性的机械振动,不同的电压频率会让晶振产生不同的振动频率,当产生压电谐振时,
输出的频率会稳定在一个幅度之中。通过将这个频率引入电路之中,便可以形成周期性的脉冲,从而驱动电路持续
性的运转。
  时钟电路也有源电路和无源电路的区分,但是二者本质上都是一致的,都是披尔思振动电路,根据晶振是否集
成在模块内部来区分有源与无源。
(1)复位电路
  复位电路相对于时钟电路要相对简单一些,51芯片是低电平复位的设计,通过引脚NRST实现复位。在电路图4.4
中可以看见,C2电容的目的是消除键的抖动,防止键接触或松开的瞬间产生的电压变化引起的误动作,抖动的时间间隔在10ms之内。使用电容可以防止电压发生突变,其蓄电效果会是陡然上升的电压缓慢变化。因此此处的电容设
计是非常关键的一环,如果不使用电容,系统会在一瞬间反复重启很多次,不利用主控芯片的保护和长期使用。

4.1.2液晶显示电路
  液晶显示器(Liquid CrystalDisplay, LCD)最大的特点是低功耗。其显示原理为对液晶分子施加电场,通过
其液晶分子的有序排列达到显示内容的目的。液晶显示器其体积校、价格低、功耗低,被广泛用于各行各业。
  从电路图4.5可以看见,模块有两个VCC与GND,其中一个VCC与GND为模块工作的电源电路,另一个VCC和GND时液
晶背板调整光线的电源,DB口为数据口,以及RS,RW为读写命令串口。通过设置读写命令,实现数据的显示与消
除。值得注意的是其中一个EN接口,这个接口是使能信号的引脚,能够直接控制模块的运转。在特殊情况下能够直
接使电路关闭。
  模块液晶显示屏能够显示的数据容量为32个文字,其主控芯片的工作电压围殴4.6~5.7伏特之间。模块通过电流
为2.0毫秒安培(5.0V),能够保证模块运行的最佳的工作电压为五伏特0。在液晶显示屏上的数据尺寸为2.96毫米
×4.33毫米。
  液晶显示屏幕的数据交互有固定的指令形式,大概有指令1-11个制式的指令集。能够控制光标位置显示、清
屏,以及文字移动方向,功能设置命令,和字符发生器RAM的地址设置。其中最重要的使指令10和指令11,是控制读
写数据的重要的指令。

4.1.3蜂鸣器报警原理图和电路图
  蜂鸣器是一个声音放大电路,从原理图4.6中可以看见其使用了两级放大的电路来实现声音的外放,p34口是其
单片机接入的IO口,当该接入接入高电平时,该电路导通。通过两个二级放大电路完成声音的外放。右侧电路原理
图中,Q2和Q3是两个8085的二极管。

4.1.4 超声波模块电路原理图
  HC-SR04电路原理图4.6如下所示,其最大的优势在于体积小,外型尺寸在10*8mm,工作在直流电源DC3V-12V之
间,电流功耗小于0.1ma,采用双元工作的方式采集外部信号,并且能够工作在低噪声、高灵敏度状态下。
  其探测的方向具有很强的针对型,可以在定向15度角之内实现定向的探测,其工作机理为发出一束超声波,在
遇到障碍物时,将超声波折射回去,被接收器接收到。通过计算从发送到接受的时间差,以及超声波在空气中的传
播速度差,既可计算出障碍物距离与超声波模块间的关系距离,然后发送给单片机,
4.1.7 激光测距模块电路原理图
  TOF10120激光测距电路原理图如下图4.8所示,测量距离理论上在10cm到2m之间,实际测量为1cm,使用时应保
证检测显示平滑、高低,精度在5%以内。
  其操作原理是当遇到障碍物时,超声波折射回来,并向接收机发送接收的超声波束。通过计算到接收为止的时
间差和空气中的超声波的传播速度,可以计算出障碍物距离超声波模块之间的距离,发送到单片机并显示在液晶画
面上。

4.1.6 电机驱动模块电路
  如下图4.9所示,为电机的驱动模块电路图。电机上都接了一个DC模块,作为电机的供电模块。sw模块接收单片
机的控制信号。步进电机的运行主要通过控制模块输入不同的脉冲信号来实现旋转,将脉冲信号转换成角位移。本
文所用的步进电机是L298型。
  电路图中有P36和P37两个输入口,这两个输入口分别输入脉冲以及方向控制信号。本模块的工作方式是4相步进
驱动,主要有4个相位,ABCD,如果对这个四个相位按照顺序单独的供电,即是采用A-B-C-D的顺序,那么步进电机
的磁场内部旋转一周需要改变相位4次,这种模式称作4相单四拍方式。其具体的工作模式如下:
(1)控制换相顺序
  通电换相这一步骤,称作脉冲分配。举例:三相步进电机的三拍工作,其各相通断电依次是A-B-C-D,因此通
电控制的脉冲必须严格根据这一次相序依次限制A,B,C,D相的通断。
(2)控制步进电机的转向
假设给定方法正序换相通电,则步进电机就正转,若按反序通电换相,则发电机也就逆向。
(3)控制步进电机的速度
  如果向步进电机再发出一次控制脉冲,它就旋转了一次,再发出一次脉动,就会再旋转一次。两个脉动的距离
越短,则步进电机也就运转的越快。根据控制单片机所生成的脉冲频率,就能够对步进电机进行调控。在本毕业设
计中,该步进电机是用来实现刹车功能的。在这里插入图片描述

图4.9 电机模块
4.3 本章小结
  本章介绍了倒车雷达系统硬件设计,包括处理器(MCU)模块、超声波数据收集模块、电机驱动模块、LCD显示
模块的设计。主要用到的硬件有:超声波传感器HC-SR04、有源蜂鸣器、TOT10120激光传感器,STC89C51芯片。
附录1 总电路图
在这里插入图片描述

第5章系统软件设计

5.1程序结构分析
  如下图5.1所示为系统运行流程图,程序运行起来之后,首先进行变量等的初始化,初始化后,将模块数据初始
化。等模块正常运行后,开始收集数据,实时在液晶显示器上显示有效数据。同时判断数据是否超过界限。如果是
相应的检测值超过了界限,便发出相应的警报信息。
图5.1 系统流程图在这里插入图片描述

5.2各模块程序实现
5.2.1 程序初始化
  初始化阶段主要是将一个系统需要预置的头文件添加到系统中来,将这些模块读取进来之后,能够在后续的程
序中直接调用相关模块函数,能够极大的实现代码的复用效率。
  端口宏定义主要是将具有特定功能的端口进行定义,以另一种命名的方式对端口进行调用。在本系统中之中主
要是对蜂鸣器的端口、按键输入端口、液晶显示端口等进行定义,能够方便在后续的程序中直接使用定义方式进行
程序设计。初始化主要程序如下所示:
lcd_init();
dirt_send_flag=1;
SensorWritenByte((unsigned char *)&dirt_send_flag, 0x09, 1); delay_ms(100);
dirt_detection_flag=0;
SensorWritenByte((unsigned char *)&dirt_detection_flag, 0x08, 1);
delay_ms(100);
5.2.2 LCD1602 显示流程
  LCD1602液晶显示屏在上电时,首先完成初始化动作,将显示器清零,内部存储器全部清空。之后再与微机实现
对信,由单片机监控显示器亮度和屏幕的显示信息,延时一定时间后,机器才感应到的超声波距离显示到液晶显示
屏上。单片机通过控制的引脚输入需要显示信息的指令。之后显示屏根据指令,把信息全部显示出来。LCD1602显示
器流程图如 5.2 所示:
液晶显示函数初始化以及设定字符显示位置如下所示:
在这里插入图片描述

图5.2 LCD初始化流程图
5.2.3按键子程序
  本设计按键电路功能不多,将三个按钮串联在一起,只要把功能相同的引脚串联在一起即可。键盘的工作机理
主要是对低电平有效信息的测试,在软件主程序中,循环进行测试,如果检测到了键盘低电平的有效信息,则单片
机产生信号中断,在进入按键子过程中。用三个按钮,依次代表加、减、确定、返回等。在不同界面显示不同的功
能。然后依次代用三个函数进行不同的时间运算,并注意进行延时运算,以避免差错。能否按下按键流程图流程图
如图所示:

5.2.4 报警流程设计
  在我们按下按键的时候,单片机会先对函数进行处理,如果判断我们已经按下了按键,就去用去抖动的函数进
行消震处理。然后就确定我们设定的报警值是什么,再按照我们所设定的具体报警数值来处理。一旦满足所设定的
判断条件,蜂鸣器就将会实现报警。蜂鸣器的报警程序流程图如下图5.5中所示。

5.2.5测距流程设计
  I2C总线的功能由51码片机的两条I/O线来完成I二C总线的工作。接I2总线规定:SCL线与SDA线之间是各设备对应
的时间相“与”的结果,每个设备三小时只能通过够用输出较低电压的方式,来延长SCL的最低电压时间,从而使得高
速设备进入了待机阶段,以便于达到各种高速设备之间的时钟一致。这样,即使时钟脉冲的高、低电平时刻长短不
一,也可以做到数据的安全传输,还可以用软件控制I/0口做为I2C端口。在单主控器的控制系统中,由于时钟线仅由
主控器驱使,因而可使用五十一系列的一根I/零线路当作SCL的信号线,以使其设备的输出改变方式,并由软件控制器
来生成串连式时刻信息。在实际应用体系中采用了P1.3。另一条1/0线P1.2为I二C总线的串行数据线,可在软件监控
下在时钟的最低电压下读写或输出数据。向控制系统传递数据的流程主要是:首先由单片机传感器所生成的启始数据
信号,然后送出要接入元件的全部七个地址数据,并等待被控元件的应,答等信息。在收以应答信息后,按照访问条件
完成相关的动作。假如是读入数据信息,则数据接口可继续设置为输入方式,在其中不需更改SDA线的工作模式,每
读入一字节数据都将随机检出应答信息;假如是输出数据,则可以先把SDA线设置为传输方式,在传输完一字节数据
之后,又必须再更改SDA线的输入方式,此时对读入被控元件的应答信息就又进行了一字节的传输。在所有传输结束
时,将向SDA产生一个终止讯号,以结束该次传输。
  启动位编程,读取数据过程的读取字节只能在当前位置读取(CURRENT READ),也只能随机读(RANDOM READ),在读
取数据的最后一位字节后就不必加应答信息。连写的二个字节之间,最好是有十ms的延迟。当然,也可进行页写方法
(PAGEWRITE),如一次连写八个字节,在选择页写方法时各个字节后都要有一组应答信号程序。在这里插入图片描述

图5.5测距流程图
5.3 本章小结
主要介绍了系统的软件实现过程,详细介绍了各模块的软件设计实现。重点介绍了以下几个方面:
1.软件主程序运营。
2.液晶显示效果的实现。
3.按键子程序的工作运营。
4.如何触发报警系统。
5.测距如何实现。

附 录

#include "common.h"
#include "useri2c.h" 
#include "lcd1602.h"
sbit KEY1 = P1^5;
20
sbit KEY2 = P1^6;
sbit KEY3 = P1^7;
sbit BEEP = P3^3;
unsigned char dirt_send_flag;
unsigned char dirt_detection_flag;
unsigned short int length_aveval;
int SAFET_Distance = 200; 
bit set_flag = 0;
void display_set_val()
{
lcd_write_char(5,1,SAFET_Distance/1000+0x30);
   lcd_write_char(6,1,SAFET_Distance%1000/100+0x30);
lcd_write_char(7,1,SAFET_Distance%100/10+0x30);
lcd_write_char(8,1,SAFET_Distance%10+0x30);
}
void keyscan()
{
if(KEY1 == 0)
{
delay_ms(10);
if(KEY1 == 0)
{
while(KEY1 == 0);
set_flag = !set_flag;
if(set_flag == 1)
{
BEEP = 1;
lcd_write_str(0, 0,"Set the distance");
lcd_write_str(0, 1," 0000mm ");
display_set_val();
}
else
{
lcd_write_str(0, 0," ");
lcd_write_str(0, 1," ");
}
}
}
if(KEY2 == 0)
{
delay_ms(10);
if(KEY2 == 0)
{
while(KEY2 == 0);
if(set_flag = 1)
{
   if(SAFET_Distance < 2000)SAFET_Distance+=10;
21
display_set_val();
}
}
}
if(KEY3 == 0)
{
delay_ms(10);
if(KEY3 == 0)
{
while(KEY3 == 0);
if(set_flag == 1)
{
   if(SAFET_Distance >= 10)SAFET_Distance-=10;
display_set_val();
}
}
}
}
void main()
{
unsigned int i2cread_interval;
unsigned char xdata i2c_rx_buf[16];
unsigned char xdata display[16];
lcd_init();
dirt_send_flag=1;
SensorWritenByte((unsigned char *)&dirt_send_flag, 0x09, 1); delay_ms(100);
dirt_detection_flag=0;
SensorWritenByte((unsigned char *)&dirt_detection_flag, 0x08, 1); delay_ms(100);
while(1)
{
   keyscan(); if((set_flag==0)&&(i2cread_interval++>=500))//500ms
{
i2cread_interval=0;
SensorReadnByte(&i2c_rx_buf, 0x00,2); length_aveval = i2c_rx_buf[1]<<8 | i2c_rx_buf[0];
if(length_aveval>0)
{
   sprintf(display,"distance: %dmm ",length_aveval); lcd_write_str(0, 0, display);
  if(length_aveval <= SAFET_Distance)BEEP = 0 else BEEP = 1;
}
}
delay_ms(1);
}
}

第6章 系统调试与运行

6.1 焊接调试
  准备好了所有的材料和电子烙铁,然后根据设定好的集成电路板原理图设计,进行与单片或微型计算机集成电
路板的连接。先把插头焊上去,之后再连接单片机最小系统的晶振和复位电路。然后设定好LCD1602液晶体显示屏位
置后,把上拉电阻连接到PO口,之后再通过引线连接显示器。之后再依次连接各个传感器模块,按键,以及电源电
路。最后再使用引线把所有模块按照电源路径联系起来,以保证不会发生短路现象。然后STC89C51单片机再用烧录
器把已经编辑好的软件烧录进去,最后插入在插排上。使用5V直流电源供电后,按下开关,观看LC1602液晶显示屏
上能否正常显示,正常显示后,说明显示器电路正常,随后看其他传感器能否正常工作,检查显示器上的是否有输
出,如正常显示,则全部都没有问题,如果发生问题,就必须查明具体出问题的部分。
在这里插入图片描述

图6.1 硬件实物图
6.2 功能调试
  单片机焊接测试没问题后,接着进行功能调试,以测试软件工作是否正常。首先把单片微型计算机重新上电,
这是在LCD1602液晶显示屏上首先完成的初始化动作,在LCD1602液晶显示屏上应该出现“当前距离”。如果这个步
骤没有问题的话,接下来测试各传感器功能。 LCD 1602显示页面显示测量的车距。单位是米。如果将手掌转向激光
模块和超声波模块,在LCD 1602的液晶显示器上就能看到距离。 按下按钮,可在LCD 602的液晶显示器上设定最小
车距。当手掌慢慢靠近测距模块并超过设定的警报下限值时,声音芯片控制扬声器就会被广播,所有功能测试都会
完成。

1PC机与开发板之间通信是
否正常 将AVR开发板与PC机通过串口连接,通过上位机界面查看连接是否正常 正常
2 上位机界面是否正常运行 打开源文件,修改代码中的串口号等信息后运行,可正常显示上位机界面 正常
3超声波传感器能否正常工
作并探测数据
不给步进电机供电,将超声波传感器向指定方向探测,并用书本等障碍物在
前方格挡,看结果是否能够正常显示。 正常
4 步进电机能否正常工作 向驱动板供电,步进电机可以正常运转。 正常
5 报警电路能否正常工作 在软件中设置距离门限,超过门限后报警电路工作。 正常
1.测试开发板和上位机的通讯
  第一步进行硬件的接入,然后使用串行接口把开发板链接到上位机上,并启动上位机界面,设定好相应信息;
然后给开发板,传感器等硬件电源,检查看上位机是不是能够顺利接收数据,同时察看上位机界面有没有显示开发
板传输出去的数据,从而分析数据接收的稳定性。
2.测试硬件运行结果
  当程序完成工作以后,给所有硬件电源,检查电机模块,感应器等系统是不是也能够正常工作。经过此二项试
验,证实了上位机和开发板都能够进行正常的通讯,并且软件能够顺利工作。
6.3 本章小结
  本章经过测试与检验,我们可以发现,设计中的上位机介面都能够平稳工作,同时在硬件部分,开发板与步进
电机,感应器,蜂鸣器等部分也都能够协调运行,并且上位机与开发板之间的串口也都能够工作顺利通讯。

第7章 总结与展望

7.1 总结
  本文设计的系统为基于单片机的倒车雷达显控系统设计与实现。通过该系统的设计,实现了汽车后退时的后方
距离的测定,能够将测定的数据实时显示在液晶显示器上。另外,如果测得的距离小于安全值,应立即发出警报,
及时刹车。本文在充分阅读大量相关研究文献的基础之上,按照需求分析、总体设计、硬件仿真、软件实现的过
程,结合硬件和软件的联调联试,完成了该系统的所有功能。
  论文所设计的系统技术能够用在交通运输驾驶行业,能够为预防交通事故、提升驾车安全性、保障公民人身安
全提供一定的参考借鉴意义,具有很强的显示应用背景和创新价值。
但是目前该系统存在以下几点问题:
1.系统为设计移动数据接收端。可以通过将数据传入移动手机端,实现数据的存储以及查看功能。
2.防撞倒车功能仅限于后方,没有全向的防撞检测能力。可以通过在四个方向都设置倒车雷达实现全向的距离检
测。
3.系统集成程度不够。应当通过设计PCB板将该电路最小化集成在一起,从而实现体积最小、最优的目的。
7.2 展望
  本篇主要介绍了倒车雷达系统设计,在科技日益发展的今天,相信类似于这类的雷达设备会被更加广泛的应
用。在介绍了项目的设计理念以及实现原理之后,同时,本项目还有很多可以继续改进的地方,比如测距仪的选
择,选用额定范围更大,精度更高,稳定性更高的测距仪,可以使系统的探测能力更加强大。选用原理更为复杂,
响应更快,内存更大的微处理器,可以使系统对数据的采集速度加快,同时可以对数据进行更为复杂的分析,加强
系统功能,使得项目的实际应用意义更大。上位机界面也可以进行改进,比如添加更多的显示元素,更为直观全面
的展现给用户。总而言之,项目的实际应用前景很高,但系统中还有很多可以完善和改进的地方,需要继续努力改
进,完善系统。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值