超声波测距离加语音报距毕业设计.docx

上传人:b****5 文档编号:8873640 上传时间:2023-05-15 格式:DOCX 页数:64 大小:2.60MB
下载 相关 举报
超声波测距离加语音报距毕业设计.docx_第1页
第1页 / 共64页
超声波测距离加语音报距毕业设计.docx_第2页
第2页 / 共64页
超声波测距离加语音报距毕业设计.docx_第3页
第3页 / 共64页
超声波测距离加语音报距毕业设计.docx_第4页
第4页 / 共64页
超声波测距离加语音报距毕业设计.docx_第5页
第5页 / 共64页
超声波测距离加语音报距毕业设计.docx_第6页
第6页 / 共64页
超声波测距离加语音报距毕业设计.docx_第7页
第7页 / 共64页
超声波测距离加语音报距毕业设计.docx_第8页
第8页 / 共64页
超声波测距离加语音报距毕业设计.docx_第9页
第9页 / 共64页
超声波测距离加语音报距毕业设计.docx_第10页
第10页 / 共64页
超声波测距离加语音报距毕业设计.docx_第11页
第11页 / 共64页
超声波测距离加语音报距毕业设计.docx_第12页
第12页 / 共64页
超声波测距离加语音报距毕业设计.docx_第13页
第13页 / 共64页
超声波测距离加语音报距毕业设计.docx_第14页
第14页 / 共64页
超声波测距离加语音报距毕业设计.docx_第15页
第15页 / 共64页
超声波测距离加语音报距毕业设计.docx_第16页
第16页 / 共64页
超声波测距离加语音报距毕业设计.docx_第17页
第17页 / 共64页
超声波测距离加语音报距毕业设计.docx_第18页
第18页 / 共64页
超声波测距离加语音报距毕业设计.docx_第19页
第19页 / 共64页
超声波测距离加语音报距毕业设计.docx_第20页
第20页 / 共64页
亲,该文档总共64页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

超声波测距离加语音报距毕业设计.docx

《超声波测距离加语音报距毕业设计.docx》由会员分享,可在线阅读,更多相关《超声波测距离加语音报距毕业设计.docx(64页珍藏版)》请在冰点文库上搜索。

超声波测距离加语音报距毕业设计.docx

超声波测距离加语音报距毕业设计

毕业设计报告

 

设计题目:

超声波测距仪

设计作者:

专业班级/学号:

08级机电

(1)班0806050142

合作者1:

专业班级/学号:

0806050110

合作者2:

专业班级/学号:

0806050122

指导教师:

设计时间:

2011-4-15

 

 

1引言

 

  

 

2毕业设计任务及要求

2.1设计任务

(1)画出超声波测距仪的电路原理图

(2)画出语音芯片ISD1720应用电路图

(3)编写显示、语音等模块的单片机程序

(4)制作硬件电路板,并进行调试

2.2设计要求

要完成设计任务,必需掌握以下各方面知识:

(1)C51系列单片机的应用原理

(2)掌握超声波传感器的使用

(3)查语音芯片ISD1720的资料及了解其的应用

(4)掌握诺基亚5510LCD屏幕(液晶)的使用

(5)了解一些芯片,如NE555P(脉冲产生)、LM393(双比较器)、CD4069(六相反相器)等

(6)完成超声波测距的电路和程序

(7)完成测到的距离数据显示

(8)完成距离数据可以用语音报出

 

3系统总体设计

3.1方案论证

3.1.1主控制器方案论证确定

方案三:

用AT89S52,

3.1.2超声波发射电路方案论证确定

方案3 :

如图3-3,由NE555时基电路及外围元件构成40kHZ多谐振荡器电路,调节电阻器Rt1和Rt2阻值,可以改变振荡频率。

由NE555第3脚输出端驱动超声波换能器Lf的一端并接非门CD4069的一端,CD4069第2端接超声波换能器Lf的另一端使之发射出超声波信号。

由于NE555工作时,使能端4要接9V电压,而单片机输出5V,因而用LM393比较器进行比较,使NE555的工作由单片机控制。

电路简单易制。

电路工作电压9V,工作电流40~50mA。

