1、学士学位论文(设计) 题 目: 智能超声波测距仪设计 姓 名: 徐乐 学 号: 2009014014 学 院: 工学院 专业/届别: 电子信息科学与技术专业/2013届 指导教师: 白龙 职 称: 讲师 表1 牡丹江师范学院学士学位论文(设计)选 题 论 证 报 告姓 名徐乐专 业/年 级电子信息科学与技术/2009题 目智能超声波测距仪设计选题的目的和意义随着现代信息技术的广泛普及,对信息资源和信息活动的有效管理及利用日益成为提高各种工作效率的重要手段。 对该系统进行的实验, 验证了本文提出的方法的正确性和有效性, 并能够达到较高的测量精度。本设计的超声波测距仪, 在实际测量中, 能达到很高
2、的使用精度, 实现了非接触、低功耗、免维护、性价比高等特点, 是一款有很好市场前景的智能式测距仪。研究内容与方法主要研究内容:本设计采用以STC8952单片机为核心的低成本、微型化液晶显示和语音播报超声波测距仪的硬件电路和软件设计方法。整个电路采用模块化设计,主程序、预置子程序、发射子程序、接收子程序、显示子程序的模块组成。分析方法:1. 分析实践法:根据文献资料了解研究对象,分析整个系统的需求,科学进行实践配置。2. 数据辩证法:通过实际操作,记录运行过程中的错误,进行研究辩证。研究进度安排1、选择论文题目:2012年10月;2、确定论文提纲,查阅资料:2012年11月2012年12月;3、
3、形成初稿:2012年12月2013年2月;4、形成修订稿:2013 年2月2013年3月;5、形成论文定稿:2013年4月。指导教师意见:指导教师(签名): 年 月 日开题报告专家论证意见:专家组长(签名): 年 月 日牡丹江师范学院学士学位论文(设计)摘要本设计采用以STC8952单片机为核心的低成本、微型化液晶显示和语音播报超声波测距仪的硬件电路和软件设计方法。整个电路采用模块化设计,主程序、预置子程序、发射子程序、接收子程序、显示子程序的模块组成。各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。在此基础上设计了系统的总体的方案,最后通过硬件和软件实现了各个功能模块。相关部分
4、附有硬件电路、程序流程图。关键词:stc8925;微型化液晶显示;语音播报超声波;设计AbstractThis design adopts the STC8952 single-chip microcomputer as the core of low cost, miniaturization, liquid crystal display and speech broadcast hardware circuit and software design method of ultrasonic range finder. The whole circuit USES modular des
5、ign, the main program, the preset subroutine, launch subroutines, receive subroutine and display subroutine modules. The probe signal by SCM comprehensive analysis processing, realize the functions of ultrasonic range finder. On the basis of the overall scheme of the system is designed, finally, rea
6、lized the function of hardware and software modules. Relevant parts with hardware circuit, program flow chart. Keywords: stc8925;Miniaturization LCD display; Speech ultrasound; design 目 录1 引言12.设计要求、内容及组织形式 22.1 设计要求 22.2设计内容22.3工作原理22.4 组织形式42.4.1设计软、硬件方案43 超声波的发射电路及电路原理 53.1发射电路 53.2显示电路原理 53.2.1超
7、声波监测接收电路63.2.2语音转换输出电路 74 软件结构设计及源代码 84.1 软件流程图84.2程序源代码85.设计进度安排236.总结24参考文献 25牡丹江师范学院学士学位论文(设计)1 引言利用STC89C52单片机实现超声波测距。通过超声波放射装置发射超声波遇物体反射回来再由接收装置接收处理。利用声波在空气中的传输速度和整个收发延时计算出距离。为了满足智能化、无接触距离测量要求,自主研制了一种性价比高、 体积小的智能超声波测距仪,该测距仪以 STC89C52单片机为控制核心, 本文给出其具体实现方案。本文设计的一种超声波测距仪,其最大特点是测量的液面与感应元件之间非接触。超声波是
8、指频率大于20KHz,并且能够在连续介质中传播的弹性机械波, 超声波方向性较好, 经过专门设计可定向的发射, 遇到界面时将发生反射、折射以及波形的改变, 超声波在空气中的传播速度为 334m/s(常温下)。利用超声波在介质中传播时, 这些好的物理特性进行设计,使得超声波在测距中的灵活性、 精确度大幅提高。2.设计要求、内容及组织形式2.1 设计要求 (1)学会焊接单片机系统板和驱动板并且连接驱动板与系统板间的连线。(2)用超声波测离障碍物的距离,经过单片机处理判断是否是安全范围根据距离的长短分为安全、注意、危险。(3)每采集一次信号LED灯闪烁一次表示采集成功。(4)把采集的数据经单片机处理用
9、12864液晶显示器显示出来,和语音模块处理用耳机输出提示距离情况。2.2设计内容本文所设计的超声波测距仪主要由AT89C52单片机、超声波发射电路、超声波接收放大电路、显示电路、语音播报电路。首先由单片机驱动产生11.0592晶振,由超声破发射探头发送出去,在遇到障碍物反射回来时由超声破接收探头检测到信号,然后经过滤波、放大、整形之后送入单片机进行计算,把计算结果输出到液晶显示屏上。2.3工作原理声波在介质中传播被定义为纵波。当声波受到尺寸大于其波长的目标物体挡住时即会发生反射; 反射波被称为回声。假如声波在介质中传播的速度是提前知道的, 而且声波从声音的发生源到达目标, 而返回声源的时间可
10、以通过测量得到, 那么就可以计算出从声波到目标地距离。这就是本设计的测量原理, 见式(2-1):L=vt (2-1)上式中, L为待测距离, v (m/s) 为超声波在空气中的速度, t为往返时间。 由于超声波在空气中的传播速度与温度 T(单位:摄氏度)有如下关系,见式(2-2)v=331.45+0.61T (2-2)在平常温度下, 温度每当变化 1 摄氏度, 超声波的速度变化 0.6m/s。所以可以通过测温电路测量出当前温度,计算出超声波在当前温度下的传输速度。通常声速随温度的变化会比较大, 因此产生的测量误差也会比较大, 所以若是所在环境中温度变化较大的环境下进行测量时, 需要考虑声速补偿
11、地问题。时间 t 可以通过脉冲计数的方法间接测量, 相当于将时间转化为对计数脉冲个数 N的测量, 假设计数脉冲的频率为 f, 则公式(1)可写成见式(2-3)L=Nv f (2-3)电路原理图如图2-1所示:图2-1超声波测距驱动板原理2.4 组织形式2.4.1设计软、硬件方案(1)硬件结构设计首先单片机发出振荡频率再整形再由超声波发射器发出出超声波经物体反射回来。接收器接收超声波信号再放大整形传入门控电路。单片机处理再显示输出。硬件结构设计图如图2-2所示:图2-2硬件结构设计图3 超声波的发射电路及电路原理3.1发射电路 超声波的发射电路原理图如下所示。发生电路主要是由反相器74HC04和
12、超声波的换能器T构成,单片机P3.3端口输出40KHZ方波信号一路经一级反相器后送到超声波换能器的一个电极,另一路经两级的反相器后送到超声波换能的另一个电极。通过这种推挽形式将方波的信号加到超声波换能器两端,可以提高超声波的发射强度。输出端则采用两个反相器并联,用以提高驱动能力的上拉电阻R1、R2一方面则可以提高反相器74HC04输出高电平的驱动能力,另一方面可以加强超声波换能的阻尼效果缩短振荡的时间。超声波发射的电路如图3-1所示:图3-1超声波发射电路3.2显示电路原理通过单片机的P0.0P0.7、RST、P3.0P3.7、X1、X2、GND与跳线帽连接控制液晶显示器的显示。12864液晶
13、显示器可显示32个汉字或64个字母可满足要求输出的内容。显示电路的原理图如图3-2所示:图3-2显示电路原理图3.2.1超声波监测接收电路集成电路CX20103A是一种红外线检波接收的专用芯片,常用在电视红外遥控接收器上。本设计利用它制作超声波接收电路。实验证明用CX20106A接收超声波具有很高的灵敏度和较高的抗干扰能力。超声波监测接收电路如图3-3所示:图3-3超声波监测接收电路3.2.2语音转换输出电路由单片机P3.4引脚为语音芯片WT558D-16提供数据再经过处理输出音频信号。语音转换输出电路如图3-4所示:图3-4语音转换输出电路图4 软件结构设计及源代码4.1 软件流程图软件流程
14、图如图4-1所示:图4-1软件流程图4.2程序源代码程序源代码如下:/*函数名:float Distance_count()功能:距离计算函数*/float Distance_count()float temp;temp=high_time*256+low_time;temp=(temp*10/9216)/2; temp*=speed;return temp;/*函数名:void tran(),void tran1(),void tran2()功能:超声波的发射*/void tran()uchar i;TH0=0;TL0=0;TR0=1;for(i=4;i0;i-)csb=!csb;nop;n
15、op;nop;nop;nop;nop;nop;nop;nop;csb=1;delay_ms(2);EX1=1;delay_ms(30);if(flag=1) distance=Distance_count();dis=(ulong)distance ;flag=0;else dis=0;void tran1()uchar i;TH0=0;TL0=0;TR0=1;for(i=8;i0;i-)csb=!csb;nop;nop;nop;nop;nop;nop;nop;nop;nop;csb=1;delay_ms(2);EX1=1;delay_ms(30);if(flag=1) distance=Di
16、stance_count();dis=(unsigned long)distance;flag=0; else dis=0;void tran2()uchar i;TH0=0;TL0=0;TR0=1;for(i=16;i0;i-)csb=!csb;nop;nop;nop;nop;nop;nop;nop;nop;nop;csb=1;delay_ms(2);EX1=1;delay_ms(40);if(flag=1) distance=Distance_count();dis=(unsigned long)distance;flag=0; else dis=0;/*函数名:void dis_all(
17、ulong dis_s)功能:控制LED指示灯和语音播报*/void dis_all(ulong dis_s)show(dis_s); if(dis_s2000) show_one(DIS4,2); if(flag_2!=1) send_oneline(12);/安全距离 delay_nms(50); while(!busy); flag_2=1; else if(dis_s500)&(dis_s100)&(dis_s500) show_one(DIS6,2); if(flag_2!=3) send_oneline(15);/请注意delay_nms(50);while(!busy); sen
18、d_oneline(13);/危险距离 delay_nms(50); while(!busy); flag_2=3; else show_one(DIS8,2); /*函数名:void main(void)功能:主函数*/void main(void) ulong data time;uchar i,j;P1 = 0xff;P2 = 0xff; TMOD=0x01;TH0=0;TL0=0; EA=1;IE=0x80;displayall(); while(1)lcd_pos(4,0); /设置显示位置为第三行 for(i=0;i16;i+) write(1,DIS10i);/lcd_wdat(
19、DIS3i); delay(2); for(i=0;i3;i+) tran();if(dis=0)tran1(); if(dis=0) tran2(); dis=do_s(dis); dis_4i=dis;fit_1();if(dis4000) time=time-1000;elseif(time-dis)2500) time=dis;else time=time-100; else time=dis; dis_all(time); if(tc_say=4) soundplay(time); tc_say=0; temp_all(); tc_say+; lcd_pos(1,6);for(j=0
20、;j4;j+)write(1,space4j);lcd_pos(1,6);for(j=0;j0)&(temp30000) high_time=TH0;low_time=TL0;else high_time=0;low_time=0; /*函数名:void write()功能:写指令或数据函数 */void write(bit start, uchar ddata) uchar start_data,Hdata,Ldata; if(start=0) /11111,(0),(0),0 start_data=0xf8; /写指令 else /11111,(0),(1),0 start_data=0x
21、fa; /写数据 Hdata=ddata&0xf0; /取高四位 Ldata=(ddata4)&0xf0; /取低四位 sendbyte(start_data); /发送起始信号 delay_lcd(1); /延时 sendbyte(Hdata); /发送高四位 delay_lcd(1); /延时 sendbyte(Ldata); /发送低四位 delay_lcd(1); /延时/*函数名:void lcd_init()功能: 初始化LCD */void lcd_init() delay_lcd(10); /延时等待LCM进入工作状态 LCD_CS=1; /片选 高电平有效 write(0,0
22、x30); /基本指令操作 write(0,0x0c); /显示打开,光标关,反白关 write(0,0x01); /清屏,将DDRAM的地址计数器归零 write(0,0x06); /*函数名:void displayall()功能:主显示函数 */void displayall() uchar i; delay(2); lcd_init(); /初始化LCD lcd_pos(2,0); /设置显示位置为第二行 for(i=0;i16;i+) write(1,DIS9i);/lcd_wdat(DIS9i); delay(30); lcd_pos(3,0); /设置显示位置为第三行 for(i
23、=0;i16;i+) write(1,DIS10i);/lcd_wdat(DIS10i); delay(30); delay(1000); photodisplay(Car); /显示图片1 delay(500);*/ clr_screen(); /上电,等待稳定 lcd_pos(1,0); /设置显示位置为第一行 for(i=0;i16;i+) write(1,DIS1i);/lcd_wdat(DIS1i); delay(2); lcd_pos(3,0); /设置显示位置为第三行 for(i=0;i16;i+) write(1,DIS3i);/lcd_wdat(DIS3i); delay(2
24、); lcd_pos(4,0); /设置显示位置为第四行 for(i=0;i16;i+) write(1,DIS8i);/lcd_wdat(DIS8i); delay(2); delay(1000);5.设计进度安排第一阶段主要是对通用单片机系统基础板及驱动板有所了解与认识。第二阶段对系统集成板及驱动板进行焊接。第三阶段完成软、硬件设计方案,完成智能超声波测距课程设计。第四阶段 对完成智能超声波测距课程设计进行测试及调试。第五阶段对智能超声波测距系统课程设计进行答辩276.总结本次设计使我学会了单片机的一些实际应用实例。我们广泛借鉴了各种实际的优点,充分考虑了整个设计中的各个环节。包括产生40
25、KHZ的方波,在接收电路中,对所接收方波进行滤波、放大、整形等步骤。在我们为期一周的设计中,我们用到了以前学到的很多知识,比如电工、单片机、和C语言等。这使我意到,任何一件产品的产生,都不是单一知识所能实现的。而且在电路板焊接过程中,出现一些意想不到的错误,这让我措手不及,有些其实很容易避免。但这让我受益匪浅。总之,在本课题的设计过程中走了很多弯路,但还是学到了不少知识。了解了超声波传感器的原理,学会了电路板焊接技能、和各种电路的设计与分析。动手能力与自学能力得到了锻炼与提高。理论总是不开实践的,设计制作过程中,盲目的追求理论知识根本不足以解决任何问题,一味的死研究课本是不会真正掌握单片机的。
26、只有实际去真正动手做才能发现问题,解决问题,提高自身能力。参考文献1 黄智伟、王彦等。全国大学生电子设计竞赛训练教程。北京:电子工业出版社,2005年2 杨素行。模拟电子技术基础简明教程。北京:高等教育出版社,2001年3 张友德、赵志英、涂时亮。单片机微型机原理应用与实验(第三版)。上海:复旦大学出版社,1990年4 全国大学生电子设计竞赛组委会。第五届全国大学生电子设计竞赛获奖作品选编(2001)。北京:北京理工大学出版社,2003年5 刘海成等。MCU-DSP型单片机原理与应用-基于凌阳位单片机。北京:北京航天航空大学出版社,2006.16. 童峰,许水源,许天增,一种高精度超声波测距处
27、理方法,厦门大学学报1998年第4期7 李忠杰,数字式超声波位移测量仪的研究,仪器仪表与装置,1999年第三期8 林理忠,宋敏.微弱信号检测学导论,北京:中国计量出版社,1996年9 阎福旺,凌青,李经德. 现代声纳技术.海洋出版社,1998年10 Rangwala S, Dornfeld D A. Sensor Integration Using Neural Networks forIntelligent Tool Condition Monitoring. Trans of ASME, Journal of Engineering for Industry. 1990. 112(8:21
28、9228)11 Dimla D E, Lister JR P M, Leighton N J. Network solutions to the tool conditioin monitoring problem in metal cutting-A critical review of methods. Int J Mach Tools Manufact, 1997, 37(9): 1219一124112 Figneroa J.F., Lamancusa J.S., A method for accurate detection of time of arrival: analysis a
29、nd design of ultrasonic ranging system, J.Acoust. soc.AM.,I992,91( 1 ):468494 13 ANSI/ASNT CP一189-1995. American National Standard for qualifieation and Certification of Nondestructive Testing Personnel(1995), Appendix B-Training Outlines and References Publ: shed by ASNTJne致谢 本次论文的撰写都是在导师果莉的悉心指导和帮助
30、下完成的,导师渊博的知识、严谨的治学态度和创造性的工作方法使我终身受益,导师诲人不倦的师德及以身作则的作风必将对我以后的学习工作和生活都产生深刻的影响,在此表示崇高的敬意和衷心的感谢!在课题设计过程中还得到了身边同学的帮助,正是在老师的大力支持和各位同学的通力协助下,我才得以顺利完成学位论文,在此一并表示深深的谢意由于本人知识水平有限,文中难免有错误和不完善之处,谨请各位老师提出批评和指正。独创性声明本人郑重声明: 所呈交的学士学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 签字日期: 年 月 日