多功能超声波测距1_第1页
多功能超声波测距1_第2页
多功能超声波测距1_第3页
多功能超声波测距1_第4页
多功能超声波测距1_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、 河南机电高等专科学校 毕业设计论文论文题目:基于单片机的超声波测距系 部 电子通信工程系专 业 应用电子技术 班 级 应电101 学生姓名 耿晓杰 学 号 100414110 指导教师 魏辉 2013年01月 08日摘 要随着科技的发展,人们生活水平的提高,城市发展建设加快,城市给排水系统也有较大发展,其状况不断改善。但是,由于历史原因合成时间住的许多不可预见因素,城市给排水系统,特别是排水系统往往落后于城市建设。因此,经常出现开挖已经建设好的建筑设施来改造排水系统的现象。城市污水给人们带来了困扰,因此箱涵的排污疏通对大城市给排水系统污水处理,人们生活舒适显得非常重要。而设计研制箱涵排水疏通

2、移动机器人的自动控制系统,保证机器人在箱涵中自由排污疏通,是箱涵排污疏通机器人的设计研制的核心部分。控制系统核心部分就是超声波测距仪的研制。因此,设计好的超声波测距仪就显得非常重要了。本设计采用以AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。整个电路采用模块化设计,由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。相关部分附有硬件电路图、程序流程图。经实验证明,这套系统软硬件设计合理、抗干扰能力强

3、、实时性良好,经过系统扩展和升级,可以有效地解决汽车倒车、建筑施工工地以及一些工业现场的位置监控。关键词:AT89c51;超声波;测距 AbstractWith the development of science and technology, the improvement of people's standard of living, speeding up the development and construction of the city. urban drainage system have greatly developed their situation is co

4、nstantly improving. However, due to historical reasons many unpredictable factors in the synthesis of her time, the city drainage system. In particular drainage system often lags behind urban construction. Therefore, there are often good building excavation has been building facilities to upgrade th

5、e drainage system phenomenon. It brought to the city sewage, and it is clear to the city sewage and drainage culvert in the sewage treatment system. comfort is very important to people's lives. Mobile robots designed to clear the drainage culvert and the automatic control system Free sewage culv

6、ert clear guarantee robot, the robot is designed to clear the culvert sewage to the core. Control System is the core component of the development of ultrasonic range finder. Therefore, it is very important to design a good ultrasonic range finder. At the core of the design using AT89C51 low-cost, hi

7、gh accuracy, Micro figures show that the ultrasonic range finder hardware and software design methods. Modular design of the whole circuit from the main program, pre subroutine fired subroutine receive subroutine. display subroutine modules form. SCM comprehensive analysis of the probe signal proces

8、sing, and the ultrasonic range finder function. On the basis of the overall system design, hardware and software by the end of each module. The research has led to the discovery that the software and hardware designing is justified, the anti-disturbance competence is powerful and the real-time capab

9、ility is satisfactory and by extension and upgrade, this system can resolve the problem of the car availably, building construction the position of the workplace and some industries spot supervision. Keywords: AT89S52;Silent wave;Measure distance 1本设计目的及意义1.1设计目的随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。但就目前技术水平

10、来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题;大力降低潜艇自噪声,改善潜艇声纳的工作环境。无庸置疑,未来的超声波测距仪将与自动化智能化接轨,与其他的测距仪集成和融合

11、,形成多测距仪。随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。在新的世纪里,面貌一新的测距仪将发挥更大的作用。1.2设计意义随着科技的发展,人们生活水平的提高,城市发展建设加快,城市给排水系统也有较大发展,其状况不断改善。但是,由于历史原因合成时间住的许多不可预见因素,城市给排水系统,特别是排水系统往往落后于城市建设。因此,经常出现开挖已经建设好的建筑设施来改造排水系统的现象。城市污水给人们带来了困扰,因此箱涵的排污疏通对大城市给排水系统污水处理,人们生活舒适显得非常重要。而设计研制箱涵排水疏通移动机器人的自动控制系统,保证机器人在箱涵中自由排污疏通