发射超声波信号大于8m。

图3-340KHz超声波发动和电路三

3.1.3超声波接收及信号处理电路方案论证确定

方案2:

采用集成电路CX20106A构成超声波接收电路,如图3-5。

集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。

CX20106A内部电路由前置放大器、自动偏置电平控制电路(ABLC)、限幅放大器、带通滤波器、峰值检波器及波形整形电路组成。

考虑到红外遥控常用的载波频率38kHz与测距的超声波频率40kHz较为接近,可以利用它制作超声波检测接收电路。

此电路外围元件较少,灵敏度可靠性较高,故选择此方案。

图3-5CX20106A引脚图

3.1.4显示电路方案论证确定

3.1.5语音模块方案论证确定

方案1:

使用ISD1400系列的语音芯片,该芯片是并行通信,问世时间较早,在一些功能上不够完善。

由于并口通信,它的使用较简单,不过引线较多,占资源会较多。

不采用因方案。

方案2:

使用ISD1700系列的语音芯片,该芯片是SPI串口通信,是ISD1400系列的升级版,功能较完善。

音质好,语音长短可由用户定义。

它引线少。

使用时比ISD1400系列的复杂,作为毕业设计,使用此方案,是较好的段练。

所以语音模块上选用此方案,电路图见图3-7。

图3-7语音模块电路图

3.1.6系统电源电路

系统电源以

为主电源,通过三端稳压电路LM7809及LM7805得到系统需要的

电源。

超声波发射电路采用

供电,其余电路采用

供电。

电路如图3-8。

图3-8电源电路

 

3.2系统结构框图设计及说明

A本毕业设计系统结构框图设计设计如下(图3-9):

图3-9系统结构框图

B设计说明:

根据生活的一些自然现象,可知超声波以一定速度(v=340m/s左右)在空气中传播,如果超声波在前方遇到障碍物时则被反射返回。

然后通过计时发送到接收的时间,再经过计算就可以得出距离。

该设计主要核芯是单片机,所先单片机的一个端口来控制超声波发射电路产生一个40KHz的脉冲信号,经过驱动电路,发射器发出超声波并开始计时,等到有波返回来时,接收器将接收到信号,信号经过放大,送给主芯片,以此同时并关断定时器。

经过其往返时间为t,距离s=vt/2即可算出被测物体的距离。

然后把距离送到LCD显示,也可以把距离用语音报出来。

如果需要,当你按下S1按键(可以参考附录电路图)时,可以把此时的距离读出来。

 

4软、硬件设计

4.1系统硬件设计

主控单片机I/O口分配表(表4-1):

端口

功能

端口

功能

P1.0

ISD1720的MOSO端

P2.3

LCD的SCE端

P1.1

ISD1720的MOSI端

P2.4

LCD的RES端

P1.2

ISD1720的SCLK端

P2.5

LCD的D/C端

P1.3

ISD1720的SS端

P2.6

LCD的SDIN端

P2.1

超声波发送信号控制端

P2.7

LCD的SCLK端

P3.3

外部中断入口

P1.4

语音报距离按钮

表4-1单片机I/O口分配表

4.1.1系统硬件原理图及工作原理说明

本项目的主要核芯是单片机,所先单片机的一个端口(输出5V电压)来控制LM393芯片(工作电压为9V)的1端口输出的电平(0V或9V)。

根据LM393的1端电平的不同,来控制NE555P的工作。

NE555P的第3脚输出端驱动超声波换能器Lf的一端并接非门CD4069的一端,CD4069第2端接超声波换能器Lf的另一端使之发射出超声波信号,从而实现单片机控制超声波的发送。

CX20106A红外接收芯片的输出端的与单片机连接,状态直接反应到单片机。

单片机通过P2.1引脚来控制超声波的发送。

当一次超声波发送完后,就开启内部定时器,开启外部中断,且单片机不停的检测INT1引脚,当INT1引脚的电平由高电平变为低电平时就认为超声波已经返回。

