基于单片机的超声测距仪器系统设计.docx
《基于单片机的超声测距仪器系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的超声测距仪器系统设计.docx(43页珍藏版)》请在冰豆网上搜索。
基于单片机的超声测距仪器系统设计
基于单片机的超声测距系统设计
摘要
超声波测距法迅速,方便,计算简单,易于做到实时控制,提过基于单片机的超声测距系统的设计能更加深入地了解单片机的实际应用。
本课题完成整个超声波测距系统设计,包括单片机控制电路,发射电路,接收电路,LCD显示电路和温度补偿电路。
本课题硬件部分设计采用最小系统板和所需的超声波收发电路。
程序由计算机仿真并烧入单片机实际调试,最终实物是一个能在5至200cm范围内准确测量距离的便携式系统,经实际测量误差控制在5%以内。
该系统的设计过程加深了对单片机的理解。
本设计的产品也能在实际生活中有很广泛的应用。
关键词:
超声波,测距,补偿,单片机
DESIGNOFULTRASONICRANGING
BASEDONSINGLECHIP
ABSTRACT
Ultrasonicrangingissoquickanduseful,itcanbeeasytotranslationedandbecontroledontime.WecanlearnmuchaboutsinglechipduringthedesignofUltrasonicrangingbaseonsinglechip.
Thesystemismadeupbysinglechippart,sendandreceivepart,LCDpartandtemperaturedetectivepart.Withthehelpingofsmallestsystemandcomputer,theproductwhichcandetectivethedistancefrom5cmto200cmcomesout.Theerrorisonly0.5%.Thesystemcanhelpyoutakeagoodlearningaboutsinglechip.Ontheotherhand,thesystemcanbeusedinmanyenvironmentbyitspracticality.
KeyWords:
Ultrasonic,Ranging,temperaturedetective
第1章绪论
1.1课题的背景和意义
1.1.1课题的背景
随着科技的迅猛发展越来越多科技成果被广泛的运用到人们的日常生活当中,给我们的生活带来了诸多方便。
本课题就是本着这个宗旨出发,利用超声波的特性来为我们服务。
由于超声波指向性强,因而常于距离的测量。
超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时[1]。
超声波在空气中的传播速度为v,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离s,即:
s=vt/2。
这就是所谓的时间差测距法。
利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人,汽车安全,海洋测量等上得到了广泛的应用[2]。
1.1.2课题的意义
通过本课题可以帮助学习理解单片机和超声波这两种时下发展最快的技术。
制作基于单片机的超声波测距仪,需要以超声波技术为基础的外围超声波收发电路,以及以单片机技术为核心的主控制器。
是学习电子产品设计的很好途径。
利用超声波测距,在许多方面有很多优势。
因此,本课题的研究是非常有实用和商业价值。
1.2超声波测距的发展现状趋势
随着科学技术的快速发展,超声波将的应用将越来越广。
但就目前技术水平来说,人们可以具体利用的超声波技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。
超声波测距技术在社会生活中已有广泛的应用如汽车倒车雷达等[3],它们测距精度一般较低。
目前对超声波高精度测距系统的需求越来越大。
展望未来,超声波作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求。
未来的超声波测距技术将朝着更高精度,更大应用范围,更稳定方向发展,死角问题也能得以解决。
1.3本课题任务
本设计选用T/R-40-12超声波传感器。
在了解超声波测距原理的基础上,完成了基于时差测距原理的一种超声波测距系统的硬件设计,其中为了进一步提高系统测量精度和系统稳定性,在硬件上增加了温度传感器测温电路,采取声速预置和媒质温度测量相结合的办法对声速进行修正,降低了温度变化对测距精度的影响。
有利于提高超声波测距系统的测量精度[5]。
具体设计一个基于单片机的超声波测距器,包括单片机控制电路,发射电路,接收电路,LED显示电路,温度补偿电路。
要求测量范围在5~200cm,测量误差5%以内,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果,并能对温度所造成的系统误差做出补偿[6]。
第2章单片机
2.1单片机原理及应用
2.1.1单片机原理
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上,大大缩短了系统内信号传送距离,从而提高了系统的可靠性及运行速度。
因而在工业测控领域中,单片机系统是最理想的控制系统。
所以,单片机是典型的嵌人式系统,是嵌入式系统低端应用的最佳选择。
51系列单片机由以下几部分构成[12]:
1.中央处理器(CPU)
2.内部数据存储器(RAM)
3.内部程序存储器(ROM)
4.定时器/计数器
5.并行I/O口
6.串行口
7.中断控制系统
8.时钟电路
2.1.2单片机的应用
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
单片机的应用领域[8]:
1.单片机在智能仪器仪表中的应用;
2.单片机在工业测控中的应用;
3.单片机在计算机网络和通讯技术中的应用;
4.单片机在日常生活及家电中的应用;
5.单片机在办公自动化方面。
2.2单片机发展前景
计算机系统的发展已明显地朝三个方向发展;这三个方向就是:
巨型化,单片化,网络化。
以解决复杂系统计算和高速数据处理的仍然是巨型机在起作用,故而,巨型机在目前在朝高速及处理能力的方向努力。
单片机在出现时,Intel公司就给其单片机取名为嵌入式微控制器(embeddedmicrocontroller)[10]。
单片机的最明显的优势,就是可以嵌入到各种仪器、设备中。
这一点是巨型机和网络不可能做到的。
单片机的最新技术进步,包括数字单片机的工艺及技术,模糊单片机的工艺及技术,单片机的可靠性技术,以及以单片机为核心的嵌入式系统。
数字单片机的技术进步反映在内部结构、功率消耗、外部电压等级以及制造工艺上。
在这几方面,较为典型地说明了数字单片机的水平。
在目前,用户对单片机的需要越来越多,但是要求也越来越高。
单片机的技术进步状况表现在以下几方面:
内部结构的进步;功耗、封装及电源电压的进步;工艺上的进步。
在单片机应用中,可靠性是首要因素,为了扩大单片机的应用范围和领域,提高单片机自身的可靠性是一种有效方法。
近年来,单片机的生产厂家在单片机设计上采用了各种提高可靠性的新技术,这些新技术表现在如下几:
EFT(ElectricalFastTransient)技术;低噪声布线技术及驱动技术;采用低频时钟。
单片机在目前的发展形势下,表现出几大趋:
可靠性及应用越来越水平高和互联网连接已是一种明显的走向;所集成的部件越来越多;NS(美国国家半导体)公司的单片机已把语音、图像部件也集成到单片机中,也就是说,单片机的意义只是在于单片集成电路,而不在于其功能了;如果从功能上讲它可以讲是万用机。
原因是其内部已集成上各种应用电路。
功耗越来越低和模拟电路结合越来越多[18]。
随着半导体工艺技术的发展及系统设计水平的提高,单片机还会不断产生新的变化和进步,最终人们可能发现:
单片机与微机系统之间的距离越来越小,甚至难以辨认。
2.3单片机程序编译环境
2.3.1KEILC51
KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。
C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品[13]。
C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:
编译器,汇编器,实时操作系统,项目管理器,调试器。
uVision2IDE可为它们提供单一而灵活的开发环境。
C51V7版本是目前最高效、灵活的8051开发平台。
它可以支持所有8051的衍生产品,也可以支持所有兼容的仿真器,同时支持其它第三方开发工具。
因此,C51V7版本无疑是8051开发用户的最佳选择。
2.3.2uVision2集成开发环境
uVision2集成开发环境包括以下两个部分:
项目管理:
工程(project)是由源文件、开发工具选项以及编程说明三部分组成的。
一个单一的uVision2工程能够产生一个或多个目标程序[21]。
产生目标程序的源文件构成“组”。
开发工具选项可以对应目标,组或单个文件。
uVision2包含一个器件数据库(devicedatabase),可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定微控制器的要求。
此数据库包含:
片上存储器和外围设备的信息,扩展数据指针(extradatapointer)或者加速器(mathaccelerator)的特性。
uVision2可以为片外存储器产生必要的连接选项:
确定起始地址和规模。
集成功能:
uVision2的强大功能有助于用户按期完工。
集成源极浏览器利用符号数据库使用户可以快速浏览源文件。
用详细的符号信息来优化用户变数存储器。
文件寻找功能:
在特定文件中执行全局文件搜索。
工具菜单:
允许在V2集成开发环境下启动用户功能。
可配置SVCS接口:
提供对版本控制系统的入口。
PC-LINT接口:
对应用程序代码进行深层语法分析。
Infineon的EasyCase接口:
集成块集代码产生。
Infineon的DAVE功能:
协助用户的CPU和外部程序。
DAVE工程可被直接输入uVision2。
2.3.3编辑器和调试器
一、源代码编辑器
uVision2编辑器包含了所有用户熟悉的特性。
彩色语法显像和文件辩识都对C源代码进行和优化。
可以在编辑器内调试程序,它能提供一种自然的调试环境,使你更快速地检查和修改程序[15]。
二、断点
uVision2允许用户在编辑时设置程序断点(甚至在源代码未经编译和汇编之前)。
用户启动V2调试器之后,断点即被激活。
断点可设置为条件表达式,变量或存储器访问,断点被触发后,调试器命令或调试功能即可执行。
在属性框(attributescolumn)中可以快速浏览断点设置情况和源程序行的位置。
代码覆盖率信息可以让你区分程序中已执行和未执行的部分。
三、调试函数语言
uVision2中,你可以编写或使用类似C的数语言进行调试内部函数:
如printf,memset,rand及其它功能的函数。
信号函数:
模拟产生CPU的模拟信号和脉冲信号(simulateanaloganddigitalinputstoCPU)。
用户函数:
扩展指令范围,合并重复动作。
四、变量和存储器
用户可以在编辑器中选中变呈来观察其取值。
双层窗口显示,可进行以下调整:
当前函数的局部变量;用户在两个不同watch窗口页面上的自定义变量;堆栈调用(callstack)页面上的调用记录(树)(calltree);不同格式的四个存储区。
2.3.4C51编译器
KEILC51编译器在遵循ANSI标准的同时,为8051微控制器系列特别设计。
语言上的扩展能让用户使用应用中的所有资源。
存储器和特殊功能寄存器的存取:
C51编译器可以实现对8051系列所有资源的操作。
SFR的存取由sfr和sbit两个关键字来提供。
变量可旋转到任一个地址空间。
用关键字at还能把变量放入固定的存储器。
存储模式(大,中,小)决定了变量的存储类型。
连接定位器支持的代码区可达32个,这就允许用户在原有64KROM的8015基础上扩展程序。
在V2的编译器和许多高性能仿真器中,可以支持应用程序的调试。
中断功能:
C51允许用户使用C语言编写中断服务程序,快速进、出代码和寄存器区的转换功能使C语言中断功能更加高效。
可再入功能是用关键字来定义的。
多任务,中断或非中断的代码要求必须具备可再入功能。
灵活的指针:
C51提供了灵活高效的指针。
通用指针用3个字节来存储存储器类型及目标地址,可以在8051的任意存储区内存取任何变量。
特殊指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。
由于地址的存储只需1-2字节,因此,指针存取非常迅速。
2.3.5部分代码优化
通用代码优化:
常量重叠(constantfolding);通用子表达式删除(commonsubexpressionelimination);长度缩减速(reduction);控制流优化(controlflowoptimization);寄存器变量使用(registervariableusage);寄存器间参数传递(parameterpassinginregister);循环(looprotation);死码删除(deadcodeelimination);通用TailMerging;通用子程序块打包(blocksubroutinepacking)。
8051特殊优化:
孔颈优化(peepholeoptimization);跳转-分支优化(switch-caseoptimization);中断函数优化(interruptfunctionoptimization);数字覆盖(overlaying);扩展入口优化(extendedaccessoptimization)。
寄存器优化:
C51为函数参数和局域变量分配了9个CPU寄存器。
寄存器间最多可传递三个参数。
P全局寄存器优化可删除不必要代码,优化CPU寄存器设备。
C语言实时库:
C51实时库含100多种功能,其中大多数是可再入的。
库支持所有的ANSIC的程序,与嵌入式应用程序的限制相符。
固有程序为硬件提供特殊指令,如:
nop,testbit,rol,ror。
A51宏汇编:
A51宏汇编支持标准宏和MPL宏。
要实现快速产生汇编程序SHELL,就直接使用C51编译器的SRC。
在A51V7版本中,允许用户包含的头文件来定义常量和SFR。
如今,一个单一头文件可被应用到X程序和汇编程序中。
2.3.6RTX51实时核模块
RTX51多任务实时内核可以简化那些过程复杂,时间紧迫的软件项目。
RTX51是无版税的,完全集成到KeilC51工具链上,支持C语言和汇编语言程序,也完全支持代码区的应用程序。
RTX51完全支持:
标准任务(用一个共享寄存器区);
快速任务(用一个专用寄存器区);CAN;邮箱(为内部任务通信);存储池(memorypools)。
RTX51Tiny是简化后的内核,适于单片机系统。
RTX51和RTX51Tiny都可使用户创建和撤消任务,发送和接收信号,也可执行其它操作系统管理。
上下文切换(任务切换):
轮询方式(round-robin),每个任务在一个规定的时间段内运行,当一个任务的时间段结束时,另一个任务随之开始;抢占方式(preemptive),优先级最高的任务最先执行,直到被一个具有更高优先级的任务打断,或是为等待某个事件而主动放弃控制权。
事件与中断,RTX51支持下列事件:
Timeouts延迟到特定定时点;Intervals延迟一段时间间隔;Signals协调内部任务操作;Messages在任务间互传信息;Interrupts处理硬件中断;Semaphores共享有限资源.
RTX51同时支持中断功能,可以向任务中发送或从任务中接收信号和信息。
2.3.7测试程序
uVision2调试器具备所有常规源极调试,符号调试特性以及历史跟踪,代码覆盖,复杂断点等功能.DDE界面和shift语言支持自动程序测试.
CPU和外设模拟装置:
uVision2为8051及衍生产品提供了高速CPU模拟功能和片上扩展口.在对话框内可直接观察和修改I/O值,也可以用预装的C-LIKE宏指令书写符号函数来提供动态输入。
目标监控器:
uVision2含一个可配置的监控器,可测试目标器件上的软件体。
监控器用uVision2的调试器直接工作,可支持代码区。
它要求目标系统具备6字节堆栈空间,6KB的代码ROM和256字节XdataRAM。
MCB517/251启动工具包:
在开始一项8051工程时,MCB启动工具会对你有很大帮助。
每一个启动工具包括一套2K字节的开发工具和许多可快速运行的举例程序。
用户可在检测8051性能的同时,查看开发工具的可行性。
MCB517AC板含高性能InfineonC517A单片机,它提供标准8052外围设备和A/D转换器,PWM,搜索/比较,8位数据指针,一个高速运算单元。
同时包含对81C90CAN控制器和代码区的支持。
2.3.8C51V7版增强功能介绍
C51V7版提供了很多新的和增强的功能,使开发8051嵌入式应用比以前更加简单。
C51V7版新功能包括:
新版编译器和连接器更加优化,可以缩短程序的大小;能完全模拟支持的器件更多,如Philips80C51MX,Dallas80C390和AnalogDevicesMicroConverters;新的ISD51系统内调试器,允许在不变的目标硬件上调试程序;可更好地支持Philips51MX的24位地址;RTX51Tiny增加了新功能,它比以前更小,但提供的功能更多。
第3章超声波测距原理
3.1超声波原理及应用
3.1.1超声波原理
声波是物体机械振动状态(或能量)的传播形式。
所谓振动是指物质的质点在其平衡位置附近进行的往返运动。
譬如,鼓面经敲击后,它就上下振动,这种振动状态通过空气媒质向四面八方传播,这便是声波。
超声波是指振动频率大于20000Hz以上的,其每秒的振动次数(频率)甚高,超出了人耳听觉的上限(20000Hz),人们将这种听不见的声波叫做超声波。
超声和可闻声本质上是一致的,它们的共同点都是一种机械振动,通常以纵波的方式在弹性介质内会传播,是一种能量的传播形式,其不同点是超声频率高,波长短,在一定距离内沿直线传播具有良好的束射性和方向性。
3.1.2超声波应用
由于超声波具有如下特性:
超声波可在气体、液体、固体、固熔体等介质中有效传播;超声波可传递很强的能量;超声波会产生反射、干涉、叠加和共振现象;超声波在液体介质中传播时,可在界面上产生强烈的冲击和空化现象。
超声效应已广泛用于实际,主要有如下几方面:
超声检验。
超声波的波长比一般声波要短,具有较好的方向性,而且能透过不透明物质,这一特性已被广泛用于超声波探伤、测厚、测距、遥控和超声成像技术。
超声成像是利用超声波呈现不透明物内部形象的技术。
把从换能器发出的超声波经声透镜聚焦在不透明试样上,从试样透出的超声波携带了被照部位的信息(如对声波的反射、吸收和散射的能力),经声透镜汇聚在压电接收器上,所得电信号输入放大器,利用扫描系统可把不透明试样的形象显示在荧光屏上。
上述装置称为超声显微镜。
超声成像技术已在医疗检查方面获得普遍应用,在微电子器件制造业中用来对大规模集成电路进行检查,在材料科学中用来显示合金中不同组分的区域和晶粒间界等。
声全息术是利用超声波的干涉原理记录和重现不透明物的立体图像的声成像技术,其原理与光波的全息术基本相同,只是记录手段不同而已(见全息术)。
用同一超声信号源激励两个放置在液体中的换能器,它们分别发射两束相干的超声波:
一束透过被研究的物体后成为物波,另一束作为参考波。
物波和参考波在液面上相干叠加形成声全息图,用激光束照射声全息图,利用激光在声全息图上反射时产生的衍射效应而获得物的重现像,通常用摄像机和电视机作实时观察。
超声处理。
利用超声的机械作用、空化作用、热效应和化学效应,可进行超声焊接、钻孔、固体的粉碎、乳化、脱气、除尘、去锅垢、清洗、灭菌、促进化学反应和进行生物学研究等,在工矿业、农业、医疗等各个部门获得了广泛应用。
基础研究。
超声波作用于介质后,在介质中产生声弛豫过程,声弛豫过程伴随着能量在分子各自电度间的输运过程,并在宏观上表现出对声波的吸收(见声波)。
通过物质对超声的吸收规律可探索物质的特性和结构,这方面的研究构成了分子声学这一声学分支。
普通声波的波长远大于固体中的原子间距,在此条件下固体可当作连续介质。
但对频率在1012赫以上的特超声波,波长可与固体中的原子间距相比拟,此时必须把固体当作是具有空间周期性的点阵结构。
点阵振动的能量是量子化的,称为声子(见固体物理学)。
特超声对固体的作用可归结为特超声与热声子、电子、光子和各种准粒子的相互作用。
对固体中特超声的产生、检测和传播规律的研究,以及量子液体——液态氦中声现象的研究构成了近代声学的新领域。
3.2超声波测距原理
超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
超声波在空气中的传播速度为v,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:
(3-2)
这就是所谓的时间差测距法。
采用超声波测量大气中的地面距离,是近代电子技术发展才获得正式应用的技术,由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,在较恶劣的环境(如含粉尘)具有一定的适应能力。
因此,用途极度广泛。
例如:
测绘地形图,建造房屋、桥梁、道路、开挖矿山、油井等,利用超声波测量地面距离的方法,是利用光电技术实现的,超声测距仪的优点是:
仪器造价比光波测距仪低,省力、操作方便。
由于是利用超声波测距,要测量预期的距离,所以产生的超声波要有一定的功率和合理的频率才能达到预定的传播距离,同时这是得到足够的回波功率的必要条件,只有的得到足够的回波频率,接收电路才能检测到回波信号和防止外界干扰信号的干扰。
经分析和大量实验表明,频率为40KHz左右的超声波在空气中传播效果最佳,同时为了处理方便,发射的超声波被调制成具有一定间隔的调制脉冲波信号。
第4章测距系统构成与误差分析
4.1单片机控制器
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上,大大缩短了系统内信号传送距离,从而提高了系统的可靠性及运行速度。
因而在工业测控领域中,单片机系统是最理想的控制系统。
所以,单片机是典型的嵌人式系统,是嵌入式系统低端应用的最佳选择。
本课题选用89S51单片机,89S51相对于89C51增加的新功能包括:
ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。
是一个强大易用的功能。
最高工作频率为33MHz,大家都知道89C51的极限工作频率是24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。
具