基于S51及语音芯片ISD1720的超声波测距仪设计——毕业设计(共57页).doc

上传人:飞****2 文档编号:15113701 上传时间:2022-05-11 格式:DOC 页数:57 大小:3.75MB
返回 下载 相关 举报
基于S51及语音芯片ISD1720的超声波测距仪设计——毕业设计(共57页).doc_第1页
第1页 / 共57页
基于S51及语音芯片ISD1720的超声波测距仪设计——毕业设计(共57页).doc_第2页
第2页 / 共57页
点击查看更多>>
资源描述

《基于S51及语音芯片ISD1720的超声波测距仪设计——毕业设计(共57页).doc》由会员分享,可在线阅读,更多相关《基于S51及语音芯片ISD1720的超声波测距仪设计——毕业设计(共57页).doc(57页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上毕业设计报告设计题目: 超声波测距仪 设计作者: 郑情元 专业班级/学号: 08级机电(1)班 合作者1: 辛回佳 专业班级/学号: 合作者2: 陈章煜 专业班级/学号: 指导教师: 郑晓青 设计时间: 目 录1 引言2 毕业设计任务及要求2.1 设计任务2.2 设计要求3 系统总体设计 3.1 方案论证3.2系统结构框图设计及说明4 软、硬件设计 4.1 系统硬件设计4.1.1系统硬件原理图及工作原理说明4.1.2单元电路设计原理与元件参数选择4.2系统软件设计4.2.1软件系统总流程图及设计思路说明4.2.2软件各功能模块的流程图设计及思路说明5 安装与调试5.1

2、安装调试过程5.2故障分析6 结论 7 使用仪器设备清单 8 收获、体会和建议 9 参考文献10 附录 1 引 言日常的测距工具在一些特殊场合是很不方便的,甚至无法进行距离的测量,比如液位,井的深度,管道的长度等等。近年来,随着工业自动化生产和装配过程中自动识别的需要,特别是工业机器人的自动测距的需要,出现了多种测距方法和原理。根据其信息载体不同可归纳为光学方法和超声波方法。光学方法在某些应用领域有其局限性,相比之下,超声波方法在这些方面具有明显突出优点:(1)超声波的传播速度仅为光波的百万分之一,因此可以直接测量较近目标的距离,纵向分辨率较高;(2)超声波对色彩、光照度不敏感,可适用于识别透

3、明、半透明及漫反射性差的物体,如玻璃、抛光体;(3)对外界光线和电磁场不敏感,可用于黑暗、有灰尘或烟雾、电磁干扰强、有毒等恶劣环境中;(4)超声波传感器结构简单,体积小,费用低,信息处理简单可靠,易于小型化和集成化。因此,超声波法作为非接触检测手段,已越来越引起人们的重视,在原苏联、日本、美国等发达国家已有较深的研究。随着单片机技术的发展,其使用技术成熟,应用广泛,便于集成功能电路设计。基于如此,可以采用单片机技术,利用超声波的反射作用。超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。测量距离

4、时,与被测量的物体无直接接触,便能稳定的显示测量结果。超声波测距系统及其扩展系统可以应用于倒车、高速公路上的安全距离报警,建筑工地和一些工业现场的位置监控。 2 毕业设计任务及要求2.1 设计任务:(1)画出超声波测距仪的电路原理图(2)画出语音芯片ISD1720应用电路图(3)编写显示、语音等模块的单片机程序(4)制作硬件电路板,并进行调试2.2 设计要求:要完成设计任务,必需掌握以下各方面知识:(1)C51系列单片机的应用原理(2)掌握超声波传感器的使用(3)查语音芯片ISD1720的资料及了解其的应用(4)掌握诺基亚5510LCD屏幕(液晶)的使用(5)了解一些芯片,如NE555P(脉冲

5、产生)、LM393(双比较器)、CD4069(六相反相器)等。(6)完成超声波测距的电路和程序。(7)完成测到的距离数据显示。(8)完成距离数据可以用语音报出。 3 系统总体设计3.1方案论证:(1) 主控制器方案论证确定方案一:采用PIC16F877控制外围元件及对超声波距离的计算,PIC16877内部模块多,功能强大,易于外围设计,是一般小中型控制芯片的理想选择。方案二:采用PIC16F877的兄弟模块PIC16F873来进行控制,既然是兄弟模块,在功能上基本上相同,唯一欠缺的是外围端口相对较少。方案三:采用AT89S52,其Flash Eprom可在线编程微控制器,调试方便。它有8K的R

6、OM存储器和256的RAM地址。它与工业标准MCS-51的指令和引脚兼容,因而是一种功能强大的微控制器,它对很多嵌入式控制应用提供了一个高度灵活有效的解决方案。适用于本方案。(2) 超声波发射电路方案论证确定方案1:如图3-1,电路中晶体管Q1、Q2组成强反馈稳频振荡器,振荡频率等于超声波换能器T40的共振频率。T40是反馈耦合元件,对于电路来说又是输出换能器。T40两端的振荡波形近似于方波,电压振幅接近电源电压。S是电源开关,按一下S,便能驱动T40发射出一串超声波信号。电路工作电压,工作电流约。发射超声波信号大于。电路不需调试即可工作。不采用此方案。图3-1 40KHz超声波发动和电路一方

7、案2:超声波发射电路原理图如图3-2所示。发射电路主要由反向器74LS04和超声波发射换能器T40构成,单片机P1.5端口输出的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极。用这种推挽形式将方波信号加到超声波换能器两端,可以提高超声波的发射强度。输出端采用两个反向器并联,用以提高驱动能力。上拉电阻R1、R2。一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声换能器的阻尼效果,缩短其自由振荡的时间。这种方法的特点是分利用软件,声波的发射强度。输出端采用两个反向器并联,用以提高驱动能力。上拉电阻R1、R2。一方面可以

8、提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声换能器的阻尼效果,缩短其自由振荡的时间。这种方法的特点是分利用软件,声波的发射强度。输出端采用两个反向器并联,用以提高驱动能力。上拉电阻R1、声波的发射强度。输出端采用两个反向器并联,用以提高驱动能力。上拉电阻R1、R2。一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声换能器的阻尼效果,缩短其自由振荡的时间。这种方法的特点是分利用软件,灵活性好,但需要设计一个驱动电流为100mA以上的驱动电路。不采用此方案。 图3-2 40KHz超声波发动和电路二方案3:如图3-3,由NE555时基电路及外围元件构成40

9、kHZ多谐振荡器电路,调节电阻器Rt1和Rt2阻值,可以改变振荡频率。由NE555第3脚输出端驱动超声波换能器Lf的一端并接非门CD4069的一端,CD4069第2端接超声波换能器Lf的另一端使之发射出超声波信号。由于NE555工作时,使能端4要接9V电压,而单片机输出5V,因而用LM393比较器进行比较,使NE555的工作由单片机控制。电路简单易制。电路工作电压9V,工作电流4050mA。发射超声波信号大于8m。图3-3 40KHz超声波发动和电路三(3)超声波接收及信号处理电路方案论证确定方案1:超声波接收器包括超声波接收探头、信号放大电路及波形变换电路三部分。超声波探头必须采用与发射探头

10、对应的型号,主要是频率要一致,这里采用CSB40R,否则因无法产生共振而影响接收效果、甚至无法接收。由于经探头变换后的正弦波电信号非常弱,因此必须经放大电路放大。正弦波信号不能直接被单片机接收,因此必须进行波形变换。按照前文所讨论的原理,单片机需要的只是第1个回波的时刻,因此可采用比较电路将正弦波转换为脉冲方波,由软件查询得到第1个回波前沿时刻。如图3-4所示。超声波在空气中传播时,其能量的衰减程度与距离成正比,即距离越近、信号越强,距离越远、信号越弱,通常在之间。当然,不同的接收探头的输出信号强度存在差异。由于输入信号的范围较大,对放大电路的增益提出了两个要求:(1)放大增益要大,以适应小信

11、号时的需要;(2)放大增益要能变化,以适应信号变化范围大的需要。另外,由于输入信号为正弦波,因此必须将放大电路设计成交流放大电路。为减少负电源的使用,放大电路采用单电源供电,信号放大和变换采用了一片LM324通用运算放大器,前三级为放大器设计,后一级为比较器设计。LM324既可以双电源工作,也可以单电源工作,因此能满足使用要求。也可以选用其他运算放大器,但必须注意其能否单电源工作,因为不是所有运算放大器都能单电源使用的。也可以选用其他运算放大器,但必须注意其能否单电源工作,因为不是所有运算放大器都能单电源使用的。为满足交流信号的需要,每级放大器均采用阻容电路进行电平偏移,即图3-2。中的C2、

12、C5和C6,容量均为10F,实现单电源条件下交流信号的放大。前两级放大电路的放大增益均为10。距离较近时,两级放大时的增益已能输出足够强度的信号了,第三级看可能出现信号饱和,但距离较远时,必须采用三级放大。为提高适应能力,可在图3-4 的基础上,增设增益选择电路。由软件自动完成增益切换,切换的原理是先进行大增益搜索回波,一旦发现回波而后续无回波的情况,说明增益过大,必须减少一级增益。当然,软件设计的难度会大大增加,而且这种软件自适应增益法只能适用于静态测量,在动态条件下,会导致距离测量误差增大。其原因是第1回波不可能作为距离计算依据,采用的可能是第2或第3回波的前沿信号,存在时差问题。 合理调

13、节电位器R9,选择比较基准电压,可使测量更加准确和稳定。实践证明,比较器参考电压的选取非常关键,它与测量灵敏度、系统鲁棒性都有关联。选小可提高测量灵敏度,但鲁棒性下降,容易出现虚假回波被捕捉的情况,选大则情况相反。显然,按照图3-4中的设计,当没有回波信号或回波信号很弱(即超出测量范围)时,比较器输出INTO为高。 此方案调试及控制较复杂,不予采用。 图3-4 超声波接收及信号处理电路方案2:采用集成电路CX20106A构成超声波接收电路,如图3-5。集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。CX20106A内部电路由前置放大器、自动偏置电平控制电路(

14、ABLC)、限幅放大器、带通滤波器、峰值检波器及波形整形电路组成。考虑到红外遥控常用的载波频率38 kHz与测距的超声波频率40 kHz较为接近,可以利用它制作超声波检测接收电路。此电路外围元件较少,灵敏度可靠性较高 ,故选择此方案。 图3-5 CX20106A(4)显示电路方案论证确定方案1:使用四连数码管动态刷新现实。如图3-6。此方案电路简单,但显示不直观,显示花样少。故不使用此方案。图3-6 四连数码管动态刷新电路方案2:使用1602A液晶,该液晶使用较简单。不过用户自定义字符量少,大部分字符本身已定义好,自定义的字符宽度只有5x8,复杂文字显示困难,因此灵活性小。而且引线16条,占线

15、较多,占I/O资源。故不使用此方案。方案3:使用Nokia5510lcd液晶,该液晶48*84位,串口通信,字符由用户自定义,能显示复杂文字、图像等。引线8条,占端口资源少,同一画面能显示多个文字,文字宽度由用户定义。但使用时程序较麻烦,不过做毕业设计是挺好的选择。总体说该液晶灵活性高、实用。所以选用该液晶来显示距离。(5)语音模块方案论证确定方案1:使用ISD1400系列的语音芯片,该芯片是并行通信,问世时间较早,在一些功能上不够完善。由于并口通信,它的使用较简单,不过引线较多,占资源会较多。不采用因方案。方案2:使用ISD1700系列的语音芯片,该芯片是SPI串口通信,是ISD1400系列

16、的升级版,功能较完善。音质好,语音长短可由用户定义。它引线少。使用时比ISD1400系列的复杂,作为毕业设计,使用此方案,是较好的段练。所以语音模块上选用此方案,电路图见图3-7。 图3-7 语音模块电路图(5) 系统电源电路 系统电源以为主电源,通过三端稳压电路LM7809及LM7805得到系统需要的和电源。超声波发射电路采用供电,其余电路采用供电。电路如图3-8。 图3-8 电源电路3.2系统结构框图设计及说明:A、本毕业设计系统结构框图设计设计如下(图3-9):超声波发射器放大电路超声波接收器放大电路定时器单片机控制显示器 图3-9 系统结构框图B、设计说明:根据生活的一些自然现象,可知

17、超声波以一定速度(v=340m/s左右)在空气中传播,如果超声波在前方遇到障碍物时则被反射返回。然后通过计时发送到接收的时间,再经过计算就可以得出距离。该设计主要核芯是单片机,所先单片机的一个端口来控制超声波发射电路产生一个40KHz的脉冲信号,经过驱动电路,发射器发出超声波并开始计时,等到有波返回来时,接收器将接收到信号,信号经过放大,送给主芯片,以此同时并关断定时器。经过其往返时间为t,距离s=vt/2即可算出被测物体的距离。然后把距离送到LCD显示,也可以把距离用语音报出来。如果需要,当你按下S1按键(可以参考附录电路图)时,可以把此时的距离读出来。4 软、硬件设计4.1 系统硬件设计:

18、主控单片机I/O口分配表(表4-1): 端口功能端口功能P1.0ISD1720的MOSO端P2.3LCD的SCE端 P1.1 ISD1720的MOSI端P2.4LCD的RES端P1.2 ISD1720的SCLK端P2.5LCD的D/C端P1.3 ISD1720的SS端P2.6LCD的SDIN端P2.1 超声波发送信号控制端P2.7LCD的SCLK端P3.3 外部中断入口P1.4语音报距离按钮 表4-1 4.1.1系统硬件原理图及工作原理说明:本项目的主要核芯是单片机,所先单片机的一个端口(输出5V电压)来控制LM393芯片(工作电压为9V)的1端口输出的电平(0V或9V)。根据LM393的1端

19、电平的不同,来控制NE555P的工作。NE555P的第3脚输出端驱动超声波换能器Lf的一端并接非门CD4069的一端,CD4069第2端接超声波换能器Lf的另一端使之发射出超声波信号,从而实现单片机控制超声波的发送。CX20106A红外接收芯片的输出端的与单片机连接,状态直接反应到单片机。单片机通过P2.1引脚来控制超声波的发送。当一次超声波发送完后,就开启内部定时器,开启外部中断,且单片机不停的检测INT1引脚,当INT1引脚的电平由高电平变为低电平时就认为超声波已经返回。单片机开启外部中断使定时器关闭,定时器所计的数据就是超声波所经历的时间,通过运算就可以得到传感器与障碍物之间的距离,这时

20、通过BCD码转换把十六进制的数据转换成十进制,并通过查表把距离显示在Nokia5510LCD液晶器上。如果需要报距,按下特定的键,可以把此时的距离用语音报出来。实现方法是根据ISD1720与单片机进行SPI串口通信。ISD1720具有定点播放的功能,通过查表把相应的语音读出来。电路中用到的CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38 kHz与测距的超声波频率40 kHz较为接近,可以利用它制作超声波检测接收电路(如图2-3)。实验证明用CX20106A 接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。适当更改

21、电容C7的大小,可以改变接收电路的灵敏度和抗干扰能力。4.1.2单元电路设计原理与元件参数选择:(1) 超声波模块:发送电路:如图3所示,发送电路主要核心是NE555P。它的最高工作电压是15V,本实验工作电压为9V。当第4端为高电平时(9V),第3端就输出相应脉冲,它的脉冲宽度TL0.7(Rt1+R7)C4,由于电容C4放电时间决定;TH0.7(Rt1+R7)C4,由电容C4充电决定。所以脉冲宽度TTH+TL。因为实验中的超声波频率为40KHZ,且TL=TH。假设取C4=1000pF,那么可以相应求出Rt1+R7=Rt2+R818k,则取R7=R8=10k, Rt1=Rt2=20k。C5固定

22、取0.01Uf。根据上段所述,控制脉冲输出的电平是9V,而单片机的电平在4.5-5.2V。这显然不满足要求。因此,引入比较器LM393,LM393是双比较器(如图4-1),但在本实验只用其中一个比较器。 LM393的第2端与第3端比较,其中第2端接约1V左右电压,第3端接单片机控制端P2.7。当P2.1为高电平时,第1端则输出9V电平。反之,输出低电平。从而主单片机进行控制超声波的发送。 图4-1 LM393内部结构接收电路: 接收电路中用到的CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38 kHz与测距的超声波频率40 kHz较为接

23、近,可以利用它制作超声波检测接收电路(如图4-2)。实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。适当更改电容C7的大小,可以改变接收电路的灵敏度和抗干扰能力。图4-2 超声波接收电路CX20106A的引脚注释:l脚:超声波信号输入端,该脚的输入阻抗约为40k。2脚:该脚与GND之间连接RC串联网络,它们是负反馈串联网络的一个组成部分,改变它们的数值能改变前置放大器的增益和频率特性。增大电阻R或减小C,将使负反馈量增大,放大倍数下降,反之则放大倍数增大。但C的改变会影响到频率特性,一般在实际使用中不必改动,推荐选用参数为R18=4.7,C4=3

24、.3F。3脚:该脚与GND之间连接检波电容,电容量大为平均值检波,瞬间相应灵敏度低;若容量小,则为峰值检波,瞬间相应灵敏度高,但检波输出的脉冲宽度变动大,易造成误动作,推荐参数为C5=3.3F。4脚:接地端。5脚:该脚与电源端VCC接入一个电阻,用以设置带通滤波器的中心频率f0,阻值 越大,中心频率越低。例如,取R17=200k时,fn42kHz,若取R17=220k,则中心频率f038kHz。所以取220 k6脚: 该脚与GND之间接入一个积分电容,标准值为C6=330pF,如果该电容取得太大,会使探测距离变短。7脚:遥控命令输出端,它是集电极开路的输出方式,因此该引脚必须接上一个上拉电阻到

25、电源端,该电阻推荐阻值为22k,没有接收信号时该端输出为高电平,有信号时则会下降。8脚: 电源正极,4.5V5V。(2) 显示模块:显示采用Nokia5510lcd显示,其是串口与单片机通信。它的外部引线有8条。具体如下:1脚:电源正极端,电压范围2.7V-6.2V。2脚:电源负端3脚:SCE芯片使能,允许输入数据。低电平有效。4脚:RES复位端,应用于初始化,低电平有效。5脚:D/C模式选择,选择命令/地址或数据。6脚:DIN串行数据线,输入数据线。7脚:SCLK串行时钟线。8脚:背灯电源端,电压正时亮,负时灭。与外部连接如下图(图4-3): 图 4-3它是一个48X84点阵LCD,内部有个

26、DDRAM显示数据存储器。通过写相应命令和数据,可显示出相应的数据。内部工作原理图(图4-4)如下: 图4-4(3) 语音模块: ISD1720一些主要引脚功能表(表4-2): 端口功能4MOSO脚,数据在时钟下降沿输出SPI接口的串行输出 5MOSI脚,数据在时钟上升沿输出SPI接口的串行输入 6SCLK脚,SPI接口的时钟,由主控芯片产生时钟7SS脚,片选端,低有效10MIC+脚,话筒差分信号正向输入端11MIC-脚,话筒差分信号负向输入端13SP-脚,喇叭输出负端15SP+脚,喇叭输出正端19VOL脚,音量调节端22FT脚,直通选择端。SPI时无效23PLAY脚,播放当前曲24REC脚,

27、录音控制端25ERASE脚,擦除控制端11FWD脚,指针指向下一曲 表4-2语音芯片ISD1720的工作方式有两种:按键操作模式和SPI模式。 在按键操作模式上,是通过按键进行控制它工作。该工作方式上,通过按键操作。独立按键工作模式录放电路非常简单,而且功能强大。不仅有录、放功能,还有快进,擦除,音量控制,直通放音和复位等功能。 在本设计上,由于要指定播放特定的语音,在按键模式上难于实现。而且要微机控制它的工作,所以它工作方式为SPI模式。 在芯片内,所先用户要根据各需要的语音存储到内部储存地址里面,有两种方式:一种是用外围电路通过第九端ANALN,把语音信息传送到内部地址。一种是用独立按键直

28、接录音。在第一种情况下,能准确的把相应的语音存放在用户需要的地址内,不过要有各个源语音,格式为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-3 由于应用在音质一般的场合,因此取R2=

29、80k,图中其它元件阻值为固定参数。在此不多介绍。4.2系统软件设计:4.2.1软件系统总流程图及设计思路说明:软件系统总流程图(图4-5):开始系统初始化对液晶写相应字开启外部中断定时器赋值 开启定时器,发送超声波定时满否?没收到回波?距离运算LCD显示关闭定时器关闭中断否是语音报距?否是 图4-5 设计思路说明:主程序框图如图所示,主程序首先对系统环境初始化,设置定时器T0工作模式为16位的定时计数器模式,置位总中断允许位EA并给显示端口P0和P2清0。然后调用超声波发射子程序送出超声波脉冲,为避免超声波从发射器直接传送到接收器引起的直接波触发,需延迟一段时间,保持电平12.5us左右,也

30、就是超声波频率大约为40KHZ,连续发送15个波形(这也是超声波测距离会有一个最小可测距离的原因)后,才打开外中断1接收返回的超声波信号。由于采用12MHz的晶振,机器周期为1us,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按下式计算即可测得被测物体与测距仪之间的距离,设计时取20时的声速为340m/s则有:d=(C*T0)/2=170*T0/10000cm(其中T0为计数器T0的计数值)测出距离后结果将以十进制BCD码方式送到LCD显示管显示,看是否要语音报距。一个流程之后又反回继续发送超声波4.2.2软件各功能模块的流程图设计及思路说明:(1)、距离运算

31、模块:软件功能模块流程图设计(图4-6):开始定时器赋值给R0、R1调用双字节乘法调用双字节除法调用双字节BCD码转换。赋值给距离缓冲区RET 图4-6设计思路说明:在系统中,根据超声波的发送与返回。得到的只有时间大小,在运算模块中的任务就是把时间的大小转换距离的大小。刚开始从定时器取时间大小T,该值可能是8位或是16位。我们已知的是超声波的传播距离V=340M/S。那么距离S=VT,返回的时间T单位是us,则有:S =(C*T0)/2=170*T0/10000cm(其中T0为计数器T0的计数值)但是,在89S51单片机中,高运算范围是8位,在此中,运算最大可能有24位的数值。因此,需进行双字

32、节运算。首先,进行双字节的乘法,T*170(170是超声波发送加返回的速度)得出结果是距离,单位是0.01mm。其次。进行双字节除法,要显示的单位是CM。双字节的乘法得出来的是0.01mm单位,需除以10000之后单位才是CM。再次,进行双字节BCD码转换。时间经过双字节的乘法,进行双字节除法之后得出来的距离表示方法是16进制,需转成十进制,让人更直观。(1) 显示模块:软件功能模块流程图设计(图4-7):开始给定新的百位值RET给定坐标值显示百位值给定新的十位值显示十位值给定新的个位值显示个位值 图4-7设计思路说明:因为显示是用LCD液晶,无需进行动态刷新。所以当距离缓冲区的内容改变时,L

33、CD屏幕上的数据更新一下。其它的显示数据,无需改变,它是48X84的点阵。如果需要在特定的位置上显示特定的数据时,只需准确给定它的横坐标和纵坐标的值,然后调用要显示的内容,内容就加载到DDRAM中,接着就进行显示。以下是距离更新的子程序:DPLY_JL: MOVROW,#2 ;给定横坐标 MOV COL,#32 ;给定纵坐标MOV A,50H ;距离百位CALL LCD_NUM ;调用写入数据子程序MOV A,51H ;距离十位 CALL LCD_NUMMOV A,52H ;距离个位CALL LCD_NUMRETLCD串口总协议图(图4-8):图4-8(3) 语音模块: 软件功能模块流程图设计

34、(图4-9):开始百位数字查表,得出相应地址,读出百位数字语音读出百字语音十位数字查表,得出相应地址,读出十位数字语音读出十字语音个位数字查表,得出相应地址,读出个位数字语音RET距离十位是否为零?距离百位是否为零?是是 图4-9设计思路说明: ISD1720的SPI协议格式如下图(图4-10):图4-10 ISD1720内部语音地址分配表(表4-4): 起始地址结束地址存放内容(相应语音)11H 13H 014H16H 117H18H 219H1AH31BH1CH41DH1EH51FH20H622H23H725H26H827H28H929H2EH厘米2FH 30H百31H32H十 表4-4

35、ISD1720的通信是SPI方式,所先写个SPI通信功能程序(见子程序SENDDATA)。每次要写命令或读取状态直接调用,使用时方便。/* * 函数原型: SENDDATA; * 功 能: SPI串口数据发送,发送数据,一次一个字节,* 待发送数据存在R2,读取接收ISD1720芯片移出的一个字节,接收* 存在R2*/SENDDATA: MOVR4,#8 SETBSCLK;一次一个字节移位,8位 CLRSS NOP NOPLOOP1: CLRSCLK CLRC CALLDELAY_30ns MOVA,R2 RRCA MOVR2,A MOVMOSI,C JNBMOSO,LOOP2 MOVA,R2

36、ORL A,#B MOVR2,ALOOP2:SETBSCLK CALLDELAY_30ns DJNZR4,LOOP1 CLRMOSI RET 每次计算出来的距离值存在对应缓冲区内,如果需要时需用语音读出来。在语音芯片,它能定点播放(从特定的地址开始播放到特定的结束地址),所以需知道它各个语音的存放地址和结束地址。在软件设计上,把各语音段的地址制作成一个表,每个语音有两个地址,一个起始地址,一个结束地址。所以,把表作成双字节表(见程序表TAB)。比如语音“0”它的起始地址为11H,结束地址为13H;语音“1”它的起始地址为14H,结束地址为17H。TAB:DB 11H,13H,14H,16H,1

37、7H,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设计思路说明: 当进入中断时,必须马上关闭定时器。避免定时器继续计时,让时间误差更大,导致结果误差加大。接着取定时器定时的时

38、间,该时间通过运算得到距离结果。为了有余波的干扰再次进入中断,在外部中断服务子程序中关断外部中断子程序。5 安装与调试5.1安装调试过程: 本系统需实现部分分硬件与软件部分,软件是根据硬件的方案而编写。在硬件,先确定各个模块所采用的方案然后作出各个方案的电路原理图。调试各各模块功能是否实现。如果实现了,做出各个模块结合在一起的主控电路原理图和各模块的功能电路图(本设计语音模块与总电路不同于一个电路板上)。画完之后,做出PCB图时,安装两个超声波探头时应保持两个探头中心轴线平行相距4-8CM。其它元件无特殊要求。 检查PCB图与电路原理图是否一致。检查无误之后做出电路板焊上各个元件。焊完之后,对

39、照图看是否有焊错,确认无误后通额定的电压(输入端输入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上的线是否正确。如果正确,主控电路板电路正常

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com