单片机开启外部中断使定时器关闭,定时器所计的数据就是超声波所经历的时间,通过运算就可以得到传感器与障碍物之间的距离,这时通过BCD码转换把十六进制的数据转换成十进制,并通过查表把距离显示在Nokia5510LCD液晶器上。

如果需要报距,按下特定的键,可以把此时的距离用语音报出来。

实现方法是根据ISD1720与单片机进行SPI串口通信。

ISD1720具有定点播放的功能,通过查表把相应的语音读出来。

电路中用到的CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。

考虑到红外遥控常用的载波频率38kHz与测距的超声波频率40kHz较为接近,可以利用它制作超声波检测接收电路(如图2-3)。

实验证明用CX20106A

接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。

适当更改电容C7的大小,可以改变接收电路的灵敏度和抗干扰能力。

4.1.2单元电路设计原理与元件参数选择

(1)超声波模块

A发送电路:

如图3所示,发送电路主要核心是NE555P。

它的最高工作电压是15V,本实验工作电压为9V。

当第4端为高电平时(9V),第3端就输出相应脉冲,它的脉冲宽度TL≈0.7(Rt1+R7)C4,由于电容C4放电时间决定;TH≈0.7(Rt1+R7)C4,由电容C4充电决定。

所以脉冲宽度T≈TH+TL。

因为实验中的超声波频率为40KHZ,且TL=TH。

假设取C4=1000pF,那么可以相应求出Rt1+R7=Rt2+R8≈18k,则取R7=R8=10k,Rt1=Rt2=20k。

C5固定取0.01Uf。

根据上段所述,控制脉冲输出的电平是9V,而单片机的电平在4.5-5.2V。

这显然不满足要求。

因此,引入比较器LM393,LM393是双比较器(如图4-1),但在本实验只用其中一个比较器。

LM393的第2端与第3端比较,其中第2端接约1V左右电压,第3端接单片机控制端P2.7。

当P2.1为高电平时,第1端则输出9V电平。

反之,输出低电平。

从而主单片机进行控制超声波的发送。

图4-1LM393内部结构

B接收电路:

接收电路中用到的CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。

考虑到红外遥控常用的载波频率38kHz与测距的超声波频率40kHz较为接近,可以利用它制作超声波检测接收电路(如图4-2)。

实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。

适当更改电容C7的大小,可以改变接收电路的灵敏度和抗干扰能力。

图4-2超声波接收电路

CX20106A的引脚注释:

l脚:

超声波信号输入端,该脚的输入阻抗约为40kΩ。

2脚:

该脚与GND之间连接RC串联网络,它们是负反馈串联网络的一个组成部分,改变它们的数值能改变前置放大器的增益和频率特性。

增大电阻R或减小C,将使负反馈量增大,放大倍数下降,反之则放大倍数增大。

但C的改变会影响到频率特性,一般在实际使用中不必改动,推荐选用参数为R18=4.7Ω,C4=3.3μF。

3脚:

该脚与GND之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉冲宽度变动大,易造成误动作,推荐参数为C5=3.3μF。

4脚:

接地端。

5脚:

该脚与电源端VCC接入一个电阻,用以设置带通滤波器的中心频率f0,阻值越大,中心频率越低。

例如,取R17=200kΩ时,fn≈42kHz,若取R17=220kΩ,则中心频率f0≈38kHz。

所以取220kΩ

6脚:

该脚与GND之间接入一个积分电容,标准值为C6=330pF,如果该电容取得太大,会使探测距离变短。

7脚:

遥控命令输出端,它是集电极开路的输出方式,因此该引脚必须接上一个上拉电阻到电源端,该电阻推荐阻值为22kΩ,没有接收信号时该端输出为高电平,有信号时则会下降。

8脚:

电源正极,4.5V~5V。

(2)显示模块

显示采用Nokia5510lcd显示,其是串口与单片机通信。

它的外部引线有8条。

具体如下:

1脚:

电源正极端,电压范围2.7V-6.2V。

2脚:

电源负端

3脚:

SCE芯片使能,允许输入数据。

低电平有效。

4脚:

RES复位端,应用于初始化,低电平有效。

5脚:

D/C模式选择,选择命令/地址或数据。

6脚:

DIN串行数据线,输入数据线。

