基于单片机的超声波倒车.docx

上传人:b****8 文档编号:30666171 上传时间:2023-08-19 格式:DOCX 页数:50 大小:2.38MB
下载 相关 举报
基于单片机的超声波倒车.docx_第1页
第1页 / 共50页
基于单片机的超声波倒车.docx_第2页
第2页 / 共50页
基于单片机的超声波倒车.docx_第3页
第3页 / 共50页
基于单片机的超声波倒车.docx_第4页
第4页 / 共50页
基于单片机的超声波倒车.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

基于单片机的超声波倒车.docx

《基于单片机的超声波倒车.docx》由会员分享,可在线阅读,更多相关《基于单片机的超声波倒车.docx(50页珍藏版)》请在冰豆网上搜索。

基于单片机的超声波倒车.docx

基于单片机的超声波倒车

毕业设计说明书

基于单片机的超声波倒车

雷达系统设计

专业

自动化

学生姓名

班级

自动化113

学号

指导教师

完成日期

2015年6月5日

 

毕业设计说明书(毕业论文)

独创性声明

本人声明所呈交的毕业设计说明书(毕业论文)是本人在导师指导下进行的研究、设计工作后独立完成的。

除了文中特别加以标注和致谢的地方外,说明书中不包含其他人己经发表或撰写过的研究成果。

对本文的研究所做贡献集体和个人,均己在说明书中作了明确的说明并表示谢意。

本人完全意识到本声明的法律后果由本人承担。

毕业设计说明书(毕业论文)作者签名(手写):

日期:

年月日

指导教师签名(手写):

日期:

年月

基于单片机的超声波倒车雷达系统设计

摘要:

以STC89C52单片机为控制核心的超声波倒车雷达系统进行设计。

该系统实现的功能有超声波发射器发射出一系列的连续脉冲,当脉冲遇到障碍物后返回,超声波接收器接收到脉冲后,送到单片机里,单片机计算出距离,在显示器上显示出距离,并通过语音播报告知驾驶员,当达到危险距离时,发出危险警报。

根据超声波倒车雷达系统的主要功能,提出了设计方案并进行了论证。

设计包括硬件设计和软件设计两大部分。

硬件部分包括单片机最小系统、超声波模块、显示模块、语音模块和按键模块五个部分。

单片机选用宏晶STC公司的STC89C52;用HC-SR04模块进行发射和接收脉冲;用LCD1602显示距离,并与报警值比较;语音模块由喇叭和YF017语音芯片组成,用喇叭播报距离,并当距离达到报警值时发出报警;用按键模块设定报警值。

软件采用了模块化的设计方法,主要分为主程序、超声波发射子程序、超声波接收子程序、LCD1602显示子程序、语音播报子程序和按键子程序六部分。

系统进行软硬件联调。

软硬件联调成功后,实现了超声波模块发射和接收脉冲,将计算出的距离显示在显示器上,喇叭播报距离。

当距离小于设定值时,喇叭发出报警声。

关键词:

倒车雷达;超声波;单片机;语音播报;显示器

ThedesignofUltrasonicreversingradarsystembasedonSinglechip

Abstract:

STC89C52microcontrollercorewithanultrasonicreversingradarsystemdesign.Thefunctionsofthesystemhasanultrasonictransmitteremitsaseriesofsuccessivepulses,whentheyhitanobstructionreturn,theultrasonicpulsereceivedbythereceiver,thesuppliedsinglechipmicrocomputer,thesinglechipmicrocomputercalculatesthedistance,showingdistanceonthedisplayandinformsthedriverviavoicebroadcast,whenitreachesthedangerfromissuehazardwarnings.

Accordingtothemainfunctionoftheultrasonicreversingradarsystemdesignschemeisproposedanddemonstrated.Design,includinghardwaredesignandsoftwaredesigntwoparts.Minimumsystemhardwareconsistsofamicrocontroller,ultrasonicmodule,displaymodule,voicemodule,akeymoduleoffiveparts.TheSTC89C52singlechipchoosemacrocrystallineonSTCcompany;transmitandreceivepulseswithHC-SR04module;LCD1602displaywithdistance,andcomparedwithalarm;soundmodulebythehornsandYF017voicechips,broadcastbyloudspeakerdistance,andwhenthedistanceisreachedalarmwhenthealarmvalue;setalarmvaluesbuttonmodule.Softwareusesamodulardesign,dividedintothemainprogram,subprogramultrasonictransmitter,ultrasonicreceptionsubroutine,LCD1602displayroutines,voicebroadcastsubroutineandbuttonsubroutinesixparts.