12、,是箱涵排污疏通机器人的设计研制的核心部分。控制系统核心部分就是超声波测距仪的研制。因此,设计好的超声波测距仪就显得非常重要了。这就是我设计超声波测距仪的意义。2 技术指标与功能2.1 主要技术指标 测温范围:0-125 测量距离精度:1cm 实时功率:0.05W 系统发射功率:1mW(max) 工作电流:80mA(min)、90mA(max) 输入电源电压:DC5V2.2 主要功能 实时显示当前测量距离; 实时显示当前测量温度; 具有近距离和远距离两种测量模式; 能够实时报警功能;3超声波测距系统原理 超声波测距的方法有很多种,如相位检测法,声波幅值检测法和往返时间检测法等。相位检测法虽然精

13、度高,但检测范围有限:声波幅值检测法容易受反射波的映像。本系统采用超声波往返时间检测法,其原理是:检测从超声波发生器发出的超声波,经气体介质的传播到接收器的时间即往返时间。往返时间与气体介质中的声速相乘再除以2就是检测的距离。即有: L=V*T/2想要通过时间测量超声波传播的时间的准确性确定距离,声速V就必须要准确测定。实际上声速虽介质的温度,压力等变化而变化。一般条件下,由于大气压力变化很小,因此传播速度就主要受温度的影响。在我们的设计测距系统中采用测量温度的方法来补偿声速,即用测温元件测量实际环境的温度来修正声速。空气中的声速与温度的关系近似用下式表示: V=331.4+0.607T m/

14、s T 此外,准确的测量目标还要能够精确的计算出超声波传播的时间,显然能够确定的时间的单位越小越好,本系统采用的单片机的定时器0来计算时间,单片机采用12M 的晶振,那么本系统可精确到1us 的最小时间单位,计算所测量的距离可精确到0.0001M,显然这已经能够完全地满足我们的设计要求。超声波测距系统的总电路的组成部分有:单片机控制电路,超声波发射电路,超声波接受电路,测温电路,液晶显示电路以及报警电路等共同组成。单片机控制电路负责发生40K的方波信号,经一反向器器后分别送到MAX232的两TTL电平输入端,然后产生+/-9V的方波信号驱动超声波换能器。再由超声波接受回来,此时,就可利用单片机

15、定时出发射和接收的时间差。那么单片机就可计算出实际的距离,并将其显示出来。具体的硬件原理框图如图3-1如示。 微控制器显示报警信号产生驱动信号放大整型发生器接收器图3-1 硬件原理框图4硬件组成4.1单片机控制系统 单片机控制系统以单片机STC89C52为核心,结合其本身的一些外围器件构成。STC89C52单片机是一款应用很普及的89系列的单片机,该单片机具有四个8位的I/O口,内部集成了8K的程序存储器,两个外部中断,两个定时器,支持串口的程序下载,具有应用简单,操作简便,价格便宜等许多优点。因此我们选用这一型号的单片机作为控制器。单片机的晶振频率为12M,这样有利于我们更准确地计算超声波的

16、往返时间,是后面距离精确计算的基础。 图4-1 超声波控制电路图 4.2 超声波发射电路超声波发射电路采用基于MAX232的方波发射电路,电路的前级用74LS04非门输出正反相的40KHz方波信号驱动MAX232后实现从TTL电平到RS232电平的DC-DC转换,输出+/-9V的电压方波,驱动超声波换能器,电路图如下图2所示。由于发射到换能器的电压高,波形完整,因此可以达到很高的发射功率与效率,可以测量到比较远的距离,同时用这个电路发射方波,电路工作稳定,电路功耗很小,也适合单电源供电。所以我们采用这个方案作为发射电路。图4-2 基于MAX232的超声波发射电路图4.3 超声波接收电路超声波接