7脚:

SCLK串行时钟线。

8脚:

背灯电源端,电压正时亮,负时灭。

与外部连接如下图(图4-3):

图4-3LCD外部连接图

它是一个48X84点阵LCD,内部有个DDRAM显示数据存储器。

通过写相应命令和数据,可显示出相应的数据。

内部工作原理图(图4-4)如下:

图4-4内部工作原理图

(3)语音模块

ISD1720一些主要引脚功能表(表4-2):

端口

功能

4

MOSO脚,数据在时钟下降沿输出SPI接口的串行输出

5

MOSI脚,数据在时钟上升沿输出SPI接口的串行输入

6

SCLK脚,SPI接口的时钟,由主控芯片产生时钟

7

SS脚,片选端,低有效

10

MIC+脚,话筒差分信号正向输入端

11

MIC-脚,话筒差分信号负向输入端

13

SP-脚,喇叭输出负端

15

SP+脚,喇叭输出正端

19

VOL脚,音量调节端

22

FT脚,直通选择端。

SPI时无效

23

PLAY脚,播放当前曲

24

REC脚,录音控制端

25

ERASE脚,擦除控制端

11

FWD脚,指针指向下一曲

表4-2ISD1720主要引脚功能表

语音芯片ISD1720的工作方式有两种:

按键操作模式和SPI模式。

在按键操作模式上,是通过按键进行控制它工作。

该工作方式上,通过按键操作。

独立按键工作模式录放电路非常简单,而且功能强大。

不仅有录、放功能,还有快进,擦除,音量控制,直通放音和复位等功能。

在本设计上,由于要指定播放特定的语音,在按键模式上难于实现。

而且要微机控制它的工作,所以它工作方式为SPI模式。

在芯片内,所先用户要根据各需要的语音存储到内部储存地址里面,有两种方式:

一种是用外围电路通过第九端ANALN,把语音信息传送到内部地址。

一种是用独立按键直接录音。

在第一种情况下,能准确的把相应的语音存放在用户需要的地址内,不过要有各个源语音,格式为WAV音频;第二种情况下,它的储存地址是10H后面,顺序排列。

但由于设备的限制,采用独立按键录音。

工作时采用SPI工作。

图7为语音模块的电路图,ISD1720其中的第20端内部有个电阻ROSC为振荡电阻,决定内部的工作频率,振荡电阻用一个电阻R2接到地。

根据R2的不同,可以得到它不同的工作频率,从而得到不同的录音时间。

R2的大小与录音时间长短关系如下表4-3:

R2(KΩ)

53

80

100

120

160

录音时间(S)

20

30

37

45

60

表4-3R2与录音时间关系

由于应用在音质一般的场合,因此取R2=80kΩ,图中其它元件阻值为固定参数。

在此不多介绍。

4.2系统软件设计

4.2.1软件系统总流程图及设计思路说明

单片机地址单元分配表(表4-4):

地址分配

用途

初始值

20H.0

LCD底色选择

00H

30H

超声波发送个数设定

00H

50H

距离个位缓冲区

00H

51H

距离十位缓冲区

00H

52H

距离百位缓冲区

00H

60H

即将播放起始语音低地址

61H

即将播放起始语音高地址

62H

即将播放结束语音低地址

00H

63H

即将播放结束语音高地址

00H

64H

ISD1720状态寄存器SR0低8位

65H

ISD1720状态寄存器SR0高8位

66H

ISD1720状态寄存器SR1

71H

LCD即将显示数据的起始横坐标

00H

72H

LCD即将显示数据的起始纵坐标

00H

表4-4单片机地址单元分配表

①软件系统总流程图(图4-5):

4-5

②设计思路说明:

主程序框图如图所示,主程序首先对系统环境初始化,设置定时器T0工作模式为16位的定时计数器模式,置位总中断允许位EA并给显示端口P0和P2清0。

然后调用超声波发射子程序送出超声波脉冲,为避免超声波从发射器直接传送到接收器引起的直接波触发,需延迟一段时间,保持电平12.5us左右,也就是超声波频率大约为40KHZ,连续发送15个波形(这也是超声波测距离会有一个最小可测距离的原因)后,才打开外中断1接收返回的超声波信号。

