版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
专业专业.专注专业专业.专注基于51单片机的超声波测距系统设计学信息学院院:测控技术与仪器专业:学号:姓名:职称:扌旨导老师:O—二年五月诚信承诺书本人郑重承诺:本人承诺呈交的毕业设计〈基于51单片机的超声波测距系统设计》是在指导教师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。本人签名: 日期: 年 月 日基于51单片机的超声波测距系统设计摘要本次系统的设计主要包括两部分 ,即硬件电路和软件程序。硬件电路主要包括单片机电路、发射电路、接收电路、显示电路和电源电路等。本次设计采用以AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路 。整个电路采用模块化设计,由信号发射和接收、供电、显示等模块组成。发射探头的信号经放大和检波后发射出去,单片机的计时器开始计时,超声波被发射后按原路返回,信号被接受电路接受,然后被单片机接收,计数器停止工作并得到时间。软件程序主要由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。它控制单片机进行数据发送与接收,实现数据正确显示在数码管上。另外程序控制单片机消除各探头对发射和接收超声波的影响。相关部分附有硬件电路图、程序流程图。实际的环境对超声波有很大的影响,如外部电磁干扰电源干扰信道干扰等等 ,空气的温度对超声波的速度影响也很大,此外供电电源也会使测量差生很大的误差 。由于知识面有限,作品还有许多可以改进的地方,希望在日后的学习中能将作品完善的更好。关键词:AT89C51;超声波;测距51MCU-basedUltrasonicRangingSystemDesignAbstractThesystem'sdesignincludestwoparts,namelythehardwarecircuitandsoftwareprogram.Thehardwarecircuitincludesamicrocontrollercircuit,thetransmittingcircuit,thereceivingcircuit,displaycircuitandthepowersupplycircuit.ThedesignusesAT89C51microcontrollerasthecoreoflow-cost,high-precision,miniaturizationofdigitalhardwarecircuitoftheultrasonicrangefinder.Theentirecircuitismodularindesign,bythesignaltransmitterandreceiver,powersupply,displaymodules.Transmittedprobesignalisamplifiedanddetectorwerelaunchedoutsingle-chiptimerisstarted,theultrasonicwaslaunchedaftertheoriginalwayback,asignalisacceptedbyareceivingcircuit,thenMCUreceivesthecounterstopworkingandtime.Softwareprogramfromthemainprogram,presetsubroutineemissionsubroutine,receivesubroutine,subroutinesmodules.Itmicrocontrollertosendandreceivedata,datadisplaycorrectlyinthedigitalcontrol.Inaddition,program-controlledmicrocontrollertoeliminatetheimpactoftheprobefortransmittingandreceivingultrasonicwaves.Withrelevantpartsofthehardwarecircuitdiagram,processflowchart.Actualenvironmenthasagreatinflueneeontheultrasonicwaves,suchasanexternalelectromagneticinterfereneepowerinterferingchannelinterferenee,etc.,thetemperatureoftheairisalsoagreatinflueneeonthespeedoftheultrasonicaddition,thepowersupplytothemeasureddifferentialrawlargeerrors.Duetothelimitedknowledge,workstherearemanyareasforimprovement,canworkbetterinthefuturestudy.Keywords:AT89C51;Ultrasonic;Ranging1•绪论1.1课题背景及重要意义1.2研究内容1.3主要任务及目标:.33.2.整体设计思路.33.2.1硬件整体设计2.2软件整体设计思路3.硬件设计3.1对超声波的认识 8 3.2器材的选择 9 3.3.单片机最小系统3.3.单片机最小系统 1.3 3.4超声波发射电路 .14.3.5超声波接收电路设计 1.51.9 3.6显示电路设计1.9 4.软件设计4.软件设计 .19 .1.9..1.9.4.1主程序设计4.2中断处理程序4.2中断处理程序 24 4.3计算及显示模块设计 27.4.4作品展示: .3.0.5.设计总结 31 参考文献 32 谢辞 34 系统整体电路图 35 程序代码 36 1.绪论1.1课题背景及重要意义近年来,随着电子测量技术的发展,运用超声波作出精确测量已成可能 。超声波拥有许多优点:超声波测量精确高,成本低,性能稳定则备受青睐。超声波是指频率在20kHz以上的声波,它属于机械波的范畴。超声波也遵循一般机械波在弹性介质中的传播规律,如在介质的分界面处发生反射和折射现象 ,在进入介质后被介质吸收而发生衰减等 。正是因为具有这些性质,使得超声波可以用于距离的测量中。随着科技水平的不断提高,超声波测距技术被广泛应用于人们日常工作和生活之中。一般的超声波测距仪可用于固定物位或液位的测量,适用于建筑物内部、液位高度的测量等。由于超声测距是一种非接触检测技术 ,不受光线、被测对象颜色等的影响,较其它仪器更卫生,更耐潮湿、粉尘、高温、腐蚀气体等恶劣环境,具有少维护、不污染、高可靠、长寿命等特点。因此可广泛应用于纸业、矿业、电厂、化工业、水处理厂、污水处理厂、农业用水、环保检测、食品(酒业、饮料业、添加剂、食用油、奶制品)、防汛、水文、明渠、空间定位、公路限高等行业中。可在不同环境中进行距离准确度在线标定 ,可直接用于水、酒、糖、饮料等液位控制,可进行差值设定,直接显示各种液位罐的液位、料位高度。因此,超声在空气中测距在特殊环境下有较广泛的应用 。利用超声波检测往往比较迅速、方便、计算简单、易于实现实时控制,并且在测量精度方面能达到工业实用的指标要求,因此为了使移动机器人能够自动躲避障碍物行走 ,就必须装备测距系统,以使其及时获取距障碍物的位置信息(距离和方向)。因此超声波测距在移动机器人的研究上得到了广泛的应用 。同时由于超声波测距系统具有以上的这些优点,因此在汽车倒车雷达的研制方面也得到了广泛的应用。1.2研究内容设计一个超声波测距系统,以单片机为控制核心,实现测距功能初步掌握模拟、数字电路分析和设计的基本方法。包括:(1) 根据设计任务和指标,初选电路;(2) 通过调查研究、设计计算,确定电路方案;培养一定自学能力和独立分析问题、解决问题能力。包括:(1)学会自己分析、找出解决问题的方法;(2)对设计中遇到的问题,能独立思考,查阅资料,寻找答案。1.3主要任务及目标:设计一个单片机最小系统,有led显示和按键;设计一个超声波测距模块;3•系统要求具有一定的可扩展性;4.毕业论文严格按学校的要求撰写;2•整体设计思路2.1硬件整体设计在开始做毕业设计之前,我需要对要所要完成的作品有一个大概的掌控,特别是对超声波测距的原理和超声波测距系统的组成部分能有一个清晰的认识。超声波测距的原理:超生波测距的原理其实很简单,也就是大自然中蝙蝠捕食的原理,首先需要超生波发射装置,发出超声波,此时时间记作T1,当超声波收到障碍物的阻挡时,就会被反弹回来,然后就被超声波接受装置所捕捉到,这时时间记作T2,假设此时的声速为V,则超声波测距装置与障碍物之间的距离S为:S=V*(T2—T1) /2。 (式2.1)超声波的原理图如图2.1所示:图2.1超声波的测距原理在我动手之前不是说能够一气呵成的完成作品,如果那样做的话,万一哪一部分出了问题,那么我将很难检查的出来,所以效率很低。因此决定分模块来完成我的作品,首先用仿真软件进行仿真,确定好布线器材等,就可以先从硬件开始着手了,超声波测距系统的组成部分:1.单片机最小系统 2.超声波发射部分 3.超声波接受部分 4.显示部分;我只要一个一个模块的实现,这样效率就能提高很多完成好硬件的功能,接下来就需要实现软件的功能了,本次设计的程序需要完成的功能有:(1) 超声波的发射和接收控制(2) 对回波信号的检测(3) 测距时间到距离的换算(4) 距离的显示从整体看超声波测距的原理很简单,但是我们要想获得一个高精度的测距结果,还需要考虑和多方面的东西,比如说:测距的温度会对结果有很大的影响。而且在器材选用方面,对测距结果也会带来很大的误差。因此,在完成作品的过程中,还需要对硬件和软件有一个更加细致的考虑。整体电路的控制核心为单片机AT89C51。超声波发射和接收电路中都对相应信号进行整形及放大,以保证测量结果尽可能精确。超声波探头接OUT口实现超声波的发射和接收。整体结构图包括超声波发射电路,超声波接收电路,单片机电路,显示电路等几部分模块组成。由于超声波在发射和接收的过程中会有能量的损失,因此在超声波发射与接收电路还要加入放大电路 。在发射后把信号放大,接收前也要把还再次放大,进行多级放大才能达到发射和接收的效果。
整体电路结构图如图2.1.1所示:超声波发射电路超声波接收电路超声波发射电路超声波接收电路电源电路二>AT89C51电路电源电路二>AT89C51电路显示电路图图2.1.1超声波测距原理图专业专业.专注. . 专业.专注数字显示仿真如图2.1.2所示:ALE■:T.H.n□J2-H»44数字显示仿真如图2.1.2所示:ALE■:T.H.n□J2-H»44pan-;dFELWMpaianizpcmnpel胡gFDJSAJISpnAAKF&TMfTYOrUH-.W*IMJBJDFZaOAIIF2L4ACrz»nFZfiAfcFZJrt.®P3JMX»P3Ltn»Fiizfnpumr*S*T1F3TJWF图2.1.2数字显示仿真2.2软件整体设计思路参照硬件的设计思路,软件我也将采取模块化的设计思路来进行,这样对提高效率有很大的帮助。本设计采用的是模块化的思路来进行设计和编写程序,程序主要由系统主程序和中断程序构成 。主程序完成单片机的初始化,超声波的发射和接收、计算超声波发射点与障碍物之间的距离、数码管显示等。硬件设计3.1对超声波的认识超声波简介:超声波技术是一门以物理、电子、机械、以及材料科学为基础的、各行各业都可使用的通用技术之一。超声波技术是通过超声波的产生、传播以及接收的物理过程完成的。该技术在国民经济中,对提高产品质量,保障生产安全和设备安全运作,降低生产成本,提高生产效率特别具有潜在能力。因此,我国对超声波的研究特别活跃。超声波的三种形式:超声波在介质中可以产生三种形式的振荡波 :横波,质点振动方向垂直于传播方向的波;纵波,质点振动方向与传播方向一致的波;表面波,质点振动介于纵波和横波之间,沿表面传播的波。横波只能在固体中传播,纵波能在固体液体中和气体中传播,表面波随深度的增加其衰减很快。为了测量各种状态下的物理量多采用纵波形式的超声波。超声波的物理性质:超声波的反射和折射当超声波传播到两种特性阻抗不同介质的平面分界面上时 ,一部分超声波被反射;另一部分透射过界面,在相邻介质内部继续传播。这样的两种情况称之为超声波的反射和折射。超声波的衰减超声波在一种介质中传播,其声压和声强按指数函数规律衰减。超声波的干涉如果在一种介质中传播几个声波,于是产生波的干涉现象。由于超声波的干涉,在辐射器的周围形成一个包括最大最小的扬声场 。
3.2器材的选择超声波传感器介绍:据我查阅资料了解到超声波发生器可以分为两大类 :一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。他们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。压电式超声波发生器实际上是利用压电晶体的谐振来工作的。它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。超声波传感器结构如下:.图3.2.图3.2超声波传感器外部结构弓IJ91P AmE锥形喇叽庄电品片r引卿图3.2.1超声波传感器内部结构专业专业.专注专业专业.专注由于市场上的超声波种类很多,通过我查阅资料,分析了超声波传感器的升压能级和灵敏度的关系后,发现在超声波测量系统中,当频率取得太低,则外界的杂音干扰较多,超声波接收的杂波就多,灵敏度就不高;当频率取得太高,在传播的过程中能量损失比较大 ,虽然分辨力比较高,但是测量距离变短。通过我的综合分析,找到了比较好的频率段40KHz。如下图322超声波传感器的升压能级图和图323超声波传感器的灵敏度图。专业专业.专注专业专业.专注图322超声波传感器的升压能级叫灵艇-50 3? 40 43kHz图3.2.3超声波传感器的灵敏度专业专业.专注专业专业.专注因此本次设计选用的探头是40KHZ的收发分体式超声传感器,由一支发射传感器UCM-T40KI和一支接收传感器UCM-R40KI组成,其特性参数如表322所示。传感器特性参数表表3.2.2传感器特性参数表型号UCM-T40K1UCM-R40KQ结构开放式开放式使用方式发射接收中心频率40±1KHZ38±1KHZ频带宽2±0.5KHZ2±0.5KHZ灵敏度IIOdBVjubar-65dBV/ubar声压115dBmin(0dB=0.02mPa) -70dBmin(OdB=1Vubar)指向角75°80°容量2500±25%pF2500±25%pF通过自己查阅相关资料,了解到要想提高结果的精度就要考虑的更加全面,因此,我又详细的分析了一下超声波测距的原理。超声波测距的方法有多种:如往返时间检测法、相位检测法、声波幅值检测法。本设计采用往返时间检测法测距。其原理是超声波传感器发射一定频率的超声波 ,在空气中传播,到达测量目标或障碍物后反射回来,并在超声波接收器中进行频率的比较和筛选,并放大有效信号记录发射和接收的时间差,并通过S=V*(T2—T1)/2的计算公式测试传输出距离。当进行距离的测量时,由安装在同一水平线上的超声波发射器和接收器完成超声波的发射与接收,并且同时启动定时器进行计数。首先由超声波发射探头向前方发射一定频率的超声波并同时启动定时器计时 ,超声波在空气中传播的途中一旦遇到障碍物后就会被反射回来,当然超声波在传播的过程中会有能量的损失,因此在超声波的接收部位就会有超声波放大装置,将有效的超声波信号进行放大,当接收探头收到反射波后就会给负脉冲到单片机使其立刻停止计时。这样,定时器就能够准确的记录下了超声波发射点至障碍物之间往返传播所用的时间t(s)。考虑到测量的距离在误差允许的范围内,我们将超声波在常温下空气中的传播速度大约为340m/s,所以障碍物到发射探头之间的距离为:S=340Xt2=170Xt (式3.2)因为单片机内部定时器的计时实际上就是对机器周期T的计数,而本设计中时钟频率fosc取12MHz,设计数值N,贝U:T=12/fosc=1卩s(式3.2.1)t=NXT我X0.000001s)((式3.2.2)S=170XXT=170X/1000000(m)(式3.2.3)在程序中按式S=170XNXT=170XN/1000000计算距离。3.3.单片机最小系统单片机最小系统是其他拓展系统的最基本的基础 ,单片机最小系统是指个真正可用的单片机最小配置系统即单片机能工作的系统。对于AT89C51单片机,由于片内已经自带有了程序存储器 ,所以只要单片机外接时钟电路和复位电路就可以组成了单片机的最小系统了 。单片机的最小系统如图3.3所示。
TH◎OlJyJ申NJI6■TIJ?-4J-f-九^-r1111rTH◎OlJyJ申NJI6■TIJ?-4J-f-九^-r1111r11号irJ3i-J3333TJ—*pppppppppppppppXX髻:二匕40POOP:4?05P:5P&"EAALEPSEXP2_P26P25P24P23PI:P21393?r—3fi353433323130酋r25242322SIATESC51图3.3单片机最小系统原理图3.4超声波发射电路通过我的综合分析,用单片机P0.1发射一组方波脉冲信号,其输出波形稳定可靠,但输出电流和输出功率很低,不能够推动发射传感器发出足够强度的超声信号,所以超声波发射电路是由超声波探头和超声波放大器组成 。超声波探头将电信号转换为机械波发射出去,而单片机所产生的40kHz的方波脉冲需要进行放大才能将超声波探头驱动将超声波发射出去 ,所以发射驱动实际上就是一个信号的放大电路,本设计选用74LS04芯片进行信号放大,超声波发射电路如图3.4所示KD图3.4超声波发射电路工作时,由单片机产生40kHz的脉冲从P0.1口向超声波的发射电路部分发出信号,再经74LS04放大电路放大后,驱动超声波探头将超声波发射出去。3.5超声波接收电路设计我们都知道,超声波在传播过程中,能量会衰减的很厉害,此时,超声波接受装置就会受到很大的阻碍。因此,我们还需设计一个超声波放大电路,让超声波接收装置在接受微弱的超声波信号时 ,能将其放大,让超声波接受装置能够识别。超声波接收电路主要是由集成电路 CX20106A芯片电路构成的,CX20106A芯片电路可以对超声波信号进行放大 、限幅、带通滤波、峰值检波、整形、比较等功能,比较完之后超声波接收电路会输出一个低电平到单片机去请求中断,当即单片机停止计时,并开始去进行数据的处理。CX20106A是一块功能很强大的芯片,该芯片的前置放大器具有自动增益控制的功能,当测量的距离比较近时,放大器不会过载;而当测量距离比较远时,超声波信号微弱,前置放大器就有较大的放大增益效果。CX20106A芯片的5脚在外接电阻对它的带通滤波器的频率进行调节 ,而且不用再外接其他的电感,能够很好地避免外加磁场对芯片电路的干扰,而且它的可靠性也是比较高的。CX20106A芯片电路本身就具有很高的抗干扰的能力,而且灵敏度也比较高,所以,能满足本设计的要求。超声波接收电路如图3.5所图3.5超声波接收电路由于在制作过程中,知识面过于狭窄,因此,选择了集成模块的超声波发射和接受装置:HR-SR04超声波集成模块1、产品特点:HC-SR04超声波测距模块可提供 2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。基本工作原理:⑴采用10口TRIG触发测距,给至少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过I0口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;2、实物图:
+5V融农+5V融农fP:■输人凰响措号齡出GND图3.5.1超声波测距模块如上图3.5.1所示接线VCC供5V电源,GND为地线,TRIG触发控制信号输入,ECH0回响信号输出等四支线。3、电气参数:表3.5.2HC-SR04电器参数电气参数HC-SR04超声波模块工作电压DC5V工作电流15mA工作频率40Hz最远射稈4m最近射稈2cm测量角度15度输入触发信号10uS的TTL脉冲输出冋响信号输出TTL电平信号,与射程成比例规格尺寸45*20*15mm
3.6显示电路设计由于我设计的超声波测距系统,最远只能测量4m的距离,因此选用4位LED显示。根据数码管的一些选择,最终筛选出了最优的设计方案:在显示电路的设计上,利用单片机的P0〜P2口来控制数码管显示,这种接法虽然比较浪费管脚资源,但是对单片机的理论知识要求相对比较低 ,而且超声波发射和接收电路并不需要很多的管脚来支持,所以我选择这种方案。数码管的选择上,为了使数码管亮度大,我选择了共阳极的数码管,数码管管脚接到低电平发亮。显示及其驱动电路的原理图如图3.6所示。^^證注從^^*2P^^證注從^^*2P图3.6显示电路原理图软件设计4.1主程序设计主程序对整个单片机系统进行初始化后,先将超声波的回波接收标志位置位并且使单片机P1.0端口输出一个低电平用来启动超声波发射电路 ,同时将定时器TO启动,然后调用距离计算的子程序,再根据定时器TO记录的时间计算出所需要测量的距离,然后再调用显示子程序,再将测出的距离以十进制的形式送到数码管显示。最后主程序通过对回波信号的接收,完成后续的工作,假如标志位清零则说明接收到了回波信号,那么主程序就返回到初始端重新将回波接收标志位置位并且在单片机的P0.1端口上发送低电平到超声波发射电路,就这样,连续不断地运行,循环不断地工作用来实现测距。超声波接收电路在接收到超声波回波后,通过CX20106A电路进行检波整形比较,并向单片机发出有效信号,单片机通过外部中断的改变记录回波信号的到达时间,中断发生之后就是表示已经接收到了回波信号,这个时候停止计时,并且读取计数器中的数值,这个数值就是需要进行测量的时间差的数据 。程序中对测距距离的计算方法是按 S=17XN/100000=0.00017XN(m)进行计算的,其中,N为计数器的值,声速的值取为340m/s。系统主程序流程图如图4.1所示:{专业{专业.专注{专业{专业.专注图4.1系统主程序流程图系统主程序如下:voidmain(void)uchari,j;专业专业.专注专业专业.专注for(i=0;i<255;i++)for(j=0;j<255;j++);//延时,等待系统外围复位完成sys_init();//初始化display。;//显示sta_flag=0;//标准复位sta_flag=0;waitforstarting:while(START);for(i=0;i<20;i++)delay1ms();if(START)gotowaitforstarting;BUZZER=0;i=100000;while(i--);BUZZER=1;i=100000;while(i--);TR0=1; //启动定时器0ET0=1;testtemp();while(1){专业{专业.专注{专业{专业.专注if(sta_flag)//60MS到了,超声波已经发送////重新启动转换//刷新显示//计算距离//转化成BCD码//标志清零{while(0==CSBIN);TR1=0;jsh=TH1;jsl=TL1;if(15==count){temp=wd();count=0;testtemp();display();}computer。;hextobcd();sta_flag=0;}}}voidsys_init(void)//等待超声波返回//停止计数uchari;for(i=0;i<29;i++)//显示清零{num[i]=0;}TMOD=0x11;TH0=0x15;TL0=0xA0;P0=0;CNT=0;CSBIN=1;EA=1;Init_LCD();//超声波发送关闭//开放总中断4.2中断处理程序负责计算距离是INT0的中断程序。根据前面的对超声接收电路的分析,在超声波集成模块接收到超声波回波信号后 ,超声波接收电路就会产生一个低电平送至单片机的P0.0引脚,使系统中断,则系统转入中断处理程序。进入中断处理后,定时器T0和外部中断0就立即被关闭,同时读取时间值,调用计算距离函数,并给回波接收标志位清零即成功接收到回波信号 。中断程序如下:void zd0()interrupt1 //T0中断用来计数器溢出,超过测距范围flag=1;//中断溢出标志专业专业.专注. . 专业.专注}voidzd3()interrupt3 //T1中断用来扫描数码管和计800ms启动模块{TH1=0xf8;TL1=0x30;Display。;DIDI();timer++;if(timer>=400){timer=0;TX=1; //800ms启动一次模块_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();TX=O;}}voidmain(void){TMOD=Ox11; //设TO为方式1,GATE=1;TH0=0;TL0=0;TH1=0xf8; 〃2ms定时TL1=0x30;ET0=1; //允许T0中断ET1=1;//允许T1中断TR1=1;//开启定时器EA=1;//开启总中断while(1)while(!RX);//当RX为零时等待TR0=1;//开启计数while(RX);//当RX为1计数并等待TR0=0;//关闭计数Count();//计算}}4.3计算及显示模块设计由于计算公式为S=17XN/100000=0.00017XN(m),可以从中看出如果想要得到具体的距离的值,就只需要得到从超声波发送开始到接收到超声波这个过程中定时器0的计数的次数。本设计中,采用了4位共阳极连接的数码管显示来显示与障碍物之间的距离,同时数码管与P1口连接进行动态的段扫描。由于这个距离值是不断变化的,所以,这个数码管的显示的过程是在外部中断0发生后才进行的。所以当主程序给超声波发生器发送了信号后 ,此时中断和定时器0就已经,电路被打开,并开始计时了。当超声波接收电路接收了到回波信号的同时时,电路专业专业.专注专业专业.专注专业专业.专注便会产生一个低电平到单片机的P0.0端口,在单片机检测到该信号后,定时器计时就将停止,同时定时器的计数的次数将被提取出来,这样就可以得到以m为单位的测量的距离值。C程序如下:VoidCount(void){time=TH0*256+TL0;TH0=0;TL0=0;〃time=23529;//算出来是mif((S>=7000)||flag==1)////算出来是mif((S>=7000)||flag==1)//超出测量范围显示-”{flag=0;flag_beep=0;TOC\o"1-5"\h\zdisbuff[0]=10 ; // “”disbuff[1]=10 ; // “”disbuff[2]=10 ; // “”disbuff[3]=10 ; // “”BEEP=1;}elsedisbuff[0]=S/1000;disbuff[1]=S/100%10;disbuff[2]=S/10%10;disbuff[3]=S%10;}}专业专业.专注专业专业.专注4.4作品展示:设计总结通过这次毕业设计对我来说收获甚多。刚开始的时候毫无头绪,在反复的查阅相关资料的情况下,慢慢的终于有了大概的思路,但是由于超声波测距的课题涉及知识面很广,对于设计菜鸟来说的我,实在是力不从心。但是在三个月的刻苦学习和与老师的帮助下,很快设计有了眉目,我的作品也慢慢步入正轨。三个月的辛苦是值得的,一个毕业设计把我整个大学期间的知识都用上了,还让我学到了很多我没接触过的内容,让我受益匪浅,同时也锻炼了我的动手能力,让我对超声波有了更进一步的认识。本次毕业设计,虽然已经完成了作品的制作,但是还有很多不完美的地方。经过反复试验,作品还存在较大的误差,通过分析可能是以下原因产生的:(1) 环境的温度所引起的误差环境温度的影响是本设计在不同的温度条件下测量数据存在误差的主要原因,根据有关资料,在当温差较大时,前后两次测距的误差肯定前后相差也比较大。而本设计中并没有温度补偿模块,由于知识面有限,只能完成超声波测距的基本功能,希望随着日后知识面的宽广,能将作品完成的更加完美。(2) 不同障碍物表面材料的不同介质引起的误差因为表面粗糙的障碍物介质要比光滑介质的测量结果要差 ,如果障碍物的发射面比较粗糙会引起发射信号散射开那么回波信号就会减弱 ,这样就会导致测量结果的误差增大。(3) 超声波模块的感应角的影响两个超声波探头即发射探头和接收探头和障碍物之间存在一个几何角度反射波入射到探头存在一定的角度,当这个角度过大时,这就会造成测量较大的误差,或者说根本接收不到回波信号。特别是在障碍物的距离较小的时候这个误差就成为了距离测量的主要误差的原因,但是这种误差是可以尽量减小的,利用发射能力强、散射小的探头,或者多用几个探头。余波信号的影响在测量时有一部分的声波是从发射探头直接转收到接收探头的 ,这部分声波即是余波信号,这种余波对测量的干扰是挺大的。但是这种干扰能够通过别的方法进行处理,比如软件算法的方法去消除直达波的干扰 。当芯片收到信号波时自动判定收到的超声波信号是发射的声波衍射而返回来的信号时就会自动忽略掉,继续去等待检测在这个工作周期内是否有有效反射波反射回来 ,如果有就进行处理,没有就进行新的一次测量。参考文献文U洪恩.汽车倒车防撞超声波雷达的设计 [J].仪表技术,2004,15(04):55〜60.刘典文等.基于单片机STC89C51设计的超声波测距仪[J].中国新技术信产品,2010,8:16〜17.
梁小流,陈炳森,梁建和.基于89S52汽车防撞雷达系统设计[J].机电工程技术,2011,10(4):49〜51.胡萍.超声波测距仪的研制[J].计算机与现代化,2003,7(10):21〜23.⑸时德刚,刘哗•超声波测距的研究[J].计算机测量与控制,2002,9(10):31〜33.[J].ASHRAEJournal,2004,⑹苏伟,巩壁建.超声波测距误差分析[J].传感器技术,2004,[J].ASHRAEJournal,2004,[7]TomR.Watt.Coolingourtomorrowseconomically17(4):287〜292[8]翟桂荣.红外解调器CX20106A原理与检修[J].家庭电子,1997(7):33〜55.谢辞时光匆匆,转眼间大学四年就快要过去了,回首四年,我们拥有太多的东西,同时也失去太多。不过无论怎样,我觉得我变得更加成熟了,对于明天我拥有了更加多的底气。一路走来,若是没有你们的帮助,可能现在我将不是现在的我。千言万语都无法表达我对那些帮助我的人的感谢之情 。真是因为你们的存在,我将会有更多的动力,让我在大学四年的时光里能够抛洒我的青春,让我从一个懵懂的小孩变成一个成熟的大人。在生活上,这是我们班的同学的帮助让我走出一段有一段难熬的时光,也是你们的一个加油”让我一次又一次鼓起勇气向未来挑战,如果没有你们我的世界将会变得一片灰暗,谢谢你们陪伴了我四年的时光,我相信我们的友谊一定会地久天长;在学习上,我要感谢那些帮助过我的老师们,正是你们耐心的讲解,才让我取得今天的成绩,当然在这次的毕业设计中,也是你们一次又一次的提醒和指导才让我能顺利的完成毕业设计 。我觉得我是一个幸运的人,能在生活中遇见到你们。再和你们相处的时光里,我能出你们每个人的身上学到我自己身上所没有的东西 ,真是你们身上的闪光点让我发现自己的不足,也真是这样才不断的激励我勇敢的前进,你们就是我的榜样,虽然现在的我还有许多不足的地方,但是我还想和你们做一辈子的朋友,能和你们在一起生活我感到很幸福。当然最后我还要感谢我可爱的母校,希望你能培养出更多的人才,让我们的国家变得更加强大。专业专业.专注专业专业.专注系统整体电路图专业专业.专注专业专业.专注二liL丄^1Er「JhJtJlJCd^疋匸NJNJ也NJJJJ4命「!■£J!i$2411l<Jh'lJJr.llJL;lJJKJ"JLA严pLAnrnr出rr一厶丄丄-i丁出-uTnTl-wTn—tl挣沖L|一FITj~r■O-:-M亠B『低J忑誉1系统整体电路图程序代码//超声波测距系统 12M晶振〃#inelude"REG2051.H"#include<REGx51.H>#includevintrins.h>〃#include"math.h"//定义LED//定义LED显示数据为P1口#defineOFFP3sbitled_1H=P2A7;sbitled_1H=P2A7;sbitled_2H=P2A6;sbitled_3H=P2A5;//定义数码管十位片选//定义数码管个位片选sbitDQ=P3A4;〃sbitDQ=P3A4;〃18b20定义端口sbitbell=P2A2;sbitSout=P3A7;//定义超声波输出引脚sbitk仁P1A0;sbitk2=P1Al;sbitk3=P1A2;//定义按键bitr=0;bitflag=0;bitTO=0;bittu=0;〃18b20存在标志位0为不存在,1为存在//定义外部中断1标志位//定义T1中断1标志位//定义温度正、负标示位0为正1为负bitshow_temperature=0;ucharT_C;uinti;uintdis;floatspeed=346.50;//定义实形距离变量uchartemp[3]={0xF7,0xF7,0xF7};〃*——*///显示段代码表uchar定义显示暂存区codeLEDO[]={0x28,0xEE,0x32,0xA2,0xE4,0xA1,0x21,0xEA,0x20,0xA0,0xF7,};//0~9-//第一位数码管显示段码ucharcodeLED1[]={0x08,0xCE,0x12,0x82,0xC4,0x81,0x01,0xCA,0x00,0x80,};〃0.~9.带小数点//voidtime_11uS(uintx);voidLED_T_C(uintx);uintRead_Temperature(void);voidwrite(charwr);uintread(void);ucharreset(void);// //延时11US//写1820//读1820//复位1820- 测距部分涵数声明voidled_display(void);voidtime(uintx);voidSend_40K(void);voidLED_temp(uintx);voidTT1(void);uintC_speed(void);floatDis_count();//LED显示函数//延时1mS//输出20个40k方波函数//显示转换//装入初值//根据温度查表取声速值//距离计算函数// // //延时11usvoidtime_11uS(uintx){for(;x>0;x--);}// ucharreset(void){r=0;DQ=1;_nop_();_nop_();DQ=0;time_11uS(50);DQ=1;//复位1820//置低电平//等待500us//置高电平time_11uS(6); //等待66USwhile(DQ==0){r=1;} //读响应_nop_();return(r); //返回响应值 仁存在,0不存在// voidwrite(charwr){// voidwrite(charwr){uchari;for(i=8;i>0;i--){DQ=0;//向总线上写一个字节//写8位,一位一位地写//设为低电平,写开始_nop_();_nop_();_nop_();_nop_();DQ=wr&0x01; //最低位移出time_11uS(6); //延时66US确保数据送出DQ=1; 〃停止wr=wr/2; //算法,相当于右移1位}time_11uS(1);}// uintread(void) //从总线上读取2个字节{uchari;uintv=0;for(i=16;i>0;i--){DQ=0; //开始信号_nop_();_nop_();v>>=1;DQ=1; //恢复_nop_();_nop_();_nop_();_nop_();//延时if(DQ)v|=0x8000; //数据拼装time_11uS(6); //延时. . 专业.专注. . 专业.专注DQ=1;return(v);}// uintRead_Temperature(void){uintc;reset();tu=0;if(r){write(0xCC);write(0xBE);//复位18b20//跳过多传感器识别skiorom//发读内部9字节内容指令c=read();//读两个字reset();write(0xCC);write(0x44);//读完两个字节后复位//跳过多传感器识别skioromif(c>0x1000){c=c+1;tu=1;}c>>=4;returnc;}else{returnr;}//返回0XFF表示未检测到18B20// voidLED_T_C(uintx){if(tu==1){temp[2]=0x26;} 〃-2位else{temp[2]=0x37;}if(r){temp[1]=LED0[x%10];} 11-1位else{temp[1]=0xF7;/*-*/}if(r){temp[0]=LED0[x/10];} //个位else{temp[0]=0xF7;/*-*/}}// // voidtime(uintx) //普通延时函数{uintj;for(j=0;j<x;j++){for(i=0;i<122;i++);//延时1mS}}// voidSend_40K(void) //输出15个40k方波函数{for(i=30;i>0;i--){_nop_();_nop_();_nop_();Sout=!Sout;}}// floatDis_count() //距离计算函数{floatcm;cm=TH1*256+TL1;cm-=7610; //减去限制10M的初值+可调误差值专业专业.专注专业专业.专注cm*=speed;cm/=20000;returncm;//计算距离uS*34650m//转换为s单程}// voidled_display(void){//LED显示函数LED_Data=temp[2];led_3H=0;//显示个位,带小数点time(5);led_3H=1;LED_Data=temp[1];led_2H=0;//显示-1位,无小数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版智慧城市建设项目合同含大数据应用条款3篇
- 二零二五年度口腔医疗集团管理岗位劳动合同模板3篇
- 二零二五年度#筑梦的舞者#舞蹈赛事转播权购买合同3篇
- 2024版房屋租赁与装修合同
- 二零二五年度养老院医疗护理服务劳务合同规范3篇
- 2024汽车制动系统全面检测与维修合同
- 2024年项目专用施工铁栅栏采购合同2篇
- 二零二五年度化妆品店装修承包合同
- 2024版北京家政服务合同范本
- 2025版酒店信息化建设投资合作协议书3篇
- 昆明市公交集团车载视频监控平台升级方案20191025
- 一流课程申报
- 高中体育特长生名校报考路径分析课件
- 主要建筑材料碳排放因子查询表
- 建筑施工室内装饰设计施工图讲解
- 冠寓运营管理手册
- 耳部铜砭刮痧技术评分标准
- 玻璃幕墙施工方案幕墙
- 抗精神疾病药物与麻醉课件
- 数据库原理与应用课后习题答案李春葆 编
- 因公出国教育谈话记录
评论
0/150
提交评论