Jointdebugsystem’ssoftwareandhardware.Afterthesuccessofthesoftwareandhardware’sdebuggingrealizedtransmitandreceivepulsesofultrasonicmodule,thecalculateddistanceisdisplayedonadisplay,speakersbroadcastdistance.Whenthedistanceislessthanthesetvalue,thehornalarm.

Keywords:

reversingradar;Ultrasound;Singlechipmicrocomputer;Voicebroadcast;monitor

目录

1概述1

1.1课题研究背景与意义1

1.2课题设计内容1

2设计方案论证1

2.1总体设计1

2.2超声波测距方法选择2

2.3器件选择2

3系统硬件设计3

3.1单片机最小系统3

3.2超声波模块4

3.2.1超声波模块介绍4

3.2.2超声波发射和接收电路6

3.2.3超声波模块电路6

3.3显示模块7

3.3.1显示模块介绍7

3.3.2LCD1602电路8

3.4语音模块9

3.4.1YF017语音芯片介绍9

3.4.2语音模块电路10

3.5按键模块10

4系统软件设计10

4.1主程序10

4.2超声波发射子程序12

4.3超声波接收子程序12

4.4LCD1602显示子程序13

4.5语音播报子程序13

4.6按键子程序14

5系统调试15

5.1硬件调试15

5.2软件调试15

5.3软硬件联调16

5.4实验结果16

6结束语19

致谢20

参考文献21

附录22

附录1基于单片机的超声波倒车雷达系统原理图...........................................23

附录2基于单片机的超声波倒车雷达系统元器件清单...................................24

附录3基于单片机的超声波倒车雷达系统程序清单.......................................25

基于单片机的超声波倒车雷达系统设计

1概述

1.1课题研究背景与意义

现在使用汽车的人越来越多了,但是车子一多,也会造成交通拥挤,随之带来的安全隐患也就越来越多了。

当人们在街道、停车场或者车库要倒车的时候,驾驶员要不停的看着车子周围的情况,不然的话,一不小心就会造成碰撞,给自己造成财产损失,更严重的话会给自己或他人的生命安全造成危险。

因此,倒车雷达系统就出现了。

倒车雷达是泊车和倒车的安全辅助装置,当驾驶员倒车时,启动倒车雷达系统,它能通过发射和接收超声波来探测周围的情况,并以声音或者影像告诉驾驶员,既解除了驾驶员倒车时要左顾右盼、前看后视的麻烦,又帮助驾驶员看清了整个车子周围的情况,大大降低了发生事故的机率。

1.2课题设计内容

超声波倒车雷达系统的控制器为STC89C52单片机。

该系统能够实现超声波模块发射和接收脉冲,在显示器上显示距离,并语音告知驾驶员,在达到危险距离时,发出报警声。

系统需要用到以下四种技术:

a、单片机:

STC89C52单片机体积小、结构简单、功能强大,在生活中得到了广泛的应用,符合倒车雷达系统的要求;

b、超声波测距:

超声波指向性强、能够测量较远的距离、能够适应较为复杂的环境、应用级别较高;

c、显示:

用LCD1602来显示测得的距离;

d、语音播报:

用YF017语音芯片和喇叭组成来播报距离,并在达到危险距离时,发出报警声。

2设计方案论证

2.1总体设计

超声波倒车雷达系统总体设计框图如图2-1所示。

其中包括单片机最小系统、超声波模块、显示模块、语音模块和按键模块五个部分。

图2-1超声波倒车雷达系统总体设计框图

以STC89C52单片机为微处理器的最小系统驱动超声波模块发射出脉冲,遇到障碍物后,再接受返回的脉冲,单片机计算出脉冲从发射到接受之间的时间,接着计算出距离,将数据送至显示模块和语音模块。

在显示器上显示距离,通过喇叭播报距离,并当距离达到危险值时,发出报警声。

按键模块可以重新设定报警值。

2.2超声波测距方法选择

超声波测距用的较多的方法有相位检测法、声波幅值检测法、往返时间检测法。

相位检测法的精度虽高,但是测量的距离较小。

声波幅值检测法对环境的要求较高,使用起来难度较大。

往返时间检测法简单易懂、计算方便,在硬件和软件设计上容易实现。

所以选用往返时间检测法来测量距离。

