您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 超声波测距报告含程序.
《单片机原理及应用》单片机课程设计报告超声波测距报告1目录第1章课程设计概述……………………………………………………………21.1课程设计选题及原理………………………………………………21.2课程设计选题调研…………………………………………………21.2.1选题目的与意义………………………………………………21.2.2国内外研究综述………………………………………………3第2章方案设计……………………………………………………………………………42.1主要任务……………………………………………………………………42.2设计框图……………………………………………………………………42.3设计所需元器件及简介…………………………………………………42.4设计程序流程简图…………………………………………………………52.5编程语言的选择第3章电路及部分代码设计……………………………………………………………63.1Stc12c5a60s2最小系统……………………………………………………63.2超声波测距模块……………………………………………………73.3数码管显示模块……………………………………………………………83.4蜂鸣器报警模块……………………………………………………………93.5总仿真结果及实物测量结果……………………………………………10第4章课程设计心得体会和总结………………………………………………………114.1心得体会……………………………………………………………………114.2总结………………………………………………………………11附1课程设计仿真图…………………………………………………………附2课程设计实物图…………………………………………………………附3课程设计程序设计代码……………………………………………………………2第1章课程设计概述1.1课程设计选题及原理课程设计题目超声波测距仪设计原理通过超声波发射装置发出超声波,根据接收器接到超声波时的时间差就可以知道距离了。这与雷达测距原理相似。超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。最常用的超声测距的方法是回声探测法,超声波发射器向某一方向发射超声波,在发射时刻的同时计数器开始计时,超声波在空气中传播,途中碰到障碍物面阻挡就立即反射回来,超声波接收器收到反射回的超声波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物面的距离s,即:s=340t/2。由于超声波也是一种声波,其声速V与温度有关。在使用时,如果传播介质温度变化不大,则可近似认为超声波速度在传播的过程中是基本不变的。如果对测距精度要求很高,则应通过温度补偿的方法对测量结果加以数值校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的基本原理。1.2课程设计选题调研1.2.1选题目的与意义超声波是指频率在20KHz以上的声波,它属于机械波的范畴,可用于非接触测量,具有不受光、电磁波以及粉尘等外界因素的干扰的优点,利用计算超声波在发送端和接收端之间的传输时间和声速来测量距离,对被测目标无损害。而且超声波传播速度在很大范围内与频率无关。超声波的这些独特优点越来越受到人们的重视。目前对于超声波精确测距的需求也越来越大,比如油库和水箱液面的精确测量和控制,汽车辅助泊位系统的应用,物体内气孔大小的检测和机械内部损伤的检测等。在机械制造,电子冶金,航海,宇航,石油化工,等工业领域也有广泛地应用。此外,在材料科学,医学,生物科学等领域中也占具重要地位。31.2.2国内外研究综述历史上使用超声波来测量距离是从第二次世界大战时海军的声纳技术的发展开始。声纳是一种利用声波在水下测定目标距离和运动速度的仪器。经过几个世纪,科学家们对此反复研究,最终发现了超声波的原理。超声波测距应用于各种工业领域,如工业自动控制,建筑工程测量和机器人视觉识别等方面。超声波作为一种检测技术,采用的是非接触式测量,由于它具有不受外界因素影响,对环境有一定的适应能力,且操作简单,测量精度高等优点而被广泛应用。这些特点可使测量仪器不受被测介质的影响,大大解决了传统测量仪器存在的问题,比如,在粉尘多的情况下对人引起的身体接触伤害,腐蚀性质的被测物对测量仪器腐蚀,触电接触不良造成的误测等。此外该技术对被测元件无磨损,使测量仪器牢固耐用,使用寿命加长,而且还降低了能量损耗,节省人力和劳动的强度。因此,利用超声波检测既迅速、方便、计算简单,又易于实时控制,在测量精度方面能达到工业实用的要求。然而超声波测距在实际应用中也有很多局限性。由于超声波在传播过程中,声压会随距离的增大而呈指数规律衰减,远目标的回波信号幅度小,信噪比低,用固定阈值的比较器检测回波,可能导致越过门槛的时间前后移动,从而影响计时的准确性,这必然会影响到测距的准确度。此外,构成超声波传感器的压电陶瓷片在压电的双向转换过程中,存在惯性,滞后等现象,以及超声波脉冲在空气中传播本身及多重的反射路径,均导致回波信号被展宽,也会使测量产生较大的误差,影响了测距的分辨率。其它如温度,风速等也会对测量造成一定的影响。工程师针对这些误差提出的可变阈值的超声波测距方法,从回波信号处理的角度出发,分析了超声波回波曲线的特性,利用回波包络的峰值检测技术以确定回波到达的时刻,另外,利用温度补偿电路可以降低温度对声速的影响,这些改进都大大的提高了超声波测距的准确性。计量学在制造业中越来越重要。直接在机器上测量尤其能推动制造业的发展。目前为止大部分还是采用视觉的或触觉的测量方法。但是墙的厚度就不能用这些来测量,因此德国人把超声系统结合到机器设计出了测距方法。随着超声波的发展,早在2000年时英国人就设计出了可观察,识别并测距的超声波集成系统。第2章方案设计2.1主要任务设计制作一个超声波测距仪,通过单片机控制超声波测距模块,计算并显示所测距离以及实现报警功能。整体电路的控制核心为单片机STC12C5A60S2。超声波发射和接收电路中都对相应信号进行整形及放大,以保证测量结果尽可能精确。超声波探头接OUT口实现超声波的发射和接收。另外超声波发射和接受模块hc-sr04还有具有温度补偿的作用,使测量精度能够达到要求。整体结构图包括超声波发射接收电路,4单片机电路,显示电路与蜂鸣器报警电路等几部分模块组成。2.2设计框图本设计主要的四个模块:超声波发射和接收模块,蜂鸣器报警模块,单片机STC12C5A60S2,四位数码管显示模块。以下是设计框图图1设计框图2.3设计所需元器件及简介STC12C5A60S2增强型8051CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051。工作电压5.5V-3.3V。STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55mA。本设计中用到的单片机管脚有P1,P2.0-P2.3,P3.5-P3.7。超声波测距模块HC-SR04超声波测距模块HC-SR04可提供2-400cm的非接触式距离感测功能,测距精度可高达3mm。模块包括超声波发器、接收器与控制电路本模块性能稳定,测度距离精确。能和国外的SRF05,SRF02等超声波测距模块相媲美。模块高精度,盲区(2cm)超近,稳定的测距是此产品成功走向市场的有力根据超声波测距模块四位数码管显示单片机STC12C5A60S2蜂鸣器报警5图2HC-SR04正面图主要技术参数:1:使用电压:DC5V2:静态电流:小于2mA3:电平输出:高5V4:电平输出:底0V5:感应角度:不大于15度6:高精度可达0.2cm7:探测距离:2cm-450cm接线方式:VCC,trig(控制端),echo(接收端),GND模块工作原理:(1)采用IO触发测距,给至少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间.测试距离=(高电平时间*声速(340M/S))/2;超声波发射器向某一方向发射超声波,在发射超声波的同时开始计时,超声波在空气中传播,途中碰到障碍物反射后立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度约为340m/s,根据计时器记录的时间t,就可以计算出超声波发射点距障碍物的距离(s),即为:s=340t/2,这就是所谓的时间差测距法。存在4个因素限制了该系统的最大可测距离:超声波的幅度、反射的质地、反射回波和入射声波之间的夹角。四位数码管显示模块数码管(LEDSegmentDisplays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等....,led数码管根据LED的接法不同分为共阴和共阳两类。本设计用到的是共阳极,静态驱动也称直流驱动数码管。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。共阳TAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,088H6本设计还需要的元件有蜂鸣器,电阻,电容,12M晶振,按键,三极管,面包板等2.4设计程序流程简图图3设计程序流程简图设计流程图说明:本设计P3.5连接超声波发射端,P3.7口接超声波接收端。首先单片机开始工作,系统初始化后单片机向P3.5口发送40KHZ的方波,使超声波发射和接受模块开始工作,当P3.7口接收到高电平时计时器开始计时,选用的是计时器工作方式1,16位。当P3.7口接收到低电平的时候计时器关闭。此时时间存在TH0,TL0中,这是通过计算子程序把时间换算成距离四位,从高到底分别存在78H,77H,76H,75H。此时调用显示子程序把距离显示在四位数码管中。再调用报警子程序,根据距离的判断,使蜂鸣器发出不同频率的声音。延时很短的时间,继续下次的测量。2.5编程语言的选择在编程语言的选择上,我们主要考虑使用我所学过的汇编语言和C语言。汇编语言是一种面向机器的低级的程序设计语言。它直接利用机器提供的指令系统编写程序,该类程序的可执行指令是与机器语言程序的指令一一对应的。汇编语言由于是面向机器的程序设计语言,与具体的计算机硬件有着密切的关系,因此,可移植性差。但由于汇编指令与机器语言指令一一对应,即一条汇编语言的可执行指令对应着一条机器语言指令,反之亦然。因此,汇编语言可直接利用机器硬件系统的许多特性,如寄存器、标志位以及一些特殊指令等,具有执系统初始化发送超声波脉冲等待发射超声波判断报警与显示结果计算距离开始7行速度快、占用内存少等优点。在本设计中,设计程序过程相对不复杂,用汇编语言完全可以实现,所以本设计选择了使用汇编语言进行编程。第3章电路及部分代码设计3.1Stc12c5a60s2最小系统在电源旁接了开关控制电源。复位电路旁还接了按键,方便复位操作。图4单片机工作最小系统3.2超声波测距模块设计思路:单片机P3.5发送40KHZ的方波,超声波接收到后开始测距,返回一段高电平到P3.7就是超声波的测量的时间,所以程序设计时P3.7接收到高电平时开启定时器,P3.7口接收到低电平
本文标题:超声波测距报告含程序.
链接地址:https://www.777doc.com/doc-7830171 .html