由于采用12MHz的晶振,机器周期为1us,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按下式计算即可测得被测物体与测距仪之间的距离,设计时取20℃时的声速为340m/s则有:

d=(C*T0)/2=170*T0/10000cm(其中T0为计数器T0的计数值)

测出距离后结果将以十进制BCD码方式送到LCD显示管显示,看是否要语音报距。

一个流程之后又反回继续发送超声波……

4.2.2软件各功能模块的流程图设计及思路说明

(1)距离运算模块

①软件功能模块流程图设计(图4-6):

图4-6距离运算流程图

②设计思路说明:

在系统中,根据超声波的发送与返回。

得到的只有时间大小,在运算模块中的任务就是把时间的大小转换距离的大小。

刚开始从定时器取时间大小T,该值可能是8位或是16位。

我们已知的是超声波的传播距离V=340m/s。

那么距离S=VT,返回的时间T单位是us,则有:

S=(C*T0)/2=170*T0/10000cm(其中T0为计数器T0的计数值)

但是,在89S51单片机中,高运算范围是8位,在此中,运算最大可能有24位的数值。

因此,需进行双字节运算。

首先,进行双字节的乘法,T*170(170是超声波发送加返回的速度)得出结

果是距离,单位是0.01mm。

其次。

进行双字节除法,要显示的单位是cm。

双字节的乘法得出来的是0.01mm

单位,需除以1000之后单位才是cm。

再次,进行双字节BCD码转换。

时间经过双字节的乘法,进行双字节除法之后得出来的距离表示方法是16进制,需转成十进制,让人更直观。

(1)显示模块

①软件功能模块流程图设计(图4-7):

图4-7显示模块流程图设

②设计思路说明:

因为显示是用LCD液晶,无需进行动态刷新。

所以当距离缓冲区的内容改变时,LCD屏幕上的数据更新一下。

其它的显示数据,无需改变,它是48X84的点阵。

如果需要在特定的位置上显示特定的数据时,只需准确给定它的横坐标和纵坐标的值,然后调用要显示的内容,内容就加载到DDRAM中,接着就进行显示。

以下是距离更新的子程序:

DPLY_JL:

MOVCOL,#32;给定纵坐标

MOVROW,#2;给定横坐标

MOVA,50H;距离百位

CALLLCD_NUM;调用写入数据子程序

MOVA,51H;距离十位

CALLLCD_NUM

MOVA,52H;距离个位

CALLLCD_NUM

RET

LCD串口总协议图(图4-8):

图4-8LCD串口总协议图

(3)语音模块

①软件功能模块流程图设计(图4-9):

图4-9语音模块流程图

 

②设计思路说明:

ISD1720的SPI协议格式如下图(图4-10):

图4-10ISD1720的SPI协议格式图

ISD1720内部语音地址分配表(表4-5):

起始地址

结束地址

存放内容(相应语音)

11H

13H

0

14H

16H

1

17H

18H

2

19H

1AH

3

1BH

1CH

4

1DH

1EH

5

1FH

20H

6

22H

23H

7

25H

26H

8

27H

28H

9

29H

2EH

厘米

2FH

30H

31H

32H

表4-5语音地址分配表

ISD1720的通信是SPI方式,所先写个SPI通信功能程序(见子程序SENDDATA)。

每次要写命令或读取状态直接调用,使用时方便。

/************************************************************************

*函数原型:

SENDDATA;

*功能:

SPI串口数据发送,发送数据,一次一个字节,

*待发送数据存在R2,读取接收ISD1720芯片移出的一个字节,接收

*存在R2

***********************************************************************/

SENDDATA:

MOVR4,#8

SETBSCLK

CLRSS

NOP

NOP

LOOP1:

CLRSCLK

CLRC

CALLDELAY_30ns

MOVA,R2

RRCA

MOVA,R2

MOVMOSI,C

JNBMOSO,LOOP2

MOVA,R2

ORLA,#10000000B

MOVR2,A

LOOP2:

SETBSCLK

CALLDELAY_30ns

