为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于单片机的HC-SR04超声波倒车雷达,51单片机,仿真代码和原理图

2021-03-02 48页 doc 3MB 45阅读

用户头像

is_090281

暂无简介

举报
基于单片机的HC-SR04超声波倒车雷达,51单片机,仿真代码和原理图上海交通大学本科毕业设计(论文)上海交通大学基于51单片机的超声波倒车雷达设计DesignofUltrasonicParkingSensorBasedon51SingleChipComputer学院:电子信息与电气工程学院专业:电气工程及其自动化姓名:蒋宇智指导老师:年月日摘要倒车雷达又称为泊车辅助系统,是汽车安全辅助装置,能以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除驾驶员泊车和启动车辆前后左右探视所引起的困扰,并帮助驾驶员扫除了视野死角和视线模糊的缺陷,提高了安全性。超声波倒车雷达一般有超声波传感器、控制芯片和...
基于单片机的HC-SR04超声波倒车雷达,51单片机,仿真代码和原理图
上海交通大学本科毕业(论文)上海交通大学基于51单片机的超声波倒车雷达设计DesignofUltrasonicParkingSensorBasedon51SingleChipComputer学院:电子信息与电气工程学院专业:电气工程及其自动化姓名:蒋宇智指导老师:年月日摘要倒车雷达又称为泊车辅助系统,是汽车安全辅助装置,能以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除驾驶员泊车和启动车辆前后左右探视所引起的困扰,并帮助驾驶员扫除了视野死角和视线模糊的缺陷,提高了安全性。超声波倒车雷达一般有超声波传感器、控制芯片和显示器组成。现在的市场上倒车雷达大多采用超声波测距原理,驾驶者在倒车时,启动倒车雷达,在控制芯片的控制下,由位于汽车车尾保险杠上的探头发出超声波,遇到障碍物,产生回波信号,传感器接收到回波信号后经控制芯片数据处理,判断出障碍物与车之间的距离,由显示器显示距离并发出警告提示音,从而使驾驶者倒车时做到心中有数。本文介绍一种基于STC89C51单片机的倒车雷达设计。整个系统由51单片机最小系统、LCD1602液晶、HC-SRO4超声波模块、DS18B20温度传感器、按键模块和蜂鸣器模块组成。超声波模块不断发送声波,实时回传测量信号给单片机,同时DS18B20模块也实时采集当前车内温度值,并兼顾超声波测距的温度补偿,用于提高测距精度。LCD液晶用于显示当前超声波测距值、温度值和设定的倒车预警值。当超声波测量距离小于预警值时,蜂鸣器鸣叫,发出提示音警告;反之,则蜂鸣器关闭。预警值可通过按键进行设定。关键词:倒车雷达超声波温度传感器STC89C51ABSTRACTThereversingradar,alsoknownastheparkingassistsystem,isacarsafetyassistdevicethatcannotifythedriverofobstaclesaroundthedriverbysoundoramoreintuitivedisplay,andrelievethetroublecausedbythedriver’sparkingandstartingthevehicle.Andtohelpthedrivertoeliminatethedefectsofblindspotsandblurredvision,andimprovesafety.Theultrasonicreversingradargenerallyconsistsofanultrasonicsensor,acontrolchipandadisplay.Mostofthereversingradarsonthemarketnowusetheprincipleofultrasonicdistancemeasurement.Whenreversing,thedriveractivatesthereversingradar.Underthecontrolofthecontrolchip,theprobeontherearbumperofthecaremitsultrasonicwavesandencountersobstacles.Wavesignal:Afterthesensorreceivestheechosignal,itisprocessedbythecontrolchiptodeterminethedistancebetweentheobstacleandthecar.Thedistanceisdisplayedonthedisplayandawarningsoundisissued,sothatthedriverisawareofitwhenreversing.ThisarticleintroducesareversingradardesignbasedonSTC89C51microcontroller.Thewholesystemconsistsof51singlechipmicrocomputerminimumsystem,LCD1602liquidcrystal,HC-SRO4ultrasonicmodule,DS18B20temperaturesensor,buttonmoduleandbuzzermodule.Theultrasonicmodulecontinuouslysendssoundwavesandsendsbackmeasurementsignalstothesingle-chipmicrocomputerinrealtime.Atthesametime,theDS18B20modulealsocollectsthecurrenttemperatureinthevehicleinrealtime,andtakesintoaccountthetemperaturecompensationoftheultrasonicdistancemeasurementtoimprovetheaccuracyofthedistancemeasurement.LCDliquidcrystalisusedtodisplaythecurrentultrasonicdistancemeasurementvalue,temperaturevalueandsetreversewarningvalue.Whentheultrasonicmeasurementdistanceislessthanthepre-warningvalue,thebuzzerwillsoundandawarningtonewillbeissued;otherwise,thebuzzerwillbeturnedoff.Thewarningvaluecanbesetbypressingthebutton.Keywords:reversingradar,ultrasonictemperaturesensor,STC89C51目录第1章绪论-5-1.1课题背景与研究意义-5-1.2倒车雷达的发展过程及现状-5-第2章系统总体设计-8-第3章硬件设计-9-3.1STC89C51单片机-9-3.2超声波测距模块-13-3.2.1超声波测距原理-13-3.2.2超声波测距实现-15-3.2.3HC-SR04介绍-16-3.3温度传感器模块-17-3.3.1DS18B20简介-17-3.3.2DS18B20构造-19-3.3.3DS18B20电路-22-3.4LCD1602显示模块-23-3.5按键模块-25-3.6声音报警模块-25-3.7本章小结-26-第4章软件设计-27-4.1软件概述-27-4.2主程序设计-28-4.3超声波测距程序设计-28-4.4温度采集程序设计-28-4.4.1初始化-29-4.4.2ROM操作命令-29-4.4.3数据处理-30-4.4.4程序流程图-31-4.5LCD1602程序设计-33-4.6本章小结-33-第5章Proteus仿真验证-34-总结-36-致谢-37-参考文献-38-附录1:仿真电路图-39-附录2:原理图-39-附录3:C程序-40-绪论近年来,随着汽车产业的迅速发展和人们生活水平的不断提高,我国的汽车数量正逐年增加,我国开始进入私家车时代,汽车的数量逐渐增加,造成公路、街道、停车场、车库等越来越拥挤,在公路、街道、停车场、车库等拥挤、狭窄的地方倒车时,驾驶员既要前瞻,又要后顾,稍微不小心就会发生追尾事故。增加汽车的后视能力,研制汽车后部探测障碍物的倒车雷达便成为近些年来的研究热点。安全避免障碍物的前提是快速、准确地测量障碍物与汽车之间的距离。基于此,本文所设计的倒车雷达系统主要是针对汽车倒车时人无法目测到车尾与障碍物的距离而设计开发的。该系统将微型计算机技术与超声波的测距技术、传感器技术等相结合,可检测汽车倒车,其障碍物与汽车的距离,并根据障碍物与车尾的距离远近实时发出报警。课题背景与研究意义我国开始进入私家车时代,汽车的数量逐渐增加,造成公路、街道、停车场、车库等越来越拥挤,在公路、街道、停车场、车库等拥挤、狭窄的地方倒车时,驾驶员既要前瞻,又要后顾,稍微不小心就会发生追尾事故。增加汽车的后视能力,研制汽车后部探测障碍物的倒车雷达便成为近些年来的研究热点。安全避免障碍物的前提是快速、准确地测量障碍物与汽车之间的距离。基于此,本文所设计的倒车雷达预警系统主要是针对汽车倒车时人无法目测到车尾与障碍物的距离而设计开发的。该系统将微型计算机技术与超声波的测距技术、传感器技术等相结合,可检测汽车倒车,其障碍物与汽车的距离,并根据障碍物与车尾的距离远近实时发出报警。倒车雷达的发展过程及现状自从1886年2月9日卡尔•本茨发明了人类第一辆汽车,至今世界汽车工业经过了近127年的发展,当代汽车已经非常成熟和普遍了。汽车已经渗透于国防建设、国民经济以及人类生活的各个领域之中,成为人类生存必不可少的、最主要的交通工具,为人类生存和社会的发展与进步起到了至关重要的作用。当今,汽车已经成为人们生活中不可缺少的一部分,近年来,我国的汽车数量正逐年增加。在公路、街道、停车场、车库等拥挤、狭窄的地方倒车时,驾驶员既要前瞻,又要后顾,稍微不小心就会发生追尾事故。它给人们带来方便快捷的同时,也出现了许多问题。如越来越多的汽车使道路上有效的使用空间越来越小,新手也越来越多,由此引起的刮伤事件也越来越多,由此引起的纠纷也在不断地增加。原来不是问题的倒车也逐渐变成了问题。尽管每辆车都有后视镜,但不可避免地都存在一个后视盲区,倒车雷达则可以在一定程度上帮助驾驶员扫除视角死角和视线模糊的缺陷,提高驾驶的安全性,减少刮、擦事件。倒车事故发生的原因是多方面的,倒车镜有死角,驾车者目测距离有误差,视线模糊等原因造成倒车时的事故率远大于汽车前进时的事故率,尤其是非职业驾驶员以及女性更为突出。而倒车事故给车主带来的许多麻烦,例如撞上别人的车、消防水笼头,如果伤及儿童更是不堪设想,有鉴于此,汽车高科技产品家族中,专为汽车倒车泊位设置的“倒车雷达”应运而生,倒车雷达的加装可以解决驾驶人员后顾之忧,大大降低了倒车事故的发生。倒车雷达是汽车泊车或者倒车时的安全辅助装置,能以声音或者更为直观的显示告知驾驶员驾驶车辆周围障碍物的情况,解除了驾驶员泊车、倒车和起动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了使用死角和视线模糊的缺陷,提高驾驶的安全性。倒车雷达的发明是迫在眉睫的,是必不可少的设备。倒车雷达的原理与普通雷达一样,是根据蝙蝠在黑夜里高速飞行而不会与任何障碍物相撞的原理设计开发的。通过感应装置发生超声波,然后通过反射回来的超声波判断前方是否有障碍物,以及障碍物的距离、大小、方向、形状等。只不过由于倒车雷达体积大小及实用性的限制,目前其主要功能仅为判断障碍物与车的距离,并做出提示。通常的倒车雷达主要由感应器(探头)、主机、显示设备等三部分组成。感应器发出和接受超声波信号,并将接受到的信号传输到主机,再通过显示设备显示出来。感应器装在后保险杠上,以角45度辐射,检测目标,能探索到那些低于保险杠而驾驶员从后窗又难以看见的障碍物并报警,如花坛、蹲在车后玩耍的儿童等;显示设备装在仪表板上,提醒驾驶员汽车距后面物体还有多少距离,到危险距离时,蜂鸣器就开始鸣叫,提示驾驶员停车。根据感应器种类不同,倒车雷达可分为粘贴式、钻孔式和悬挂式。粘贴式感应器后有1层胶,可直接粘在后保险杠上;钻孔式感应器是在保险杠上钻一个洞,然后把感应器嵌进去;悬挂式感应器主要用于载货车。根据显示设备种类不同,倒车雷达又可分为数字式、颜色式和蜂鸣式。数字式显示设备是一只如传呼机大小的盒子,安装在驾驶台上,直接有数字表示汽车与后面物体的距离,并可精确到1厘米,让驾驶员一目了然。倒车防撞雷达发展到现在已经历经5代。第一代的倒车雷达系统是轰鸣器。倒车时,如果车后1.5米-1.8米处有障碍物,轰鸣器就会开始工作,轰鸣越急,表示车辆离障碍物越近。没有语音提示,也没有距离显示,虽然司机知道有障碍物,但不能确定障碍物离车有多远,对驾驶员帮助不大。第二代倒车雷达可以显示车后障碍物离车的距离。这一代产品有两种显示方式,数码显示产品显示距离数字,而波段显示产品由三种颜色来区别:绿色代表安全距离,表示障碍物离车体距离有0.8米以上;黄色代表警告距离,表示离障碍物的距离只有0.6米-0.8米;红色代表危险距离,表示离障碍物只有不到0.6米的距离,必须停止倒车。第三代用液晶荧屏显示,特别是荧屏显示开始出现动态显示系统。不用挂倒档,只要发动汽车,显示器上就会出现汽车图案以及车辆周围的障碍物的距离。该雷达动态显示,色彩清晰漂亮,外表美观,可以直接粘贴在仪表盘上,安装很方便。不过液晶显示器外观虽精巧,但灵敏度较高,抗干扰能力不强,所以误报也较多。第四代魔幻镜倒车雷达,采用了最新仿生超声雷达技术,配以高速电脑控制,可全天候准确地测知2米内的障碍物,并用不同的声音提示和直观的显示提醒驾驶员。魔幻镜倒车雷达把后视镜倒车雷达、免提电话、温度显示和车内空气污染显示等多功能整合在一起,并设计了语音功能,是目前市面上最先进的倒车雷达系统。其外型就是一块倒车镜,所以可以不占用车内空间,直接安装在车内倒视镜的位置。第五代倒车雷达是专门为高档轿车生产的,它的整合了高档轿车具备的影音系统,可以在显示器上观看DVD影像。因为是新品,售价也较高。倒车雷达的发展实际上已经融入了整车的设计,随着技术的成熟,价格的降低,倒车雷达将会逐渐普及成为配置。系统总体设计本课题以STC89C51单片机为核心设计一种超声波倒车雷达系统,同时兼顾车内温度测量。系统由STC89C51控制器、HC-SR04超声波模块、DS18B20温度测量模块、声音报警电路和LCD1602显示电路组成。汽车行进时,LCD显示车内温度以及设定的倒车预警值;倒车时,启动超声波测距,回传的声波数据经STC89C51单片机处理后显示到LCD上,如果距离小于设定值,报警电路发出鸣叫声,提醒司机注意车距。同时,DS18B20采集到的温度值也用于超声波测距的温度补偿,来提供测距的精度。超声波倒车雷达系统框图如下图2.1所示。图2.1超声波倒车雷达系统框图硬件设计3.1STC89C51单片机STC89C51是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。另外STC89X51可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。图3-1STC89C51单片机引脚图单片机是美国STC公司最新推出的一种新型51内核的单片机。片内含有Flash程序存储器、SRAM、UART、SPI、PWM等模块。(一)STC89C51主要功能、性能参数如下:(1)内置标准51内核,机器周期:增强型为6时钟,普通型为12时钟;(2)工作频率范围:0~40MHZ,相当于普通8051的0~80MHZ;(3)STC89C51对应Flash空间:4KB;(4)内部存储器(RAM):512B;(5)定时器\计数器:3个16位;(6)通用异步通信口(UART)1个;(7)中断源:8个;(8)有ISP(在系统可编程)\IAP(在应用可编程),无需专用编程器\仿真器;(9)通用I\O口:32\36个;(10)工作电压:3.8~5.5V;(11)外形封装:40脚PDIP、44脚PLCC和PQFP等。(二)STC89C51单片机的引脚说明:VCC:供电电压。GND:接地。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。(三)STC89C51单片机最小系统:最小系统包括单片机及其所需的必要的电源、时钟、复位等部件,能使单片机始终处于正常的运行状态。电源、时钟等电路是使单片机能运行的必备条件,可以将最小系统作为应用系统的核心部分,通过对其进行存储器扩展、A/D扩展等,使单片机完成较复杂的功能。STC89C51是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单且可靠。用STC89C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,结构如图3-2所示,由于集成度的限制,最小应用系统只能用作一些小型的控制单元。图3-2单片机最小系统原理框图(1)时钟电路STC89C51单片机的时钟信号通常有两种方式产生:一是内部时钟方式,二是外部时钟方式。内部时钟方式如图3-3所示。在STC89C51单片机内部有一振荡电路,只要在单片机的XTAL1(18)和XTAL2(19)引脚外接石英晶体(简称晶振),就构成了自激振荡器并在单片机内部产生时钟脉冲信号。图中电容C6和C7的作用是稳定频率和快速起振,电容值在5~30pF,典型值为30pF。晶振Y1的振荡频率范围在1.2~12MHz间选择,典型值为12MHz和6MHz。图3-3STC89C51内部时钟电路(2)复位电路当在STC89C51单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。复位电路通常采用上电自动复位和按钮复位两种方式。最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充放电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。除了上电复位外,有时还需要按键手动复位。本设计就是用的按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端与电源Vcc接通而实现的。按键手动复位电路见图3-4。电容C5取10uF,R5取10kΩ。图3-4STC89C51复位电路(3)STC89C51中断技术概述中断技术主要用于实时监测与控制,要求单片机能及时地响应中断请求源提出的服务请求,并作出快速响应、及时处理。这是由片内的中断系统来实现的。当中断请求源发出中断请求时,如果中断请求被允许,单片机暂时中止当前正在执行的主程序,转到中断服务处理程序处理中断服务请求。中断服务处理程序处理完中断服务请求后,再回到原来被中止的程序之处(断点),继续执行被中断的主程序。图3-5STC89C51中断技术如果单片机没有中断系统,单片机的大量时间可能会浪费在查询是否有服务请求发生的定时查询操作上。采用中断技术完全消除了单片机在查询方式中的等待现象,大大地提高了单片机的工作效率和实时性。3.2超声波测距模块3.2.1超声波测距原理单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差t,然后求出距离。(1-1)式(1-1)中的c为超声波在空气中传播的速度。超声波测距的原理如图3-6所示(已略)。由于基于51单片机的超声波倒车雷达设计为作者蒋宇智的原创设计,现已省略以下几个内容:超声波测距原理介绍;超声波测距温度补偿算法介绍;声音报警模块蜂鸣器介绍部分;主程序设计流程图;超声波测距步骤及流程图;系统原理图已略去;删除部分C程序;模糊化仿真电路图;获取基于51单片机的超声波倒车雷达设计全套资料,包括完整版毕设论文、Proteus仿真、KeilC程序、原理图文件、Visio流程图等资料,请微信搜索关注公众号:交院小智。防失联,作者微博名:蒋宇智哟。扣扣号:(2327603104);资源分享如下:3.2.2超声波测距实现大量实验发现频率为40KHZ左右的超声波在空气中传播的效率最佳,因此,为了方便处理,发射的超声波被调制成40KHZ左右、具有一定间隔的调制脉冲波信号,如图3-7所示。图3-7超声波通道工作时序图以上时序图表明单片机IO口只需要提供一个10uS以上脉冲触发信号,该模块内部将发出2个40kHz周期电平并检测回波。一旦检测到有回波信号则输出回响信号,回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。需要说明的是,在使用上述方法时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。超声波测距的实现过程如下图3-8所示。图3-8超声波测距实现过程3.2.3HC-SR04介绍HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可高达3mm,该模块集成了超声波发射器、接收器与控制电路。HC-SR04模块实物图如下图3-9所示。图3-9HC-SR04超声波模块图中可以看出,HC-SR04集成度高,单片机只需为其预留4个端口,连线简单,极大地节约了IO口资源。它的4个引脚分别为VCC、GND、TRIG和ECHO。其中,TRIG触发控制信号输入,ECHO用于回响信号输出。本设计中,TRIG引脚与STC89C51单片机的P2.5口相连,ECHO与P3.2口相连。HC-SR04电路如图3-10所示。图3-10HC-SR04连接图HC-SR04的电气参数见表2。表2HC-SR04电气参数信息电气参数HC-SR04超声波模块工作电压DC5V工作电流15mA工作频率40kHz最远射程4m最近射程2cm测量角度15°输入触发信号10uS的TTL脉冲输出回响信号输出TTL电平信号,与射程成比例规格尺寸45*20*15mm3.3温度传感器模块3.3.1DS18B20简介单线数字温度传感器DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。其温度测量范围为-55~+125摄氏度,可编程为9位~12位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个传感器可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。DS18B20的管脚排列、各种封装形式如图3-11所示。其中,DQ为数据输入/输出引脚,也可用作开漏单总线接口引脚,当被用在寄生电源工作方式下,可以向器件提供电源;GND为地信号;VDD为可选择的电源引脚,当工作于寄生电源时,此引脚必须接地。图3-11各种封装的DS18B20传感器DS18B20的性能特点如下:(1)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条总线即可实现微处理器与DS18B20的双向通讯;(2)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温;(3)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;(4)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电;(5)测温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;(6)零待机功耗;(7)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温;(8)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;(9)用户可定义报警设置;(10)报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;(11)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力;(12)负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;以上特点使DS18B20非常适用与多点、远距离温度检测系统。3.3.2DS18B20构造DS18B20内部结构框如图3-12所示,其主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。图3-12DS18B20内部结构图其中,64bit闪速ROM的结构如下图3-13所示:图3-1364bit闪存ROM开始的8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。主机操作ROM的命令有六种,如下所示。温度传感器DS18B20的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图3-14所示。图3-14高速暂存RAM结构图其中,前2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。暂存存储器的第5个字节是配置寄存器,可以通过相应的写命令进行配置,其内容如下表所示:0MSBR1R211111LSB其中R0和R1是温度值分辨率位,可按表2进行配置。表2温度分辨率对应最大转换时间R1R0分辨率最大转换时间(ms)009位93.75ms(tconv/8)0110位183.50ms(tconv/4)1011位375ms(tconv/2)1112位750ms(tconv)当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可通过单线接口读到该数据,读取时低位在前、高位在后,数据格式以0.0625℃/LSB形式表示。温度值格式如表3。表3温度值格式表低232221202-12-22-32-4高SSSSS262524这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。格式中,S表示位。对应的温度计算:当符号位S=0时,表示测得的温度植为正值,直接将二进制位转换为十进制;当S=1时,表示测得的温度植为负值,先将补码变换为原码,再计算十进制值。例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。DS18B20温度传感器主要用于对温度进行测量,数据可用16位符号扩展的二进制补码读数形式提供,并以0.0625℃/LSB形式表示。表4是部分温度值对应的二进制温度表示数据。表4部分温度的二进制数表示温度数字输出(二进制)数字输出(16进制)+125℃000001111101000007D0H+85℃00000101010100000550H+25.0625℃00000001100100010191H+10.125℃000000001010001000A2H+0.5℃00000000000010000008H0℃00000000000000000000H-0.5℃1111111111111000FFF8H-10.125℃1111111101011110FFE5H-25.0625℃1111111001101111FF6FH-55℃1111110010010000FC90HDS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较,若T>TH或T手册
,可知它的启动需要有如下4个步骤:因此,HC-SR04超声波测距程序流程图如图4-3(已略,请见上文说明).图4-3超声波程序设计流程图4.4温度采集程序设计DS18B20属于单线式器件,它在一根数据线上实现数据的双向传输,这就需要一定的,来对读写数据提出严格的时序要求,而STC89C51单片机并不支持单线传输,因此必须采用软件的方法来模拟单线的协议时序。DS18B20有严格的通信协议来保证各为数据传输的正确性和完整性。主机操作单线器件DS18B20必须遵循下面的顺序。4.4.1初始化单线总线上的所有操作都是从初始化开始的。过程如下:1、请求主机通过拉低单线480us以上,产生复位脉冲,然后释放该线,进入Rx接收模式。主机释放总线时,会产生一个上升沿脉冲。DQ:1->0(480us+)->1 2、响应DS18B20检测到该上升沿后,延时15~60us,通过拉低总线60~240us来产生应答脉冲。DQ:1(15~60us)->0(60~240us)3、接收响应主机接收到从机的应答脉冲后,说明有单线器件在线。至此,初始化完成。DQ:04.4.2ROM操作命令当主机检测到应答脉冲,便可发起ROM操作命令。共有5类ROM操作命令,如表6所示。表6ROM操作指令表指令类型命令字节功能说明ReadRom读ROM33H读取激光ROM中的64位,只能用于总线上单个DS18B20器件情况,多挂时会发生数据冲突;MatchRom匹配ROM55H此命令后跟64位ROM序列号,寻址多挂总线上的对应DS18B20,只有序列号完全匹配的DS18B20才能响应后面的内存操作命令,其他不匹配的将等待复位脉冲,可用于单挂或多挂两种情况;SkipRom跳过ROMCCH可无须提供64位ROM序列号即可运行内存操作命令,只能用于单挂;SearchRom搜索ROMF0H通过一个排除法过程,识别出总线上所有器件的ROM序列号;AlarmSearch报警搜索ECH命令流程与SearchRom相同,但DS18B20只有最近的一次温度测量时满足了报警触发条件的,才会响应此命令。4.4.3数据处理DS18B20要求有严格的时序来保证数据的完整性。在单线DQ上存在复位脉冲、应答、写”0”、写”1”读”0”和读”1”几种型号类型,其中除了应答脉冲以外,均有主机产生。1、DS18B20的复位时序图4-4DS18B20的复位时序数据位的读和写则是通过使用读、写是时序实现的。首先来看写时序,时序图如图4-5所示。当主机将数据线从高电平拉至低电平时产生写时序。有两种类型的写时序:写”1”和写”0”。所有写时序必须在60us以上(即有高拉低后持续60us以上),各个写时序之间必须保证最短1us的恢复时间。DS18B20在DQ线变低后的15us至60us的窗口时间内对DQ线进行采样,如果为高电平就写为”1”,如果为低电平就写为”0”。对于主机产生写”1”时隙的情况,数据线必须先被拉低,然后释放,在写时序开始后的15us内允许DQ线拉至高电平。对于主机产生写”0”时隙的情况,DQ线必须被拉至低电平且至少保持低电平60us的时间。图4-5写时序时序图如图4-6所示。当主机从DS18B20读数据时,把数据线从高电平拉至低电平,产生读时序数据线DQ必须保持低电平至少1us,来自DS18B20的输出数据在读时序下降沿之后15us内有效,因此在此15us内,主机必须停止将DQ引脚置低。在读时序结束时,DQ引脚将通过外部上拉电阻拉回至高电平。所有的读时序最短必须持续60us,各个读时序之间必须保证最短1us的回复时间。图4-6读时序所有的读写时序至少需要60us,且每两个对立的时序之间至少需要1us的回复时间。在写时序中,主机将在拉低总线15us内释放总线,并向DS18B20写”1”;若主机拉低总线后能保持至少60us的低电平,则向单总线器件写”0”。DS18B20仅在主机发出读时序时才向主机传送数据,所以当主机向DS18B20发出读数据命令后,必须马上产生读时序,以便DS18B20能传输数据。4.4.4程序流程图DS18B20温度采集程序流程图如图4-7所示。图4-7DS18B20温度采集程序流程图4.5LCD1602程序设计LCD1602程序设计流程图如图4-8所示。图4-8LCD1602程序流程图4.6本章小结本章主要完成了各个环节的流程图及程序设计,主要包括超声波测距程序设计,主程序设计,温度采集程序设计,LCD显示程序设计,以及声音告警程序设计。通过在KEIL环境下多次执行及修正,以及向多名同学和老师的请教,最终很好的完成了设计目的。Proteus仿真验证超声波倒车雷达的硬件设计与软件设计业已完成,为了验证系统运行结果与设计是否相符,我们构建了倒车雷达系统的Proteus仿真。需要注意的是,由于仿真是电脑模拟与实物存在一些误差,只结果大致满足即可。获取基于51单片机的超声波倒车雷达设计全套资料,包括完整版毕设论文、Proteus仿真、KeilC程序、原理图文件、Visio流程图等资料,请微信搜索关注公众号:交院小智。防失联,作者微博名:蒋宇智哟。扣扣号:(2327603104);需要注意的是,仿真中的超声波模块模拟的测量距离最大为2.92m,与实物有一些差距,根据原理图做出的实物(洞洞板),超声波最远射程是可以达到4m的。打开Proteus仿真文件,文件后缀名为DSN。双击单片机,加载csbcj1602.hex文件(位于C程序文件夹中),运行仿真。仿真结果如下图5-3所示。图5-3超声波倒车雷达运行效果图LCD显示超声波测量距离为1.52m,环境温度为17℃,倒车预警距离为0.40m,驾驶员可以继续倒车。点击DS18B20温度传感器模块的上、下红色箭头,模拟温度值的变化;调节HC-SR04超声波模块下的滑动变阻器RV1(左右两个箭头),模拟倒车过程中距离的改变。例如,我们模拟倒车过程中某一刻超声波测量距离为0.97m,调节环境温度为23.8℃。结果如下图5-4所示。图5-4模拟温度值改变和倒车测量距离改变通过“功能”键和“调整”键,可以设置倒车预警距离。按下“功能”键,预警值个位闪烁,进入设置状态,通过“调整”键设置个位数值(数字0~5循环),个位数设置完成后,再次按下“功能”键,进入预警值小数点后一位数字的设置(0~9循环),依次类推。当3位数都设置好后,按下“功能”键,退出预警值的设置。例如,我们设置预警值为0.35m,结果如图5-5所示。图5-5设置倒车预警值为0.35m当超声波测量距离低于预警值时,蜂鸣器报警,提示驾驶员注意;反之,蜂鸣器关闭。图5-6超声波测量距离0.23m,低于报警值综上所述,基于51单片机的超声波倒车雷达Proteus验证圆满通过,满足本次设计的要求。总结本文介绍了基于STC89C51单片机的超声波倒车雷达系统的设计,对整个硬件电路和软件程序设计进行分析,文中介绍了倒车雷达的背景与研究意义,介绍了超声波倒车雷达的原理和测距实现,加深了51单片机的知识了解。学习对超声波模块HC-SR04的使用、硬件绘图软件AltiumDesigner,单片机开发软件KeiluVision4的使用,采用仿真软件能更直观的反应设计的正确性,缩短设计时间。其实写完了本篇论文,也仅仅是对基于单片机控制超声波测距雷达做了一个简单的设计方案,但超声波可利用在很多领域,例如在工程学方面的应用:水下定位与通讯、地下资源勘查等,治疗学方面的应用:理疗、治癌、外科、体外碎石、牙科等。本文利用超声波超声波在传播时,方向性强,能量易于集中,能在各种不同媒质中传播,且可传播足够远的距离的特点设计倒车雷达,该设计在安全驾驶领域有较好的实用价值。致谢首先,我要感谢我的导师王泽阳老师在毕业设计中对我给予的悉心指导和严格要求,同时也感谢本校的一些老师在毕业设计期间所给予我得帮助。在我毕业论文写作期间,各位老师给我提供了种种专业知识上的指导和日常生活上的关怀,没有您们这样的帮助和关怀,我不会这么顺利的完成毕业设计,借此机会,向您们表示由衷的感激。同时还要感谢系实验室在毕业设计期间提供给我们优越的实验条件。接着,我要感谢和我一起做毕业设计的同学。在毕业设计的短短3个月里,你们给我提出很多宝贵的意见,给了我不少帮助还有工作上的支持,在此也真诚的谢谢你们。同时,我还要感谢我的寝室同学和身边的朋友,正是在这样一个团结友爱,相互促进的环境中,在和他们的相互帮助和启发中,才有我今天的小小收获。还有许许多多给予我学业上鼓励和帮助的朋友,在此无法一一列举,在此也一并表示忠心地感谢!参考文献[1]刘守义主编.单片机应用技术.西安电子科技大学出版社,2002[2]童诗白,华成英.模拟电子技术基础[M],第三版.北京:高等教育出版,2001.1[3]张莹,张进,天飞.超声波倒车防撞系统[J].通信技术,2011,(02):130-132[4]杨路明著.C语言程序设计教程(第2版)[M].北京:北京邮电大学出版社,2005.[5]沈小丰.电子技术实践基础.清华大学出版社,2005[6]徐国华.超声波测距系统的设计与实现电子技术应用.中国电力出版社,l995[7]秦宣云何永强.基于超声波测距系统的温度补偿田胜军.中国电力出版社,2007[8]苏长赞.红外线与超声波遥控.人民邮电出版社,1993.7.[9]张谦琳.超声波检测原理和方法.北京:中国科技大学出版社,1993.10.[10]丁义元.高精度测距雷达研究.电子测量与仪器学报,2000.10[11]张洪润,蓝清华.单片机应用技术教程.清华大学出版社,1997[12]陈丽芳.单片机原理与控制技术.东南大学出版社,2003[15]肖质红.超声波测距仪在汽车安全系统中的应用.万里学院学报出版,2007[16]李勇.车载单片机与车载网络技术.电子工业出版社,2011[17]王懿川.基于单片机控制的超声波测距报警系统.上海计量测试,2011年第5期[18]胜全.D18B20数字温度计在微机温度采集系统中的序编制,南京:南京大学出版社,1998.3.[19]胡佳文.51系列单片机原理及设计实例.北京航空航天大学出版社,2010[20]周润景.单片机设计分析与制作.机械工业出版社,2010[22]龚运新.单片机接口C语言开发技术.第一版.清华大学出版社,2009附录1:仿真电路图附录2:原理图附录3:C程序#include#include#include"LCD.H"#include"18B20.H"#include"delay.h"sbitk1=P3^5;sbitk2=P3^6;sbitcsb=P2^5;sbitcsbint=P3^2;sbitbg=P2^6;sbitfmq=P3^3;unsignedcharaa[]={'','','D','i','s','t','a','n','c','e',':'};//Distanceunsignedcharbb[11]={'','','','','.','','','','','',};unsignedcharcc[]={'A','.','A','A','m'};unsignedcharzf,a1,a2,a3,xs,e,n,m,z;//zf温度正负标志位;a1,a2,a3,按键设定程序中定值的米、分米、厘米临时存储变量//xs,e用于按键程序中设定位闪动显示的变量;flag,未用,n,是背光控制标志位变量;m,z;unsignedintdz,k,s,j,bgz,k;inttemp;floattemperature,csbc,wdz;bitwh;main(){TH0=0;TL0=0;TMOD=0X11;//T1,T0为16位定时器EA=0;bg=0;n=0;m=0;z=0;init();Init_DS18B20();dz=80;bb[6]=0xdf;bb[7]=0x4b;e=4;cc[0]=dz/100+'0';cc[2]=dz%10+'0';cc[3]=dz%10+'0';LCD_Write_String(0,0,aa);LCD_Write_String(11,1,cc);while(1){temp=ReadTemperature();fmq=1;DelayMs(100);if(temp<0){temp=-(
/
本文档为【基于单片机的HC-SR04超声波倒车雷达,51单片机,仿真代码和原理图】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索