基于单片机的盲人壁障器的设计_第1页
基于单片机的盲人壁障器的设计_第2页
基于单片机的盲人壁障器的设计_第3页
基于单片机的盲人壁障器的设计_第4页
基于单片机的盲人壁障器的设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-基于单片机的盲人壁障器的设计【摘要】:针对盲人行走过程中无法了解到前方是否存在障碍物的问题,本文设计了一种新型的基于单片机控制的盲人避障装置,且该装置带有语音提醒功能。超声波指向性强,能量消耗相对缓慢,传播距离远。本方案通过超声波发送接收来检测前方一段距离内是否有障碍物存在,若有,则语音提醒模块发出提醒信息。本文是在基于单片机控制的超声波测距原理的基础上,配以比较电路,来确定目标范围内障碍物的存在,相关部分附有硬件电路图、程序流程图。此装置简单实用且便携,设计在很大程度上解决了盲人行走中的安全问题。本设计是以STC89C52作为主控模块。盲人导航器的有效壁障距离为3.5m,测量精度为10cm。【关键词】:单片机;超声波;语音提醒-i-Abstract:Inviewoftheproblemthattheblindcantunderstandwhetherthereareobstaclesinfrontduringwalking,anewobstacle-avoidancedevicewasdesigned,whichisbasedonsingle-chip.Inaddition,ithasthefunctionofvoice-reminding.Becausetheultrasonicwavehasthefeatures,forexamplethestrongpoint,energyconsumptionslowandalongdistancetransmissioninthemedium.Itdetectswhetherthereexistobstacleswithinadistanceinfrontbymeansofultrasonic-sendingandultrasonic-receiving.Ifhaving,voice-remindingmodulewillissueinformationtoremindtheblind.Onthebasisoftheprincipleofultrasonicdistancemeasurement,thisdesignaddedthecomparisoncircuittoascertaintheexistenceofobstructioninthetargetrange.Inthepaper,relevanthardwarecircuitdiagramandprogramflowchartareintroducedindetail.Thisdeviceissimple,utilityandportable.Toalargeextent,itsolvedthesecurityproblemsduringtheblindswalking,whichisofpracticalsignificance.TheSTC89C52RCsinglechipmicrocomputerisusedasthemaincontrollerinthesystem.TheexperimentindicatesthattheeffectivedistanceofBlindNavigationis3.5m,andtheprecisionofmeasurementis10cm.Keywords:single-chip;ultrasonic;voice-reminding-ii-目录第1章前言.2第1.1节背景及意义.2第1.2节本系统主要研究内容.2第1.3节设计方案.2第2章系统硬件设计.3第2.1节STC89C52单片机简介.3第2.2节ISD4004语音模块简介.5第2.3节超声波传感器简介.7第2.4节超声波发射和接收电路设计.9第2.5节复位电路设计.10第2.6节双电压比较器LM393简介.11第3章系统软件设计.14第3.1节系统软件设计.14第3.2节主程序设计.14第3.3节子程序设计.15第4章系统调试.20第4.1节硬件调试.20第4.2节软件调试.20实验测得数据.20结论.21参考文献.21致谢.22附录.22附录1:实物照片说明.22附录2:原理图.23附录3:部分源程序.23第0页第1章前言第1.1节背景及意义世界上盲人最多的国家是中国,视力障碍或全盲者,中国的盲人数约占全世界盲人总数的20%左右。由于生理缺陷,盲人有着很多不便,尤其在生活、工作等方面,其中,盲人生活中最大的困难是如何行走安全。随着社会和科学技术的发展,导盲机器人、导盲犬、电子盲人眼镜、GPS导盲导航系统等导盲手段渐渐地于盲人接触,改善了盲人的走路能力,提高了盲人生活上的质量。然而旧时的盲人导航装备都有一定不好的弊端,比如价格昂贵、定位范围窄、环境影响等。因此本文推荐别利用超声波壁障,由于超声波的单一性强、能量容易集中、传播的距离比较远,并且对障碍物的定位具有很好的精确性、体积相对较小、易于携带、价格便宜等特点,具有一定的实用价值。第1.2节本系统主要研究内容本系统设计制作一个基于单片机的超声波盲人壁障器。能实现以下几种功能:(1)测壁障:通过超声波发射和接收电路,超声波传感器发射超声波,遇到障碍物返回,测得与障碍物的距离。(2)语音播报:根据测得障碍物的距离,通过语音模块播报对应距离的语音内容。(3)电源检测:通过改变电阻的大小,用来实现当电源电量不足时,给出对应的提示。第1.3节设计方案方案一是前方1米内有障碍语音播报,同时检测当前位置左右是否有障碍(当前位置50cm的宽度的左右方的50cm),假如前方有障碍,左方有障碍右方无障碍,语音播报向右走多少,同理相反。方案二是将最大测距距离3.5分为6个区间,分别为:01.00;1.001.50;1.502.00;2.002.50;2.503.00;3.003.50;每个区间分别对应一段语音内容(障碍A障碍B等)电量不足再语音提示(大约20%左右)。本系统设计选择方案二。第1页第2章系统硬件设计第2.1节STC89C52单片机简介STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。图1STC89C52RC引脚图STC89C52RC引脚功能说明VCC(40引脚):电源电压VSS(20引脚):接地第2页P0端口(P0.0P0.7,3932引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在FlashROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。P1端口(P1.0P1.7,18引脚):P1口是一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。在对FlashROM编程和程序校验时,P1接收低8位地址。P2端口(P2.0P2.7,2128引脚):P2口是一个带内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVXDPTR”指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行“MOVXR1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。在对FlashROM编程和程序校验期间,P2也接收高位地址和一些控制信号。P3端口(P3.0P3.7,1017引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。在对FlashROM编程或程序校验时,P3还接收一些控制信号。引脚号复用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)图表1P3口的第二功能表第3页RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/(30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOV指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址位8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。(29引脚):外部程序存储器选通信号是外部程序存储器选通信号。当AT89C51RC从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储器时,将不被激活。VPP(31引脚):访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。注意加密方式1时,将内部锁定位RESET。为了执行内部程序指令,应该接VCC。在Flash编程期间,也接收12伏VPP电压。XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。XTAL2(18引脚):振荡器反相放大器的输入端。第2.2节ISD4004语音模块简介ISD4004系列工作电压3V,单片录放时间8至16分钟,音质好,适用于移动电话及其他便携式电子产品中。芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI)送入。芯片采用多电平直接模拟量存储技术,每个采样值直接存贮在片内闪烁存贮器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。采样频率可为4.0,5.3,6.4,8.0kHz,频率越低,录放时间越长,而音质则有所下降,片内信息存于闪烁存贮器中,可在断电情况下保存100年(典型值),反复录音10万次。第4页图2语音模块引脚图引脚功能说明电源(VCCA,VCCD):为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,并且分别引到外封装的不同管脚上,模拟和数字电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量靠近器件。地线(VSSA,VSSD):芯片内部的模拟和数字电路也使用不同的地线。同相模拟输入(ANAIN+):这是录音信号的同相输入端。输入放大器可用单端或差分驱动。单端输入时,信号由耦合电容输入,最大幅度为峰峰值32mV,耦合电容和本端的3K电阻输入阻抗决定了芯片频带的低端截止频率。差分驱动时,信号最大幅度为峰峰值16mV,为ISD33000系列相同。反相模拟输入(ANAIN-):差分驱动时,这是录音信号的反相输入端。信号通过耦合电容输入,最大幅度为峰峰值16mV。音频输出(AUDOUT):提供音频输出,可驱动5K的负载。片选(SS)此端为低,即向该ISD4004芯片发送指令,两条指令之间为高电平。串行输入(MOSI):此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD输入。串行输出(MISO):ISD的串行输出端。ISD未选中时,本端呈高阻态。串行时钟(SCLK):ISD的时钟输入端,由主控制器产生,用于同步MOSI和MISO的数据传输。数据在SCLK上升沿锁存到ISD,在下降沿移出ISD。中断(/INT):本端为漏极开路输出。ISD在任何操作(包括快进)中检测到EOM或OVF时,本端变低并保持。中断状态在下一个SPI周期开始时清除。中断状态也可用RINT指令读取。OVF标志-指示ISD的录、放操作已到达存储器的未尾。EOM标志-只在放音中检测到内部的EOM标志时,此状态位才置1。行地址时钟(RAC):漏极开路输出。每个RAC周期表示ISD存储器的操作进行了第5页一行(ISD4004系列中的存贮器共2400行)。该信号175ms保持高电平,低电平为25ms。快进模式下,RAC的218.75s是高电平,31.25s为低电平。该端可用于存储管理技术。外部时钟(XCLK):本端内部有下拉元件。芯片内部的采样时钟在出厂前已调校,误差在+1%内。商业级芯片在整个温度和电压范围内,频率变化在+2.25%内。工业级芯片在整个温度和电压范围内,频率变化在-6/+4%内,此时建议使用稳压电源。若要求更高精度,可从本端输入外部时钟(如前表所列)。由于内部的防混淆及平滑滤波器已设定,故上述推荐的时钟频率不应改变。输入时钟的占空比无关紧要,因内部首先进行了分频。在不外接地时钟时,此端必须接地。自动静噪(AMCAP):当录音信号电平下降到内部设定的某一阈值以下时,自动静噪功能使信号衰弱,这样有助于养活无信号(静音)时的噪声。通常本端对地接1mF的电容,构成内部信号电平峰值检测电路的一部分。检出的峰值电平与内部设定的阈值作比较,决定自动静噪功能的翻转点。大信号时,自动静噪电路不衰减,静音时衰减6dB。1mF的电容也影响自动静噪电路对信号幅度的响应速度。本端接VCCA则禁止自动静噪。第2.3节超声波传感器简介2.3.1.超声波传感器构成超声波传感器是利用超声波的特性研制而成的传感器。超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生振动产生的,它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等特点。超声波对液体、固体的穿透本领很大,尤其是在阳光不透明的固体中,它可穿透几十米的深度。超声波碰到杂质或分界面会产生显著反射形成反射成回波,碰到活动物体能产生多普勒效应。因此超声波检测广泛应用在工业、国防、生物医学等方面。以超声波作为检测手段,必须产生超声波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声换能器,或者超声探头。超声波探头主要由压电晶片组成,既可以发射超声波,也可以接收超声波。小功率超声探头多作探测作用。它有许多不同的结构,可分直探头(纵波)、斜探头(横波)、表面波探头(表面波)、兰姆波探头(兰姆波)、双探头(一个探头反射、一个探头接收)等。第6页图3超声波传感器2.3.2.超声波工作原理超声波是一种在弹性介质中的机械振荡,有两种形式:横向振荡(横波)及纵向振荡(纵波)。在工业中应用主要采用纵向振荡。超声波可以在气体、液体及固体中传播,其传播速度不同。另外,它也有折射和反射现象,并且在传播过程中有衰减。在空气中传播超声波,其频率较低,一般为几十KHZ,而在固体、液体中则频率可用得较高。在空气中衰减较快,而在液体及固体中传播,衰减较小,传播较远。利用超声波的特性,可做成各种超声传感器,配上不同的电路,制成各种超声测量仪器及装置,并在通迅,医疗家电等各方面得到广泛应用。超声波传感器主要材料有压电晶体(电致伸缩)及镍铁铝合金(磁致伸缩)两类。电致伸缩的材料有锆钛酸铅(PZT)等。压电晶体组成的超声波传感器是一种可逆传感器,它可以将电能转变成机械振荡而产生超声波,同时它接收到超声波时,也能转变成电能,所以它可以分成发送器或接收器。有的超声波传感器既作发送,也能作接收。这里仅介绍小型超声波传感器,发送与接收略有差别,它适用于在空气中传播,工作频率一般为23-25KHZ及40-45KHZ。这类传感器适用于测距、遥控、防盗等用途。该种有T/R-40-60,T/R-40-12等(其中T表示发送,R表示接收,40表示频率为40KHZ,16及12表示其外径尺寸,以毫米计)。另有一种密封式超声波传感器(MA40EI型)。它的特点是具有防水作用(但不能放入水中),可以作料位及接近开关用,它的性能较好。超声波应用有三种基本类型,透射型用于遥控器,防盗报警器、自动门、接近开关等;分离式反射型用于测距、液位或料位;反射型用于材料探伤、测厚等。由发送传感器(或称波发送器)、接收传感器(或称波接收器)、控制部分与电源部分组成。发送器传感器由发送器与使用直径为15mm左右的陶瓷振子换能器组成,换能器作用是将陶瓷振子的电振动能量转换成超能量并向空中辐射;而接收传感器由陶瓷振子换能器与放大电路组成,换能器接收波产生机械振动,将其变换成电能量,作为传感器接收器的输出,从而对发送的超进行检测。而实际使用中,用发送传感器的陶瓷振子的也可以用做接收器传感器社的陶瓷振子。控制部分主要对发送器发出的脉冲链频率、占空比及稀疏调制和计数及探测距离等进行控制。第7页第2.4节超声波发射和接收电路设计超声波是一种振动频率超过20kHz的机械波,它可以沿直线方向传播,而且传播的方向性好,传播的距离也较远,在介质中传播时遇到障碍物在入射到它的反射面上就会产生反射波。由于超声波的以上几个特点,所以超声波被广泛地应用于物体距离的测量、厚度等方面。而且,超声波的测量是一种比较理想的的非接触式的测距方法。当进行距离的测量时,由安装在同一水平线上的超声波发射器和接收器完成超声波的发射与接收,并且同时启动定时器进行计数。首先由超声波发射探头向前方发射超声波并同时启动定时器计时,超声波在空气中传播的途中一旦遇到障碍物后就会被反射回来,当接收探头收到反射波后就会给负脉冲到单片机使其立刻停止计时。这样,定时器就能够准确的记录下了超声波发射点至障碍物之间往返传播所用的时间t(s)。由于在常温下超声波在空气中的传播速度大约为340m/s,所以障碍物到发射探头之间的距离为:S=340t/2=170t因为单片机内部定时器的计时实际上就是对机器周期T的计数,而本设计中时钟频率fosc取12MHz,设计数值N,则:T12/fosc=1st=NTN0.000001(s)S170NT170N/1000000(m)在程序中按式S170NT170N/1000000计算距离。2.4.1.超声波发射器电路超声波发射电路原理图如图4所示。发射电路主要由反相器74LS04和超声波发射换能器T40构成,单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采用两个反向器并联,用以提高驱动能力。上位电阻R1、R2一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。第8页12UA74LS053TRVCp.图4超声波发射电路原理图2.4.2.超声波检测接受电路超声波接收电路由超声波传感器、两级放大电路和锁相环电路组成。超声波接收电路如图5所示。超声波传感器接收到的反射波信号非常微弱,两级放大电路用于对传感器接收到的信号进行放大。锁相环电路接收到频率符合要求的信号后向单片机发出中断请求。锁相环LM567内部压控振荡器的中心频率为,锁定带宽与C3有关。由于发送的超声波频率为40kHz,调整相关元件使锁相环的中心频率为40kHz,只响应该频率的信号,避免了其他频率信号的干扰。当超声波传感器接收到超声波信号后,送入两级放大器放大,放大后的信号进入锁相环检波,如果频率为40kHz,则从8脚发出低电平中断请求信号送单片机P3.3端,单片机检测到低电平后停止定时器的工作。filIN+OEDt6MKPu?图5超声波接收电路第2.5节复位电路设计STC89C52的复位输入引脚RST为单片机提供了初始化的手段,可以使程序从指定处开始执行,在STC89C52的时钟电路工作后,只要RST引脚上出现超过两个机器周期以上的高电平时,即可产生复位的操作,只要RST保持高电平,则STC89C52循环复位,只有当RET由高电平变成低电平以后,STC89C52才从0000H地址开始执行程序,本系第9页统采用按键复位方式的复位电路。图6第2.6节双电压比较器LM393简介LM393主要特点如下:(1)工作电源电压范围宽,单电源、双电源均可工作,单电源:236V,双电源:118V;(2)消耗电流小,Icc=0.8mA;(3)输入失调电压小,VIO=2mV;(4)共模输入电压范围宽,Vic=0Vcc-1.5V;(5)输出与TTL,DTL,MOS,CMOS等兼容;(6)输出可以用开路集电极连接“或”门;LM393引脚图及内部框图:采用双列直插8脚塑料封装(DIP8)和微形的双列8脚塑料封装(SOP8)。图7LM393内部结构图LM393引脚功能排列表:第10页引出端序号功能符号引出端序号功能符号1输出端1OUT15正向输入端21N+(2)2反向输入端11N-(1)6反向输入端21N-(2)3正向输入端11N+(1)7输出端2OUT24地GND8电源VCC图表2LM393引脚功能LM393主要参数表:参数名称符号数值单位电源电压VCC18或36V差模输入电压VID36V共模输入电压VI-0.3VCCV功耗Pd570mW工作环境温度Topr0to+70贮存温度Tstg-65to150图表3LM393主要参数LM393应用说明:LM393是高增益,宽频带器件,象大多数比较器一样,如果输出端到输入端有寄生电容而产生耦合,则很容易产生振荡。这种现象仅仅出现在当比较器改变状态时,输出电压过渡的间隙。电源加旁路滤波并不能解决这个问题,标准PC板的设计对减小输入输出寄生电容耦合是有助的。减小输入电阻至小于10K将减小反馈信号,而且增加甚至很小的正反馈量(滞回1.010mV)能导致快速转换,使得不可能产生由于寄生电容引起的振荡。除非利用滞后,否则直接插入IC并在引脚上加上电阻将引起输入输出在很短的转换周期内振荡,如果输入信号是脉冲波形,并且上升和下降时间相当快,则滞回将不需要。比较器的所有没有用的引脚必须接地。LM393偏置网络确立了其静态电流与电源电压范围2.030V无关。通常电源不需要加旁路电容。差分输入电压可以大于Vcc并不损坏器件。保护部分必须能阻止输入电压向负端超过-0.3V。LM393的输出部分是集电极开路,发射极接地的NPN输出晶体管,可以用多集电极输出提供或ORing功能。输出负载电阻能衔接在可允许电源电压范围内的任何电源电压上,不受Vcc端电压值的限制。第11页此输出能作为一个简单的对地SPS开路(当不用负载电阻没被运用),输出部分的陷电流被可能得到的驱动和器件的值所限制。当达到极限电流(16mA)时,输出晶体管将退出而且输出电压将很快上升。输出饱和电压被输出晶体管大约60ohm的SAT限制。当负载电流很小时,输出晶体管的低失调电压(约1.0mV)允许输出箝位在零电平。第12页第3章系统软件设计第3.1节系统软件设计STC89C52RC单片机可以用汇编语言和C语言进行编程。汇编语言与机器指令一一对应,所以用汇编语言编写的程序在单片机里运行起来效率较高,而C语言程序可读性高,更便于理解。本设计使用C语言编程。本系统的设计要求是利用超声波原理设计一个盲人壁障器。要求通过设计能够检测前方不同距离的障碍物,并能给出相应的语音提示。第3.2节主程序设计系统软件主要完成超声波的产生、计时、计算,以及结果显示和语音播报的功能。它包括主程序、语音播报子程序、定时中断子程序等。主程序主要完成寄存器、变量初始化、超声波产生,以及显示程序和语言提示子程序的调用。中断子程序用来响应回波信号,当有回波信号时,立即停止计时。然后转入计算程序。其流程图如图7所示图8流程图第13页第3.3节子程序设计3.3.1.语音播报子程序最大测距距离3.5分为6个区间,分别为:01.00;1.001.50;1.502.00;2.002.50;2.503.00;3.003.50,通过与实际测得距离作对比,播报对应区间的语音内容。部分程序如下:voiddelay(uintz)uintx,y;for(x=z;x0;x-);for(y=125;y0;y-);voidConut(void)time=TH0*256+TL0;TH0=0;TL0=0;S=(time*340)/20000;/算出来是CMif(S=350)|flag=1)/超出测量范围显示“-”S=350;flag=0;elseif(S=0&S=100&S=150&S=200&S=250&S=300&S=7)reccout=1;elsereccout+;switch(reccout)case0x01:LED1=0;rec(0x50);break;case0x02:LED1=0;rec(0x100);break;case0x03:LED1=0;rec(0x150);break;case0x04:LED1=0;rec(0x200);break;case0x05:LED1=0;rec(0x250);break;case0x06:LED1=0;rec(0x300);break;case0x07:LED1=0;rec(0x350);break;default:break;if(key3=0)delayms(10);if(key3=0)第15页while(key3=0);playbit=1;if(playcout=7)playcout=1;elseplaycout+;switch(playcout)case0x01:play(0x50);break;/此处第一段音乐的开始地址为0X00,到0X100地址结束,约为51秒。case0x02:play(0x100);break;case0x03:play(0x150);break;case0x04:play(0x200);break;case0x05:play(0x250);break;case0x06:play(0x300);break;case0x07:play(0x350);break;3.3.2.中断子程序在中断程序中,当有中断产生也即接收到超声波信号就马上关闭中断与定时器,并进行距离计算与判断的工作。在中断处理程序过程中,对距离数据的计算是比较关键的。首先是从定时器0得到超声波传播中往返所用的时间,再运用公式计算得出障碍物与发射器之间的距离,然后再将测得的距离值传到其他功能模块进行其他功能的处理。部分程序如下:voidzd0()interrupt1/T0中断用来计数器溢出,超过测距范围flag=1;/中断溢出标志/*/voidStartModule()/启动模块TX=1;/启动一次模块_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();第16页_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();TX=0;voidmain(void)TMOD=0x01;/设T0为方式1TH0=0;TL0=0;ET0=1;/允许T0中断EA=1;/开启总中断TX=1;RX=1;key=1;delay(5);delay(1000);while(key1=1)StartModule();while(!RX/当RX为零时等待TR0=1;/开启计数while(RX/当RX为1计数并等待TR0=0;/关闭计数Conut();/计算delay(300);if(key=0)play(0x350);while(INT);/keyscan();while(key1=0)keyscan();第17页第4章系统调试第4.1节硬件调试超声波盲人壁障器比较复杂,原先的盲人壁障器测壁障是80cm,在这范围内仅仅用蜂鸣器做提示,由于该系统过于简单,对于盲人壁障有太多的局限性,不能满足盲人壁障器的要求。解决:将蜂鸣器换成ISD4004语音模块,最大测距距离3.5分为6个区间,分别为:01.00;1.001.50;1.502.00;2.002.50;2.503.00;3.003.50,每个区间分别对应一段语音内容。第4.2节软件调试由于程序也较为复杂,所以在编写程序和调试时出现了一些的问题。经过多次的程序的修改,一步一步的完成,最终解决了问题。在软件的调试过程中主要遇到的问题如下:语音播报的距离不符合。解决:每个区的语音播报的代码有错误,导致播报错误,不能有效测壁障,修改语音播报的代码并调试,解决了这问题。用户按下开关键没反应。解决:观察是否存在漏焊,虚焊,或者元件损坏,检查硬件没问题,查询程序,得知对应的端口编写有误。实验测得数据图表4实测数据第18页结论本系统基于STC89C52单片机为核心,根据超声波从发射到接收过程中传播的时间差来计算出传播距离这原理设计盲人壁障器。通过语音模块,超声波发射模块,超声波接收模块等来完成本系统的设计,本系统能有效的检测到3.5m内的障碍物,同时有相应的语音提示,基本能够满足盲人壁障器的要求,为盲人安全行走提供了一定的保障。第19页参考文献1.陈美銮;尹浩;黎飘;董博然;智能盲人导行仪的设计与实现J;电子技术应用;2006年10期2.宁志刚;杨保柱;杨玲;黄智伟;一种新型盲人导行识别系统的设计J;电子技术应用;03期3.马志欣;王宏;李鑫;语音识别技术综述J;昌吉学院学报;2006年03期4.梁源;朱武;王宏亮;曹倩倩;赵丽娜;语音识别技术综述J;上海电力学院学报;2010年12期5.刘延霞;谷林柱;基于单片机的盲人避障装置的设计J;软件;2011年06期6.霍孟友等.单片机原理与应用M.北京:机械工业出版社,20047.刘洪恩.汽车倒车防撞超声波雷达的设计J.仪表技术,2004,15(04)8.张洪润等;传感器技术大全(上册)M,北京航空航天大学出版社,20079.沙占友等.智能传感器系统设计与应用M.北京:电子工业出版社,200410.刘守义等;单片机技术基础M西安:西安电子科技大学出版社,200711.来清民;传感器与单片机接口及实例M,北京航空航天大学出版社,200812.魏立峰王宝兴.单片机原理与应用技术M,北京:北京大学出版社,2010第20页致谢从开始做论文到论文基本完成,经历了很长一段时间,从开始的一知半解到现在的全面了解算是经历了一个漫长的过程。本文是在魏明老师的悉心指导下完成的,感谢魏老师对我的毕业设计给予的启发和帮助,魏老师平易近人的态度,对学生的帮助,办学严谨的态度让我终生难忘,值此论文脱稿之际,谨向我的导师表示最诚挚的谢意。大学四年一晃而过,在这四年里我们不仅收获了知识,还有深厚的友谊和师生情谊。我感谢你们在大学四年中给予我的包容和帮助,有你们的陪伴,这四年将成为我记忆中的珍宝。感谢我的父母,是他们给了我学习的机会,感谢他们对我始终如一的信任、关心、支持和帮助,我将会一如既往的努力,用我的实际行动来感恩他们。总之,谨向关心、帮助和支持我的所有老师、同学、亲人和朋友表示最崇高的敬意和衷心的感谢。第21页附录:中英文文献翻译名称51单片机在编程电路中的应用第22页附录1:实物照片说明图9实物的正面图10实物的反面附录2:原理图第23页图11原理图附录3:部分源程序#include#include#defineucharunsignedchar#defineuintunsignedintbitplaybit,recbit,dis;/定义两个位变量,放音和录音位/常变量定义:sbitRX=P11;/模块引脚sbitTX=P10;uintSpeed=340;sbitkey=P12;unsignedlongtime=0;unsignedlongS=0;bitflag=0;ucharcount,s1num;/定义放音命令,定义常量/#defineISDPOWERUP0X20/ISD4004上电#defineISDSTOP0X10/ISD4004下电#defineOPERSTOP0X30/ISD4004停止当前操作#definePLAYSET0XE0/ISD4004从指定地址开始放音#definePLAYCUR0XF0/ISD4004从当前地址开始放音#defineRECSET0XA0/ISD4004从指定地址开始录音#defineRECCUR0XB0/ISD4004从当前地址开始录音sbitSS=P02;/LOWISACTIVELYsbitMOSI=P03;sbitMISO=P04;sbitSCLK=P01;sbitINT=P00;第24页sbitkey1=P20;sbitkey2=P30;sbitkey3=P31;voiddelayms(ucharms);ucharplaycout=0,reccout=0;/放音和录音次数。/放音部分子程序,放音地址由ADDR决定/voidplay(uintaddr)uinty;SS=0;MOSI=0;/发送开始SCLK=0;for(y=0;yy)elseMOSI=0;_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();/发送结束SS=1;/上电结束delayms(50);SS=0;MOSI=0;/发送地址SCLK=0;for(y=0;yy)elseMOSI=0;_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();/发送地址结束MOSI=0;/放音SCLK=0;第25页for(y=0;yy)elseMOSI=0;_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();SS=1;SS=0;MOSI=0;/放音SCLK=0;for(y=0;yy)elseMOSI=0;_nop_();_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();SS=1;/lu音部分子程序,地址由ADDR决定/voidrec(addr)uinty;SS=0;MOSI=0;/发送开始SCLK=0;for(y=0;yy)elseMOSI=0;_nop_();第26页_nop_();_nop_();SCLK=1;_nop_();_nop_();_nop_();/发送结束SS=1;/上电结束delayms(50);SS=0;MOSI=0;/发送开始SCLK=0;for(y=0;yy)elseMOSI=0;_nop

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论