往返时间检测法的原理是计算出从超声波发射器发射出脉冲到接收器接收到脉冲之间的时间t,这个时间称为渡越时间,再根据公式S=ct/2计算出距离。

c为超声波在空气中的传播速度,因为测试实验在实验室进行,可以考虑超声波在常温下传播,c取340m/s。

2.3器件选择

单片机选用宏晶公司的STC89C52单片机。

该单片机使用起来简单方便,而且功能强大,能够满足系统的计算和控制要求。

超声波模块选用HC-SR04模块。

该模块的测量距离较远,测量的精度高,其结构简单、价格低廉、小巧、容易装卸,符合系统设计的要求。

显示模块使用的是LCD1602。

该模块体积小、质量轻、消耗少,可以显示2*16个字符,而且不需要驱动电路,可以直接通过单片机驱动,简单方便。

由于这次显示不需要字符和图案,LCD1602价格便宜,容易购买,所以选用LCD1602模块。

语音模块由一个喇叭、一个YF017语音芯片和2个104电容组成。

喇叭用来发出声音,104电容将电源中的高频杂波对地短路,用来降低电源输入对芯片的影响,维持电路的稳定。

YF017芯片可以直接驱动喇叭,能够控制多段地址的组合,使用起来,简单方便,功能强大。

按键模块由4个按键组成。

K1、K2、K3、K分别是“设置报警值”、“增大报警值”、“减小报警值”、“播报距离”。

3.系统硬件设计

根据第2节的总体设计方案,设计基于单片机的超声波倒车雷达系统的硬件电路,总电路原理图如附录1所示。

3.1单片机最小系统

选用的单片机为STC89C52单片机,其引脚图如图3-1所示。

图3-1STC89C52引脚图

STC89C52单片机是STC公司生产的一种消耗低、功能强大的COMS8位微型控制器。

STC89C52单片机在传统的51单片机的基础上,做了许多的改动,拥有8位的CPU和系统可编程Flash,为众多的嵌入式控制应用系统提供了高效的解决方案。

要使单片机最小系统正常工作,就必须还要有复位电路和晶振电路。

复位电路由电阻和电容串联组成。

当单片机系统在运行时,受到环境的影响,会出现程序跑偏,这时,按下复位按钮,内部的程序就会从头开始运行。

要想出现复位信号,就要给RST引脚提供一个2us以上的高电平,而要想超声波模块发射出脉冲,就要提供一个10us以上的高电平。

所以,选择一个10uF的电容和10K的电阻就能满足要求。

晶振电路由2个22pF的电容C2和C3,以及12MHz的晶振Y1组成。

振荡器的工作状态决定整个最小系统的运行。

STC89C52单片机的最小系统如图3-2所示。

图3-2STC89C52单片机最小系统图

将单片机的RST引脚接在复位电路的电容C1和电阻R2之间,C2连接XTAL2引脚,C3连接XTAL1引脚,并在C2和C3之间并连一个12MHz的晶振,就构成了STC89C52单片机的最小系统。

3.2超声波模块

3.2.1超声波模块介绍

超声波模块选用的是HC-SR04模块。

其实物图如图3-3所示。

图3-3HC-SR04模块实物图

 

(1)HC-SR04模块参数如表3-1所示

表3-1模块参数

电气参数

HC-SR04超声波模块

工作电压

DC5V

工作电流

15mA

工作频率

40khz

最远射程

4m

最近射程

2cm

测量角度

15°

输入触发信号

10us的TTL脉冲

输入回响信号

输出TTL电平信号,与射程成比例

规格尺寸

45*20*15cm

 

(2)HC-SR04工作原理

HC-SR04的模块时序图如图3-4所示。

图3-4HC-SR04模块时序图

根据以上的时序图可以看出,只要P2.3向Trig提供一个10uS以上的高电平信号,模块就会启动,自动循环地发出8个40KHz的脉冲并且检测是否有回波。

当检测到回波信号后,ECHO会输出一个回响电平到P2.4,回响电平的持续时间和检测距离成正比。

根据时间间隔就能够计算出距离。

3.2.2超声波发射和接收电路

超声波内部的发射和接收电路图如图3-5所示。

图3-5超声波发射和接收电路图

3.2.3超声波模块电路

超声波模块电路图如图3-6所示。

超声波模块的VCC接电源,VDD接地,Trig接单片机的P2.3,用来接收触发电平,Echo接P2.4输出回响电平。

图3-6超声波模块电路图

 

3.3显示模块