17、收电路采用集成接收芯片对超声波回波信号进行放大与整形,在这里我们采用SONY公司生产的红外接收专用芯片CX20106A(电路如图3所示),由于它的接收频率在40KHz左右,而且它的外部电路简单易于实现,同时减少了生产调试的麻烦,因此我们采用这个接收方案。CX20106A内部集成了前置放大与限幅放大,总增益可达80dB,带通滤波电路,峰值检波,噪声抑制电路,自动增益控制电路和波形整形电路。可以通过调整外部的电容C2调整它的接收灵敏度,调整外部电阻R6可以的调整它的接收中心频率与增益,它工作稳定,灵敏度高,功耗小,接收回波能力强,所以我们采用这个方案作为接收电路。 图4-3 基于CX20106A的

18、超声波接受电路图 4.4 LCD液晶显示电路 LCD液晶显示电路采用LCD1602液晶显示模块,它可以显示2行*16个字符,完全可以满足我们的设计要求。它独有的蓝色背光电路可以在环境光线较弱的条件下应用,显示清晰,颜色靓丽,价格便宜的特点,是很好的显示设备。同时,还能够根据情况来调节显示的亮度。由于本系统可以不用显示汉字,介于设计成本上的需要,我们采用了这个显示方案。 图4-4 1602液晶显示模块图4.5 温度检测模块检测模块是以数字温度传感器DS18B20为核心,它是DALLAS 公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一

19、根通信线,可以挂很多这样的数字温度计。DS18B20 产品的特点:(1)、只要求一个I/O 口即可实现通信。(2)、在DS18B20 中的每个器件上都有独一无二的序列号。(3)、实际应用中不需要外部任何元器件即可实现测温。(4)、测量温度范围在55 到125摄氏度之间。(5)、数字温度计的分辨率用户可以从9 位到12 位选择。(6)、内部有温度上、下限告警设置。DS18B20 详细引脚功能描述1、GND 地信号;2、DQ数据输入出引脚。开漏单总线接口引脚。当被用在寄生电源下,也可以向器件提供电源;3、VDD可选择的VDD 引脚。当工作于寄生电源时,此引脚必须接地。DS1.8B20 的使用方法。

20、由于DS18B20 采用的是1Wire 总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S52 单片机来说,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传

21、输都是低位在先。本系统采用外部电源供电方式,即:DS18B20的1脚和3脚分别接地和VCC电源.2脚接一个5K的上拉电阻到VCC.这样接法的好处是传感器的检测范围更大.在温度检测时,无需强上拉。 图4-5 基于DS18B20的温度检测电路图5 软件设计本系统的软件设计采用了目前比较流行的编程语言C语言,由于C语言是面对使用者的高级语言,它通俗易懂,书写方便,给我们的编程设计带有很大的方便,我们的编程速度与效率与得到了很大的提高。尤其是在数据运算处理方面,C语言显示出了巨大的优越性。程序首先要初始化要用到的寄存器,内存单元,设置中断触发方式,并初始DS18B20和1602液晶模块,然后控制P3.

22、1口输出12US的高电平,再输出13US的低电平,循环15次便可发射15个频率为40K的方波信号,此后单片机马上启动定时器计时,经过一段时间的延时后,CPU开放中断。当中断产生后,马上关闭定时器,并由单片机处理数据,并将计算结果显示出来。以下是程序设计的流程图如图5-1所示。开始系统初始化发射方波脉冲计时中断数据处理报警执行报警LCD显示返回结束 图5-1 程序设计的流程图结 束 语经过几十天的不断设计制作,我终于完成了我的毕业设计。总体上讲,这一系统测量结果在一定的误差范围内较为准确,测试数据较稳定,我觉得这是本系统中最为成功的地方之一,为此我也十分的满意!总之,通过这次毕业论文,我拓宽了知

23、识面,锻炼了能力,综合素质得到较大提高。而安排毕业设计的基本目的,是在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟和领悟力。尤其是观察、分析和解决问题的实际工作能力。它的一个重要功能,在于运用学习成果,检验学习成果。运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作中,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。