DJNZR4,LOOP1

CLRMOSI

RET

每次计算出来的距离值存在对应缓冲区内,如果需要时需用语音读出来。

在语音芯片,它能定点播放(从特定的地址开始播放到特定的结束地址),所以需知道它各个语音的存放地址和结束地址。

在软件设计上,把各语音段的地址制作成一个表,每个语音有两个地址,一个起始地址,一个结束地址。

所以,把表作成双字节表(见程序表TAB)。

比如语音“0”它的起始地址为11H,结束地址为13H;语音“1”它的起始地址为14H,结束地址为17H。

TAB:

DB11H,13H,14H,16H,17H,18H,19H,1AH,1BH,1CH,1DH,1EH,1FH,20H,22H,23H,25H,26H,27H,28H,29H,2EH,2FH,30H,31H,32H

在设计上,能测到的距离是三位的数字,它把距离数据存在缓冲区内,包括各位有出现零。

语音每次播报的内容来自距离缓冲区。

如果遇到有效数只有一位或两位时,此时前面有两个或一个零。

在语音播报时,需让百位或十位的零自动去掉,读出有效的距离。

还有,如果是三位有效值或两位有效值,但中间或个位为零,在我们习惯中,中间为零时,通常不加“十”的语音。

另外,如果是三位有效值或两位有效值,个位为零时,在习惯中,就不读出零的语音。

,在本软件设计上也实现这两点。

(4)中断服务子程序

①软件功能模块流程图设计(图4-11):

图4-11中断服务子程序流程图

②设计思路说明:

当进入中断时,必须马上关闭定时器。

避免定时器继续计时,让时间误差更大,导致结果误差加大。

接着取定时器定时的时间,该时间通过运算得到距离结果。

为了有余波的干扰再次进入中断,在外部中断服务子程序中关断外部中断子程序。

 

5安装与调试

5.1安装调试过程

本系统需实现部分分硬件与软件部分,软件是根据硬件的方案而编写。

在硬件,先确定各个模块所采用的方案然后作出各个方案的电路原理图。

调试各各模块功能是否实现。

如果实现了,做出各个模块结合在一起的主控电路原理图和各模块的功能电路图(本设计语音模块与总电路不同于一个电路板上)。

画完之后,做出PCB图时,安装两个超声波探头时应保持两个探头中心轴线平行相距4-8CM。

其它元件无特殊要求。

检查PCB图与电路原理图是否一致。

检查无误之后做出电路板焊上各个元件。

焊完之后,对照图看是否有焊错,确认无误后通额定的电压(输入端输入12V左右)。

然后用万用表测7809和7805,看它们的输出端是否分别为9V、5V。

如果是,电源电路正常。

保输入电压一段时间,检查各个元件是否正常(比如是否发热)。

各个模块安装完成之后,在输入端接上12左右的电压。

用示波器观察单片机18、19端是否有12MHZ波形。

如果有,单片机正常工作。

在LM393的第3端接入5V的电平,用示波器观察第1端是否有幅度9V波形。

如果有,调节滑动变阻器RT1、RT2,使1端输出频率为40KHZ,且高低电平时间相等。

频率调完成之后,用平滑坚硬的东西挡在两个超声波探头前,距离大约10cm左右。

此时,用万用表测CX20106A第7端的电平,看是否为低。

如果是,接着第3端接入低电平,看1端是否没波形输出。

如果是,此时,用万用表测CX20106A第7端的电平,看是否为高。

如果以上皆是,则超声波发送与接收电路都可以。

在显示上,检查一下单片机P23-2.7接到NOKAI5510LCD上的线是否正确。

如果正确,主控电路板电路正常。

当主控电路板正确后,检查语音模块。

先通过独立按键模式下是否有实现相应的功能。

如果有,用独立按键的方法录下各个需要的语音,数字语音“0、1、2、3、4、5、6、7、8、9”和“百、十、厘米”语音。

录下之后,用按键试播放语音,看语音是否齐全与音质如何。

如果可以,该电路正常。

硬件安装调试完成。

硬件安装调试完成之后。

需进行软件编写调试。

用KEIL软件

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2