3.3.1显示模块介绍

显示模块为LCD1602显示器。

它是一种用来显示字母、数字、符号等的点阵型液晶模块。

它是由若干个5*7或者5*11等点阵字符位组成,每个点阵字符位都可以显示一个字符。

因为每位之间有间隔,所以它不能显示图形和汉字。

其通过5V电压驱动,带背光,可以显示两行,每行显示16个字符,只有并行接口,没有串行接口。

其实物图如图3-7所示。

图3-7LCD1602实物图

(1)LCD1602引脚说明如表3-2所示

表3-21602引脚说明

编号

符号

引脚说明

编号

符号

引脚说明

1

VSS

电源地

9

D2

数据

2

VCC

电源正极

10

D3

数据

3

VO

液晶显示偏压

11

D4

数据

4

RS

数据/命令选择

12

D5

数据

5

R/W

读/写选择

13

D6

数据

6

EN

使能信号

14

D7

数据

7

D0

数据

15

BLA

背光源正极

8

D1

数据

16

BLK

背光源负极

第一脚:

接地电源VSS。

第二脚:

5V正电源为VCC。

第三脚:

VO为液晶显示器对比度调整的端口,对比度的强弱由接电源的不同决定,对比度的调整可以通过一个10k的电位器。

第四脚:

RS是寄存器选择,当接收到高电平时,接数据寄存器,低电平时,接指令寄存器。

第五脚:

R/W的读和写信号线,当接收到高电平时,进行读操作,低电平时,进行写操作。

其中RS与R/W的关系决定了当时状态。

第六脚:

使能端EN,当EN端由1至0时,液晶模块中的命令开始被运行。

第七至十四脚:

D0-D7为8位双向数据线。

第十五脚:

背光源正极。

第十六脚:

背光源负极。

(2)LCD1602写操作时序图如图3-8所示

图3-8写操作时序图

从这个时序图可以看出,写命令字节时,RS变为低电平,R/W变为低电平。

然后LCD1602的DB0~DB7口接收数据,E引脚从低电平变为高电平,脉冲宽度要维持最小400ns,然后E引脚负跳变,RS电平变低,R/W电平变高。

3.3.2LCD1602电路

LCD1602电路图如图3-9所示。

其中D0~D7与单片机的P0.0~P0.7相连接,EN与单片机的P2.6相连,RS与单片机的P2.7相连接,V0和一个2.2K的电阻相连接地。

GND、R/W和K接地,VCC和A接电源正极。

图3-9LCD1602电路图

3.4语音模块

语音模块分为三个部分,分别是一个喇叭、一个YF017语音芯片和2个104电容。

喇叭负责发出声音,104电容负责去耦,维持电路的稳定,而YF017语音芯片负责驱动喇叭发出声音。

3.4.1YF017语音芯片介绍

YF017语音芯片有8个引脚,采用DIP或者SOP方式封装,工作电压为1.8-5.5V,采用PWM直接驱动小喇叭发出声音。

YF017语音芯片是固定标准模块,可以只通过一个IO口来控制多达32段地址。

通常用3个IO口来控制芯片,其引脚图如图3-10所示。

图3-10YF017引脚图

模拟串行工作时各IO的作用:

BUSY:

芯片工作时,输出低电平,停止工作或者待机时,保持高电平;

DATA:

接收单片机的脉冲信号;

RST:

芯片的复位脚,当收到高电平时,芯片停止工作。

3.4.2语音模块电路

语音芯片的Busy连接单片机的P2.2,用来识别语音芯片的工作状态。

Data连接P2.1,识别单片机的脉冲信号,受到几个脉冲,就播放第几个地址的内容。

Rest连接P2.0,收到高电平后,语音芯片停止运行。

2个104电容降低电源输入对芯片的影响,维持电路的稳定。

喇叭用来发出声音。

语音模块电路图如图3-11所示。

图3-11语音模块电路图

3.5按键模块

设计中有4个按键K1、K2、K3和K,作用分别是设置报警值、增大报警值、减小报警值和播报距离,因为按键较少,故采用了独立键盘的方式,K1、K2、K3、K分别连到了单片机的P1.0、P1.1、P1.2、P3.7,当按下K时,喇叭播报当前距离。

按键模块电路图如图3-12所示。

图3-12按键模块电路图

4系统软件设计

系统软件设计分为主程序、超声波发射子程序、超声波接收子程序、LCD1602显示子程序、语音播报子程序和按键子程序六部分。