24、让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。致 谢首先感谢本人的导师魏辉老师,在魏辉老师的指导和帮助下才完成了毕业设计和论文工作,魏辉老师认真负责的工作态度,严谨治学的精神和深厚的理论水平都使本人受益匪浅,魏辉老师无论在理论上还是在实践中,都给予了本人很大的帮助,对本人的毕业设计任务和论文书写提出了许多建设性建议,特别是在本人的课题遇到困难时,他给了本人极大的鼓励和帮助,在这里本人向他表示真诚的感谢!感谢母校河南机电高等专科学校的辛勤培育之恩!感谢电子通信工程系提供电子实验室这样好的一个设

25、计、开发环境,使本人学到了许多新的知识和操作技能。感谢和本人在一起进行课题研究的同窗马韦任同学,和他在一起讨论、设计与研究使本人受益非浅。还要衷心感谢电子通信工程系全体老师三年来对本人的教诲,他们不仅使本人的知识、能力得到提高,更重要的是教会了本人怎样提高自己的自学能力,怎样去适应社会。愿母校明天更辉煌,全体老师身体健康、心想事成。参考文献1 徐爱钧,彭秀华.Keil Cx51 V7.0单片机高级语言编程M. 北京:电子工业出版社, 2004.2 张毅刚,彭喜源,潭晓昀等.MCS-51单片机应用设计J.哈尔滨:哈尔滨工业大学出版社, 2000.3 杨振江,李群.流行单片机实用子程序及应用实例M

26、. 西安:西安电子科技大学出版社, 2002.4 李群芳,黄建.单片微型计算机与接口技术(第三版)J. 北京:电子工业出版社, 2008.5 李光飞.单片机C程序设计实例M. 北京:北京航空航天大学出版社, 2002.6 胡萍.超声波测距仪的研制M.计算机与现代化, 2003.10.7 时德刚,刘哗.超声波测距的研究M.计算机测量与控制, 2002.10.8 华兵.MCS-51单片机原理应用D.武汉:武汉华中科技大学出版社, 2002 .5.9 李华.MCU-51系列单片机实用接口技术M.北京:北京航空航天大学出版社, 1993. 6.10 陈光东.单片机微型计算机原理与接口技术(第二版)M.

27、武汉:华中理工大学出版社, 1999.4.11 徐淑华,程退安,姚万生.单片机微型机原理及应用M.哈尔滨:哈尔滨工业大学出版社, 1999. 6. 附 录附录1 超声波测距系统原理图附录2 超声波测距PCB附录3 超声波测距程序#include<reg52.h>#include<intrins.h>/*测距模块驱动*/引脚定义sbitECHO= P06;sbitTRIG= P07;/*函数声明*/void startceju(void);/*/ void Startceju(void) TRIG=1; _nop_(); _nop_(); _nop_(); _nop_()

28、; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TRIG=0; /*12864驱动程序 PSB接GND串行模式*/ sbit RS = P1 7;/片选 高电平有效 单片LCD使用时可固定高电平 sbit RW = P1 6;/数据 sbit E = P1 5;/时钟/函数声明void Write_char(bit start, uns

29、igned char ddata);void Send_byte(unsigned char bbyte);void delaynms(unsigned int ms);void Clr_Scr(void);void Lcd_init(void);void LCD_Write_string(unsigned char X,unsigned char Y,unsigned char *s);void LCD_set_xy( unsigned char x, unsigned char y );unsigned char code num="0123456789.M/S"/*/

30、void Lcd_init(void)/初始化LCD delaynms(200); /启动等待,等LCM讲入工作状态 RS=1; Write_char(0,0x30); /8 位介面,基本指令集 Write_char(0,0x0c); /显示打开,光标关,反白关 Write_char(0,0x01); /清屏,将DDRAM的地址计数器归零 /*/void Write_char(bit start, unsigned char ddata) /写指令或数据 unsigned char start_data,Hdata,Ldata; if(start=0) start_data=0xf8; /写指

