超声波测距仪的设计(共15页).doc





《超声波测距仪的设计(共15页).doc》由会员分享,可在线阅读,更多相关《超声波测距仪的设计(共15页).doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上题目:超声波测距仪的设计超声波测距仪的设计一、设计目的:以51单片机为主控制器,利用超声波模块HC-SR04,设计出一套可在数码管上实时显示障碍物距离的超声波测距仪。通过该设计的制作,更为深入的了解51的工作原理,特别是51的中断系统及定时器/计数器的应用;掌握数码管动态扫描显示的方法和超声波传感器测距的原理及方法,学会搭建51的最小系统及一些简单外围电路(LED显示电路)。从中提高电路的实际设计、焊接、检错、排错能力,并学会仿真及软件调试的基本方法。二、设计要求:设计一个超声波测距仪。要求:1.能在数码管上实时显示障碍物的实际距离;2.所测距离大于2cm小于300c
2、m,精度2mm。三、设计器材:STC89C52RC单片机HC-SR04超声波模块SMD3B四位的共阳数码管9014三极管(4)按键(1)电容(30PF2,10UF1)排阻(10K),万用板,电烙铁,万用表,5V直流稳压电源,镊子,钳子,导线及焊锡若干,电阻(200欧5)。四、设计原理及设计方案:(一)超声波测距原理超声测距仪是根据超声波遇到障碍物反射回来的特性进行测量的。超声波发射器向某一方向发射超声波,在发射同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即中断停止计时。 通过不断检测产生波发射后遇到障碍物所反射的回波,从而测出发射超声波和接收到回波的
3、时间差T,然后求出距离L。基本的测距公式为:L=(t/2)*C 式中 L要测的距离 T发射波和反射波之间的时间间隔 C超声波在空气中的声速,常温下取为344m/s 声速确定后,只要测出超声波往返的时间,即可求得L。根据本次设计所要求的测量距离的范围及测量精度,我们选用的是HC-SR04超声波测距模块。(如下图所示)。此模块已将发射电路和接收电路集成好了,硬件上不必再自行设计繁复的发射及接收电路,软件上也无需再通过定时器产生40Khz的方波引起压电陶瓷共振从而产生超声波。在使用时,只要在控制端Trig发一个大于15us宽度的高电平,就可以在接收端Echo等待高电平输出。单片机一旦检测到有输出就打
4、开定时器开始计时。当此口变为低电平时就停止计时并读出定时器的值,此值就为此次测距的时间,再根据传播速度方可算出障碍物的距离。 (二)超声波测距模块HC-SR04简要介绍HC-SR04超声波测距模块的主要技术参数使用方法如下所述:1. 主要技术参数:使用电压:DC5V静态电流:小于2mA电平输出:高5V电平输出:低0V 感应角度:不大于15度探测距离:2cm-300cm HC-SR04超声波测距模块实物图高精度:可达2mm2. 接线方式:VCC、trig(控制端)、 echo(接收端)、 GND使用方法:给Trig端发一个15uS以上的高电平,就可以在接收口Echo端等待高电平输出。一有输出就可
5、以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离。3.工作原理:采用IO触发测距,给至少10us的高电平信号 (在我们的程序中我们为了确保有效触发,给了约持续15us时间宽度的高电平);模块自动发送8个40khz的方波,自动检测是否有信号返回;有信号返回,通过Echo输出一高电平,高电平持续的时间就是超声波从发射到返回的时间测试距离=(高电平时间*声速(344M/S)/2;(三)总体设计方案:以51单片机作为主控制器,在超声波模块HC-SR04的Trig端加一个大于10us的高电平,本次设计中我们为了确保有效触发,程序中设置了约为15us的高电平进行触
6、发。触发发射端产生超声波,同时在接收端(Echo端)等待高电平的输出,一旦检测到有高电平的输出就打开定时器0进行计时。根据所给超声波模块的技术资料可知:Echo端高电平持续的时间就是超声波从发射到返回的时间。当超声波遇到障碍物,回波被接收端接收到后,Echo端变为低电平。此时关闭定时器0(令TR=0),读出定时器的值。这个值即为超声波的传播时间(单位为us)。根据声波在空气中的传播速度,方可算出距离。【测试距离(高电平时间*声速(344M/S)/2】将此距离进行处理,在数码管上利用动态扫描法实时显示。 系统的结构框图:STC89C52电源电路单片机外围电路超声波测试模块障碍物显示电路我们将整个
7、系统划分为:超声波模块、显示模块,以及51单片机外围工作电路模块。(四)动态显示模块:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这
8、就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。在本次设计中,我们选用P0口作为段码,连接SMD3Ba,b,c,d,e,f,g,dp,每一段的亮灭。选用P2.4P2.7分别对应位码,即连接 SM的S1,S2,S3,S4分别控制每一位的亮灭。S1,S2,S3,S4相当于是每一段的COM端,由于是共阳极,只有某一位对应的COM端为1时,所送的段码对该端来说才是有
9、效的。仿真电路图(五)硬件整体设计方案:我们在硬件设计上主要包括以下几个模块的设计:(六)软件设计方案:程序如下:#include#include#define uint unsigned int#define uchar unsigned charuchar qian,bai,shi,ge; /数码管显示千,百,十,个,单位为cmuint time=0; /探测时间unsigned long S=0; /探测距离,注意是长整型/uchar code table=0x3f,0x06,0x5b,0x4f,0x66,/0x6d,0x7d,0x07,0x7f,0x6f,0x40; /共阳数码管uch
10、ar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf;sbit echo=P37; /接收端sbit trig=P36; /发射端sbit SMG_q = P24; /定义数码管阳级控制脚(千位)sbit SMG_b = P25; /定义数码管阳级控制脚(百位)sbit SMG_s = P26; /定义数码管阳级控制脚(十位)sbit SMG_g = P27; /定义数码管阳级控制脚(个位)uchar flag,a; /标志位 /*函数名称:init()*输入参数:void*输出参数:void*函数功能:初始化
11、超声波测距仪,定时器,中断*/void init() echo=0; trig=0; flag=1; qian=10;bai=10;shi=10;ge=10; /数码管显示- - - - TMOD=0x01; /设T0为方式1 TH0=0; TL0=0; ET0=1; /允许T0中断 TR0=0; EA=1; /开启总中断/*函数名称:delay()*输入参数:unsigned char cnt*输出参数:void*函数功能:延时函数*/void delay(unsigned char cnt) /大约延时2*cnt 微妙 while(-cnt);/*函数名称:display()*输入参数:u
12、char qian, uchar bai, uchar shi, uchar ge*输出参数:void*函数功能:数码管显示模块*/void display(uchar qian,uchar bai,uchar shi,uchar ge) SMG_q=1;/选择千位数码管P0=tableqian;/查找1定义好的数码管段值与P0口输出,显示相应的1delay(100);/加入短暂延时P0=0XFF;/清除数码管显示,因是共阳型,所以不是0SMG_q=0;/关闭千位数码管SMG_b=1;/选择百位数码管P0=tablebai;/查找2定义好的数码管段值与P0口输出,显示相应的2delay(100
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超声波 测距仪 设计 15

限制150内