4.1主程序

主程序流程图如图4-1所示。

主程序是单片机程序的主体,单片机系统软件的功能都是在其中完成的。

首先对液晶初始化,读取原报警值,定时器0初始化,再按键扫描,接着重新设定报警值并按键扫描,然后启动超声波模块,超声波发射器发射出脉冲后,超声波接收器检测回波。

当接收到回波后,通过单片机计算出距离,并在显示器上显示出来。

如果距离小于报警值,喇叭就会发出“注意危险”的报警声,如果距离大于报警值,则没有声音。

按下K键,喇叭播报距离。

 

图4-1主程序流程图

4.2超声波发射子程序

超声波发射子程序流程图如图4-2所示。

超声波发射子程序的过程是模块接收到来自单片机的触发信号后,发射出连续脉冲,同时定时器0开启。

 

图4-2超声波发射子程序流程图

4.3超声波接收子程序

超声波接收子程序流程图如图4-3所示。

超声波接收子程序的过程是超声波接收器检测是否有回波,如果没有回波,则继续检测,如果检测到回波,模块会输出回响信号,那么定时器0中断,单片机算出脉冲从发出到接收的时间差。

 

图4-3超声波接收子程序流程图

4.4LCD1602显示子程序

LCD1602显示子程序流程图如图4-4所示。

LCD1602显示子程序主要是对液晶内部的控制指令进行指定如液晶初始化,显示空白,读,写,判断液晶的工作状态及指定字符的位置。

LCD1602显示子程序流程图如图4-4所示。

首先对液晶初始化,然后将地址命令写到LCD,然后向LCD发送字符串,最终在液晶上显示距离。

 

图4-4LCD1602显示子程序流程图

4.5语音播报子程序

语音播报子程序流程图如图4-5所示。

语音播报的过程是首先对语音芯片进行复位,在接受脉冲信号,接收到几个脉冲信号,就调用第几个地址的内容,最后通过喇叭发出声音。

 

图4-5语音播报子程序流程图

4.6按键子程序

按键子程序流程图如图4-6所示。

按下K1键,对液晶进行初始化,重新设定报警值,按下K2键,增大报警值,按下K3键,减少报警值。

 

 

图4-6按键子程序流程图

5系统调试

单片机应用系统的调试分为硬件和软件两部分,但是它们是紧密相连的。

首先对硬件进行故障排除,然后调试软件,最后在软硬件联调。

硬件电路是基础,软件是支撑硬件能够运行的关键。

总之,调试过程是在硬件电路的基础上进行软件调试的过程,软硬件缺一不可。

5.1硬件调试

首先观察看器件的焊接布局是否和原理图上的一致,再看器件的引脚有没有焊在一起,有没有没焊好,同时检查器件是否有损坏,接着用万用表检测各个引脚的线是否有短路或者断路。

5.2软件调试

软件调试使用的是Keil软件。

首先对编写的程序进行调试,看是否有错误,再进行编译,将程序下载到单片机里。

 

5.3软硬件联调

在硬件和软件调试成功后,给万用表通上电,观察给个模块的工作状态。

分析各个模块是否达到了要求的工作性能。

a、LCD1602能够显示距离;

b、当距离小于报警值时,喇叭发出“注意危险”的报警声,按下K键,喇叭播报距离;

c、按下K1键,报警值重新设定,按下K2键,增大报警值,按下K3键,减小报警值。

5.4实验结果

万用板未通电,其界面如图5-1所示。

按下K1键,重新设定报警值,其工作界面如图5-2所示。

按下K2键,将报警值增大到0.30m,其工作界面如图5-3所示。

按下K3键,将报警值减少到0.10m,其工作界面如图5-4所示。

在超声波模块前0.10m处放置一个挡板,液晶上显示0.10m,其工作界面如图5-5所示。

 

图5-1万用板未通电界面

 

 

图5-2设定报警值工作界面

 

图5-3增大报警值工作界面

 

 

图5-4减小报警值工作界面

 

图5-5测距工作界面

6结束语

经过一学期的努力后,终于完成了毕业设计。

此次设计与单片机有关,需要做实物,发现自己对单片机还不够了解,动手能力还不够强,以后需要多多努力。

这次设计课题是基于单片机的超声波倒车雷达系统设计。

因为自己的单片机基础较薄弱,应老师的建议,在寒假买了单片机的书籍和学习板进行了初步的研究,对如何做这个设计有了一个大

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 自我管理与提升

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1