31、令 else start_data=0xfa; /写数据 Hdata=ddata&0xf0; /取高四位 Ldata=(ddata<<4)&0xf0; /取低四位 Send_byte(start_data); /发送起始信号 delaynms(5); /延时是必须的 Send_byte(Hdata); /发送高四位 delaynms(1); /延时是必须的 Send_byte(Ldata); /发送低四位 delaynms(1); /延时是必须的/*/void Send_byte(unsigned char bbyte) /发送一个字节unsigned char i

32、; for(i=0;i<8;i+) RW=bbyte&0x80; /取出最高位 E=1; E=0; bbyte<<=1; /左移 /*/void delaynms(unsigned int ms) /延时unsigned char i;for(;ms>0;ms-)for(i=15;i>0;i-);/*/void Clr_Scr(void)/清屏函数Write_char(0,0x01);/*/void LCD_set_xy( unsigned char x, unsigned char y )/设置LCD显示的起始位置,X为行,Y为列 unsigned ch

33、ar address;switch(x)case 0: address = 0x80 + y; break; case 1: address = 0x80 + y; break; case 2: address = 0x90 + y; break; case 3: address = 0x88 + y; break;case 4: address = 0x98 + y; break; default:address = 0x80 + y; break; Write_char(0, address);/*/void LCD_Write_string(unsigned char X,unsigne

34、d char Y,unsigned char *s)/中英文字符串显示函数LCD_set_xy( X, Y ); while (*s) Write_char( 1, *s ); s +;delaynms(1);/*/void LCD_Write_number(unsigned char s)/数字显示函数Write_char(1,nums);delaynms(1);/*DS18b20驱动程序*/延时函数void delay(unsigned int i)while(i-);sbit DQ= P20;/引脚定义unsigned int temp;/温度/初始化函数void Init_DS18B2

35、0(void)unsigned char x=0;DQ = 1; /DQ复位delay(9); /稍做延时DQ = 0; /单片机将DQ拉低delay(90); /精确延时 大于 480usDQ = 1; /拉高总线delay(20);/读一个字节unsigned char ReadOneChar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i-)DQ = 0; / 给脉冲信号dat>>=1;DQ = 1; / 给脉冲信号if(DQ) dat|=0x80;delay(5);return(dat);/写一个

36、字节void WriteOneChar(unsigned char dat)unsigned char i=0;for (i=8; i>0; i-)DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat>>=1;/读取温度unsigned int ReadTemperature(void)unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); / 跳过读序号列号的操作WriteOneChar(0x44)

37、; / 启动温度转换Init_DS18B20();WriteOneChar(0xCC); /跳过读序号列号的操作WriteOneChar(0xBE); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t<<=8;t=t|a;tt=t*0.0625; /将温度的高位与低位合并t= tt*10+0.5; /对结果进行4舍5入return(t);/*/ unsigned char code error1="温馨提示:请保持"unsigned char code error2="测距

38、仪与障碍物距"unsigned char code error3="离在 2CM到4M之间"unsigned char code error4="准备重新测量中."unsigned int time=0; long S=0; bit flag =0;unsigned char dis = 0,0,0,0,; void Conut(void) time=TH0*256+TL0; TH0=0; TL0=0; S=(0.03*temp+151)*time/1000; /算出来是MM 12M晶振 if(flag=1) /超出测量 flag=0; Clr_Scr(); /清屏 LCD_Write_string(1,0,error1); LCD_Write_string(2,0,error2); LCD_Write_string(3,0,error3); LCD_Write_string(4,0,error4); delaynms(60000); delaynms(60000); Clr_Scr(); /清屏 else dis0=S/1000; dis1=S%1000/100; dis2=S%100/10; dis3=S%10; LCD_set_xy( 3

温馨提示

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

评论

0/150

提交评论