文档库 最新最全的文档下载
当前位置:文档库 › 单片机应用_超声波测距器

单片机应用_超声波测距器

单片机应用_超声波测距器
单片机应用_超声波测距器

单片机课程设计

一、需求分析:

超声波测距器,可以应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。要求测量围在1m,测量精度1cm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人的研制上也得到了广泛的应用。

本文旨在设计一种能对中近距离障碍物进行实时测量的测距装置,它能对障碍物进行适时、适量的测量,起到智能操作,实时监控的作用。

关键词单片机AT82S51 超声波传感器测量距离

二、硬件设计方案

设计思路

超声波传感器及其测距原理

超声波是指频率高于20KHz的机械波。为了以超声波作为检测手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。

超声波测距的原理一般采用渡越时间法TOF(time of flight)。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离

测量距离的方法有很多种,短距离的可以用尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为340米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。

由于超声波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到要求。

超声波发生器可以分为两类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。本课题属于近距离测量,可以采用常用的压电式超声波换能器来实现。

根据设计要求并综合各方面因素,可以采用AT89S51单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成,超声波测距器的系统框图如下图所示:

超声波测距器系统设计框图

主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。采用AT89S51来实现对CX20106A红外接收芯片和TCT40-10系列超声波转换模块的控制。单片机通过P1.0引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。

三、软件设计方案

主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序等部分。

主程序首先对系统环境初始化,设置定时器T0工作模式为16位的定时计数器模式,置位总中断允许位EA并给显示端口P0和P2清0。然后调用超声波发生子程序送出一个超声波脉冲,为避免超声波从发射器直接传送到接收器引起的直接波触发,需延迟0.1ms(这也就是测距器会有一个最小可测距离的原因)后,才打开外中断0接收返回的超声波信号。由于采用12MHz 的晶振,机器周期为1us,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按下式计算即可测得被测物体与测距仪之间的距离,设计时取20℃时的声速为340m/s则有:

d=(C*T0)/2 =170*T0/10000cm(其中T0为计数器T0的计数值)

测出距离后结果将以十进制BCD码方式LED,然后再发超声波脉冲重复测量过程。主程序框图如下

3. 超声波发生子程序和超声波接收中断程序

超声波发生子程序的作用是通过P1.0端口发送2个左右的超声波信号频率约40KHz的方波,脉冲宽度为12us左右,同时把计数器T0打开进行计时。超声波测距器主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(INT0引脚出现低电平),立即进入中断程序。进入该中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。

四、调试

超声波测距仪的制作和调试,其中超声波发射和接收采用Φ15的超声波换能器TCT40-10F1(T发射)和TCT40-10S1(R接收),中心频率为40kHz,安装时应保持两换能器中心轴线平行并相距4~8cm,其余元件无特殊要求。若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。根据测量围要求不同,可适当调整与接收换能器并接的滤波电容的大小,以获得合适的接收灵敏度和抗干扰能力。

硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。根据所设计的电路参数和程序,测距仪能测的围为0.27m~5m,测距仪最大误差不超过1cm。系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。

五、心得体会:

超声波测距一个陌生的字眼,当选择它的时候我还不知道它的原理是什么,但我对这五个字很感兴趣,我知道雷达探测就是用的超声波原理。因为我喜欢所以我选择。

设计过程中所遇到的困难一个接一个,怎么发怎么收,采用什么蕊片,收到回波后怎么样计算。

问题一:发不出去

超声波发的40KHZ(通过程序调整占空比,发送,)

问题二:不知接没接到

65MS中断一次,发送40KHZ脉冲,然后查看电平变化

问题三:收到了怎么计算

d=(C*T0)/2 =170T0/10000cm(其中T0为计数器T0的计数值)问题四:算完怎么样送显

分级除法:100,10采用数码管动显

上述一些疑问我曾想过,但没想到做起来会那么困难。一步一个坎。一步一个脚印,最终到达了我想要的山顶。

附录1:(程序代码)

51单片机超声波测距程序

//晶振:11.0592 //TRIG:P1.2 ECH0:P1.1 //波特率:9600 #include #include #include #define uchar unsigned char #define uint unsigned int sbit RX=P0^2; sbit TX=P0^3; unsigned int time=0; unsigned int timer=0; float S=0; bit flag =0; void Conut(void) { time=TH0*256+TL0; TH0=0; TL0=0; S=(time*1.87)/100; //算出来是CM if(flag==1) //超出测量 { flag=0; printf("-----\n"); } printf("S=%f\n",S); } void delayms(unsigned int ms) { unsigned char i=100,j; for(;ms;ms--) { while(--i)

{ j=10; while(--j); } } } void zd0() interrupt 1 //T0中断用来计数器溢出,超出测距范围{ flag=1; //中断溢出标志 } void StartModule() //T1中断用来扫描数码管和计800ms启动模块{ 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=0; } void main(void) { TMOD=0x21; //设T0为方式1,GATE=1; SCON=0x50; TH1=0xFD; TL1=0xFD; TH0=0; TL0=0;

超声波测距系统设计

目录 一、课程设计目的 (2) 二、内容及要求 (2) 2.1、设计内容 (2) 2.2、设计要求 (2) 三、超声波传感器的工作原理 (2) 四、系统框图 (3) 五、单元电路设计原理 (3) 5.1、51系列单片机的功能特 (4) 5.2、超声波发射电路 (4) 5.3、超声波检测接收电路 (5) 六、完整的电路图………………………………………………………………… 七、程序流程图 (6) 八、参考文献 (7) 九、设计中的问题及解决方法 (7) 十、总结 (7)

一、课程设计目的 通过《传感器及检测技术》课程设计,掌握传感器及检测系统设计的方法和设计原则及相应的硬件调试的方法。进一步理解传感器及检测系统的设计和应用。 二、内容及要求 超声波测距系统设计 2.1设计内容 采用40KHz的超声波发射和接收传感器测量距离。可采用发射和接收之间的距离,也可将发射和接收平行放在一起,通过反射测量距离。 功能:1)LED数码管显示测量距离,精确到小数点后一位(单位:cm)。 2)测量范围:30cm~200cm。 3)误差<0.5cm。 4)其它。 2.2设计要求 1)掌握传感器的工作原理及相应的辅助电路设计方法。 2)独立设计原理图及相应的硬件电路。 3)设计说明书格式规范,层次合理,重点突出。并附上详细的原理图。 三、超声波传感器的工作原理 由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到农业生产等自动化的使用要求。 目前在近距离测量方面常用的是压电式超声波换能器。根据设计要求并综合各方面因素,本文采用AT89C51单片机作为控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器。 超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。此次设计采用反射波方式。 理论计算 如图1所示为反射时间法,是利用检测声波发出到接收到被测物反射回波的时间来测量距离其原理如图所示,对于距离较短和要求不高的场合我们可认为空气中的声速为常数,我们通过测量回波时间T利用公式(T/2) C S=其中,S为被 * 测距离、V为空气中声速、T为回波时间(T2 =),这样可以求出距离: T1 T+

基于51单片机的超声波测距毕业设计(论文)

一设计题目基于51单片机的超声波测距 二设计者 姓名班级学号组号 三、设计思路及框图、原理图 任务:以单片机为核心,设计并制作一超声波测距系统基本要求: 利用时间差测距,不考虑温度变化 用数码管显示测试结果 工作频率:450kHz 测距范围:0.5~10米 测试精度: 10% 发挥部分尽量增大测控范围,提高测试精度 1.系统的硬件结构设计 1.1. 超声波发生电路 发射电路主要由反相器74LS04和超声波发射换能器T构成,单片机P1.0端口输出的450kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采两个反向器并联,用以提高驱动能力。上位电阻R1O、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。 1.2超声波检测接收电路 采用集成电路CX20106A为超声波接收芯片。实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。适当更改电

容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。 1.3 显示电路 显示电路主要由74ls273芯片驱动,用PNPC8550三级管进行位选,七段共阳极数码管显示。 2.系统的软件结构设计 设计思路 主程序中包括温度补偿子程序,计算子程序,显示子程序。采用汇编编程。首先进行系统初始化。其次利用循环产生4个40KHZ的方波,由输出口进行输出,并开始计时。第三等待中断,若超声波被接收探头捕捉到,那么通过中断可测得

10米超声波测距仪设计实现

10米超声波测距仪设计实现 一、功能要求 设计一个超声波测距仪,可以测量测距仪与被测物体间的距离。要求测量范围0.1~10.00米,测量精度1cm,测量时与被测物体不接触,并将测量结果显示出来。 二、系统硬件电路 1.单片机系统及显示电路 单片机采用89C51或89S51。采用12MHz高精度晶振,以获得较稳定的时钟频率,减小测量误差。单片机用p1.0端口输出超声波换能器所需的40Hz方波信号,利用外中断0口监测超声波接受电路输出的返回信号。显示电路采用简单实用的4位共阳极LED数码管,段码用74LS244驱动,位用PNP8550驱动。 2.超声波发射电路 主要由74LS04和超声波换能器T构成。这种推挽形式的方波信号可以提高发射强度。反相器并联提高驱动能力。上拉电阻R1、R2提高74LS04输出高电平的驱动能力。 3.超声波接收电路 CX20106A是接收38KHz超声波的芯片,可利用它做接收电路。 4.系统程序 超声波测距仪的软件主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。 主程序:

开始 系统初始化 发送超声波脉冲 等待反射超声波 计算距离 显示结果 丢系统初始化,设置T0为方式1,EA=1,P0,P2清0。为避免超声波发射器直接接传送到接收器,需要延时0.1ms。由于时钟的频率是12MHz,计数器每计一个数就是1us。如果按声速344m/s,则d=c*t/2=172T0 cm 超声波发生子程序:通过P1.0端口发送2个左右超声波脉冲信号,脉宽12us,同时T0计数。 超声波测距仪利用中断0检测返回的超声波,一旦接收到返回的信号,立即进入中断。中断后就立即关闭T0停止计时。如果计数器益出则测试不成功。 3方案设计和选择 根据本次设计的要求,方案的选择应力求实用性强,性价比高,使用简单。 3.1 超声波测距的基本原理 谐振频率高于20kHz的声波被称为超声波。超声波

超声波测距程序(详细C语言数码管显示)

超声波测距程序(详细C语言数码管显示) #include //头文件 #include// _nop_() 函数延时1US用 #include #include #define uchar unsigned char #define uint unsigned int #define nop _nop_() sbit csb=P1^0;//超声波发送端口为P1.0 sbit bai=P2^2;//数码管百位 sbit shi=P2^1;//数码管十位 sbit ge=P2^0;//数码管个位 uchar flag;//超声波接收标志 float juli1;//距离变量,用来数码管显示用 int juli; uchar table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管0到9的代码 int xianshi[3]; void delayshow(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void ledshow(void) { xianshi[0]=juli/100; xianshi[1]=((juli%100)/10); xianshi[2]=juli%10; bai=0; P0=table[xianshi[0]]; delayshow(2); bai=1; delayshow(2); shi=0; P0=table[xianshi[1]]; delayshow(2); shi=1;

基于单片机的超声波测距

测控技术与仪器专业课程设计报告 班级姓名学号起始时间 课程设计题目: 测控技术与仪器专业课程设计报告 摘 要:本文介绍了一种基于单片机的超声波测距仪的设计。详细给出了超声波测距仪的工作原理、超 声波发射电路和接受电路、测温电路、显示电路等硬件设计,以及相应的软件设计。设计中采用升压电路,提高了超声换能器的输出能力;采用红外接收芯片,减少了电路间相互干扰,提高了灵敏度;同时,考虑了环境温度对超声波测距的影响,采用温度传感器,提高了测量精度。该设计试验运行良好,系统结构简单、操作方便、价格低廉,具有广阔的推广前景。 关键字:超声波测距仪;超声波换能器;单片机;温度传感器 1 对题目的认识和理解 目前,常用的测距方法主要有毫米波测距、激光测距和超声波测距三种。超声波测距较前两种测距方法而言,具有指向性强、能耗缓慢、受环境因素影响较小等特点,广泛应用于如井深、液位、管道长度、倒车等短距离测量。 超声波测距适用于高精度中长距离测量。因为超声波在标准空气中传播速度为331.45m/s ,由单片机负责计时,单片机使用12.0M 晶振,所以此系统测量精度理论上可以达到毫米级。 目前比较普遍的测距的原理是:通过发射具有特征频率的超声波对被摄目标的探测,通过发射出特征频率的超声波和反射回接受到特征频率的超声波所用的时间,换算出距离,如超声波液位物位传感器,超声波探头,适合需要非接触测量场合,超声波测厚,超声波汽车测距告警装置等。 本设计选用频率为40kHZ 左右的超声波,它在空气中传播的效率最佳。由于超声波测距主要受温度影响较大,所以本设计增加了温度补偿电路。本设计具有电路简单、操作简便工作稳定可靠、测距精确和能耗小、成本低等特点,可实现无接触式测量,应用广泛。 1.1 超声波测距原理 超声波测距是通过超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即反射回来,超声波接收器收到回波就立即停止计时。根据计时器测出发射和接收回波的时间差t ,可以计算出发射点距障碍物的距离s :2 = t c s ,其中t c 为超声波在空气中的传 播速度,它随温度的变化而变化,其变化关系如下:331.50.6=+t c T 式中T 为环境摄氏温度,可由温 度传感器获取。

超声波测距仪单片机课设实验资料报告材料

微机原理与单片机系统课程设计 业:专轨道交通信号与控制 级:班1305 交控

姓名:贺云鹏 学号: 201310104 指导教师:建国 交通大学自动化与电气工程学院 30 日 12 2015 年月 超声波测距仪设计设计说明1 设计目的1.1 测量声波在发超声波测距的原理是利用超声波在空气中的传播速度为已知,根据发射和接收的时间差计算出发射点到障碍射后遇到障碍物反射回来的时间,物的实际距离。超声波测距主要应用于倒车提醒、建筑工地、工业现场等的距离测量。 超声波在气体、液体及固体中以不同速度传播,定向性好、能量集中、传输过程中衰减较小、反射能力较强。超声波能以一定速度定向传播、遇障碍物后形成反射,利用这一特性,通过测定超声波往返所用时间就可计算出实际距离,从而实现无接触测量物体距离。超声波测距迅速、方便,且不受光线等因素影响,广泛应用于水文液位测量、建筑施工工地的测量、现场的位置监控、振动仪车辆倒车障碍物的检测、移动机器入探测定位等领域。 1.2 设计方法 本课题包括数据测距模块、显示模块。测距模块包括一个HC-SR04超声波测距模块和一片AT89C51单片机,该设计选用HC-SR04超声波测距模块,通过单片机对超声波进行计时并根据超AT89C51发射和接受超声波,使用HC-SR04.声波在空气中速度为340米每秒的特性计算出距离。显示模块包括一个4位共阳极LED数码管和AT89C51单片机,由AT89C51单片机控制数码管动态显示距离。 1.3 设计要求 采用单片机为核心部件,选用超声波模组,实现对距离的测量,测量距离能够通过显示输出(LED,LCD)。 2 设计方案及原理 2.1超声波测距模块设计

高精度超声波测距系统设计

高精度超声波测距系统设计。 引言 利用超声波测量距离的原理可简单描述为:超声波定期发送超声波,遭遇障碍物时发生反射,发射波经由接收器接收并转化为电信号,这样测距技术只要测出发送和接收的时间差, 然后按照下式计算,即可求出距离: 由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求, 因此,广泛应用于倒车提醒、建筑工地、工业现场等的距离测量。目前的测距量程上能达到百米数量级,测量的精度往往能达到厘米数量级。本文在分析现有超声波测距技术基础之上, 给出了一种改进方案,测量精度可达毫米级。 2 系统方案分析与论证 2.1 影响精度的因素分析 根据超声波测距式(1)可知测距的误差主要是由超声波的传播速度误差和测量距离传播 的时间误差引起的。 对于时间误差主要由发送计时点和接收计时点准确性确定,为了能够提高计时点选择的准确性,本文提出了对发射信号和加收信号通过校正的方式来实现准确计时。此外,当要求测距误差小于 1 mm时,假定超声波速度C=344 m/s(20℃室温),忽略声速的传播误差。则测距误差s△t<0.000 002 907 s,即2.907 ms。根据以上过计算可知,在超声波的传播速度是准确的前提下,测量距离的传播时间差值精度只要在达到微秒级,就能保证测距误差小于1 mm的误差。使用的12 MHz晶体作时钟基准的89C51单片机定时器能方便的计数到1μs的精度,因此系统采用AT89S51的定一时器能保证时间误差在 1 mm的测量范围内。

单片机应用_超声波测距器

单片机课程设计 一、需求分析: 超声波测距器,可以应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。要求测量围在1m,测量精度1cm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人的研制上也得到了广泛的应用。 本文旨在设计一种能对中近距离障碍物进行实时测量的测距装置,它能对障碍物进行适时、适量的测量,起到智能操作,实时监控的作用。 关键词单片机AT82S51 超声波传感器测量距离 二、硬件设计方案 设计思路 超声波传感器及其测距原理 超声波是指频率高于20KHz的机械波。为了以超声波作为检测手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。

超声波测距的原理一般采用渡越时间法TOF(time of flight)。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离 测量距离的方法有很多种,短距离的可以用尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为340米/秒,由单片机负责计时,单片机使用12.0M晶振,所以此系统的测量精度理论上可以达到毫米级。 由于超声波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到要求。 超声波发生器可以分为两类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。本课题属于近距离测量,可以采用常用的压电式超声波换能器来实现。 根据设计要求并综合各方面因素,可以采用AT89S51单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成,超声波测距器的系统框图如下图所示: 超声波测距器系统设计框图 主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。采用AT89S51来实现对CX20106A红外接收芯片和TCT40-10系列超声波转换模块的控制。单片机通过P1.0引脚经反相器来控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。

基于单片机的超声波测距系统实验报告

基于单片机的超声波测距系统实验报告

一、实验目的 1.了解超声波测距原理; 2.根据超声波测距原理,设计超声波测距器的硬件结构电路; 3.对设计的电路进行分析能够产生超声波,实现超声波的发送与接收,从而实现利用 超声波方法测量物体间的距离; 4.以数字的形式显示所测量的距离; 5.用蜂鸣器和发光二极管实现报警功能。 二、实验容 1.认真研究有关理论知识并大量查阅相关资料,确定系统的总体设计方案,设计出系 统框图; 2.决定各项参数所需要的硬件设施,完成电路的理论分析和电路模型构造。 3.对各单元模块进行调试与验证; 4.对单元模块进行整合,整体调试; 5.完成原理图设计和硬件制作; 6.编写程序和整体调试电路; 7.写出实验报告并交于老师验收。 三、实验原理 超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差t,然后求出距S=Ct/2,式中的C为超声波波速。由于超声波也是一种声波,其声速C与温度有关。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的机理,单片机(AT89C51)发出短暂的40kHz信号,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,得出时间t,再由系统软件对其进行计算、判别后,相应的计算结果被送至LED显示电路进行显示。 (一)超声波模块原理: 超声波模块采用现成的HC-SR04超声波模块,该模块可提供 2cm-400cm 的非接触式距离感测功能,测距精度可达高到 3mm。模块包括超声波发射器、接收器与控制电路。基本工作原理:采用 IO 口 TRIG 触发测距,给至少 10us 的高电平信号;模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回;有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。实物如下图1。其中VCC 供5V 电源,GND 为地线,TRIG 触发控制信号输入,ECHO 回响信号输出等四支线。

超声波测距系统设计

(一)题目 超声波测距系统设计 (二)内容及要求 1)设计内容 采用40KHz的超声波发射和接收传感器测量距离。可采用发射和接收之间的距离,也可将发射和接收平行放在一起,通过反射测量距离。 功能:1)LCD液晶显示测量距离,精确到小数点后一位(单位:cm)。 2)测量方式可通过硬件开关预置。 3)测量范围:30cm~200cm, 4)误差<0.5cm。 5)其它。 2)设计要求 1)掌握传感器的工作原理及相应的辅助电路设计方法。 2)独立设计原理图及相应的硬件电路。 3)设计说明书格式规范,层次合理,重点突出。并附上详细的原理图。(三)传感器工作原理 超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差t,然后求出距离S=Ct/2,式中的C为超声波波速。由于超声波也是一种声波,其声速C与温度有关,表1列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。声速确定后,只要测得超声波往返的时间,即可求得距离。这就是超声波测距仪的机理。 (四)系统框图 图1 超声波测距系统框图 (五)单元电路设计原理

1、AT89C2051的功能特点 AT89C2051是一个2k字节可编程EPROM的高性能微控制器。它与工业标准MCS-51的指令和引脚兼容,因而是一种功能强大的微控制器,它对很多嵌入式控制应用提供了一个高度灵活有效的解决方案。AT89C2051有以下特点:2k字节EPROM、128字节RAM、15根I/O线、2 个16位定时/计数器、5个向量二级中断结构、1个全双向的串行口、并且内含精密模拟比较器和片内振荡器,具有4.25V至5.5V的电压工作范围和12MHz/24MHz工作频率,同时还具有加密阵列的二级程序存储器加锁、掉电和时钟电路等。此外,AT89C2051还支持二种软件可选的电源节电方式。空闲时,CPU停止,而让RAM、定时/计数器、串行口和中断系统继续工作。可掉电保存RAM的内容,但可使振荡器停振以禁止芯片所有的其它功能直到下一次硬件复位。 AT89C2051有2个16位计时/计数器寄存器Timer0t Timer1。作为一个定时器,每个机器周期寄存器增加1,这样寄存器即可计数机器周期。因为一个机器周期有12个振荡器周期,所以计数率是振荡器频率的1/12。作为一个计数器,该寄存器在相应的外部输入脚P3.4/T0和P3.5/T1上出现从1至0的变化时增1。由于需要二个机器周期来辨认一次1到0的变化,所以最大的计数率是振荡器频率的1/24,可以对外部的输入端P3.2/INT0和P3.3/INT1编程,便于测量脉冲宽度的门。 图2 ATC2051示意图 2、LCD的工作原理 在两片玻璃基板上装有配向膜,所以液晶会沿着沟槽配向,具有偶极矩的液晶棒状分子在外加电场的作用下其排列状态发生变化,使得通过液晶显示器件的光被调制,从而呈现明与暗或透过与不透过的显示效果。液晶显示器件中的每个显示像素都可以单独被电场控制,不同的显示像素按照控制信号的“指挥”便可以在显示屏上组成不同的字符、数字及图形。因此建立显示所需的电场以及控制显示像素的组合就成为液晶显示驱动器和液晶显示控制器的功能。 LCD器件是由背光源发射的光通过偏振片和液晶盒时,控制投

超声波测距仪的设计说明

题目:超声波测距仪的设计 超声波测距仪的设计 一、设计目的: 以51单片机为主控制器,利用超声波模块HC-SR04,设计出一套可在数码管上实时显示障碍物距离的超声波测距仪。 通过该设计的制作,更为深入的了解51的工作原理,特别是51的中断系统及定时器/计数器的应用;掌握数码管动态扫描显示的方法和超声波传感器测距的原理及方法,学会搭建51的最小系统及一些简单外围电路(LED显示电路)。从中提高电路的实际设计、焊接、检错、排错能力,并学会仿真及软件调试的基本方法。 二、设计要求: 设计一个超声波测距仪。要求: 1.能在数码管上实时显示障碍物的实际距离; 2.所测距离大于2cm小于300cm,精度2mm。 三、设计器材: STC89C52RC单片机 HC-SR04超声波模块 SM410561D3B四位的共阳数码管 9014三极管(4) 按键(1) 电容(30PF2,10UF1) 排阻(10K),万用板,电烙铁,万用表,5V直流稳压电源,镊子,钳子,

导线及焊锡若干,电阻(200欧5)。 四、设计原理及设计方案: (一)超声波测距原理 超声测距仪是根据超声波遇到障碍物反射回来的特性进行测量的。超声波发射器向某一方向发射超声波,在发射同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即中断停止计时。通过不断检测产生波发射后遇到障碍物所反射的回波,从而测出发射超声波和接收到回波的时间差T,然后求出距离L。基本的测距公式为:L=(△t/2)*C 式中 L——要测的距离 T——发射波和反射波之间的时间间隔 C——超声波在空气中的声速,常温下取为344m/s 声速确定后,只要测出超声波往返的时间,即可求得L。 根据本次设计所要求的测量距离的围及测量精度,我们选用的是HC-SR04超声波测距模块。(如下图所示)。此模块已将发射电路和接收电路集成好了,硬件上不必再自行设计繁复的发射及接收电路,软件上也无需再通过定时器产生40Khz的方波引起压电陶瓷共振从而产生超声波。在使用时,只要在控制端‘Trig’发一个大于15us宽度的高电平,就可以在接收端‘Echo’等待高电平输出。单片机一旦检测到有输出就打开定时器开始计时。 当此口变为低电平时就停止计时并读出定时器的值,此值就为此次测距的时间,再根据传播速度方可算出障碍物的距离。 (二)超声波测距模块HC-SR04简要介绍 HC-SR04超声波测距模块的主要技术参数使用方法如下所述: 1. 主要技术参数: ①使用电压:DC5V ②静态电流:小于2mA ③电平输出:高5V

基于51单片机的超声波测距系统

基于51单片机的超声波测距系统 贾源 完成日期:2011年2月22日

目录 一、设计任务和性能指标 (3) 1.1设计任务 (3) 1.2性能指标 (3) 二、超声波测距原理概述 (4) 2.1超声波传感器 (5) 2.1.1超声波发生器 (5) 2.1.2压电式超声波发生器原理 (5) 2.1.3单片机超声波测距系统构成 (5) 三、设计方案 (6) 3.1AT89C2051单片机 (7) 3.2超声波测距系统构成 (8) 3.2.1超声波测距单片机系统 (9) 图3-1:超声波测距单片机系统 (9) 3.2.2超声波发射、接收电路 (9) 图3-1:超声波测距发送接收单元 (10) 3.2.3显示电路 (10) 四.系统软件设计 (11) 4.1主程序设计 (11) 4.2超声波测距子程序 (12) 4.3超声波测距程序流程图 (13) 4.4超声波测距程子序流程图 (14) 五.调试及性能分析 (14) 5.1调试步骤 (14) 5.2性能分析 (15) 六.心得体会 (15) 参考文献 (16) 附录一超声波测系统原理图 (18) 附录二超声波测系统原理图安装图 (19) 附录三超声波测系统原理图PCB图 (20) 附录四超声波测系统原理图C语言原程序 (21) 参考文献 (26)

一、设计任务和性能指标 1.1设计任务 利用单片机及外围接口电路(键盘接口和显示接口电路)设计制作一个超声波测距仪器,用LED数码管把测距仪距测出的距离显示出来。 要求用Protel 画出系统的电路原理图,印刷电路板,绘出程序流程图,并给出程序清单。 1.2性能指标 距离显示:用三位LED数码管进行显示(单位是CM)。 测距范围:25CM到 250CM之间。误差:1%。

超声波测距系统设计

超声波测距系统设计

论文题目:超声波测距系统设计 摘要 超声波具有不受外界光及电磁场等因素的影响的优点,超声波测距作为一种有效的非接触式测距方法已被应用于多个领域。 本设计采用渡越时间法,硬件系统分为发射模块、接收模块、显示模块、中央处理模块四个部分。本设计采用STC89C52单片机作为微型中央处理器并由软件实现40kHz脉冲经放大电路从超声波发射探头T-40发射出超声波,接收探头R-40收到声波后经集成芯片CX20106A放大滤波整形后回送到单片机计算,通过发射与接收的时间差和声速计算出距离。本系统使用四位共阳极LED数码管显示距离,能实时显示即时距离。 经测试,在30cm~200cm范围内,误差能控制在2cm以内。根据实验数据进行了误差分析,并提出了解决方案,最后对超声波测距技术的发展进行了展望。通过系统的调试和测试,本设计基本完成了设计要求。 【关键词】单片机,超声波,测距,渡越时间法; 【论文类型】应用型

Title: The design of ultrasonic distance measurement system Major:Electronic and Information Engineering Name: Zhang Yankun Signature:_______ Supervisor: Zhang Xiaoli Signature:_______ ABSTRACT The advantages of ultrasound without the influence of outside light and electromagnetic fields and other factors , ultrasonic distance measurement as an effective non-contact distance measurement method has been used in many fields. This design uses the transit time method, the hardware system is divided into transmitter module, receiver module and display module, the central processing module. This design uses a microcontroller STC89C52 as micro central processing unit and 40 kHz pulse by the software, The ultrasonic emission from the ultrasonic probe the T-40 via the amplifier circuit. Acoustic

超声波测距C语言源程序代码

超声波测距C语言源程 序代码 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

/*{HZ即单位s的倒数}本晶振为12MHZ,因此外部的时钟频率为12MHZ,所以内部的时钟频率为(12M H Z)/12=1M H 即1000000HZ,而机械频率为1/(1MHZ),即每完成一次计算(即定时器的值加一)用时, 即1us(微秒).*/ /*************************************************************************** ********/ #include<> #define UC unsigned char #define UI unsigned int void delay(UI); sbit BX = P3^0;void TimeConfiguration(); a = 0; b = 0; c = 0; P2 =~ 0x00; goto loop; } time = TL0 + TH0*256; juli = ( int )( (time*/2 ); BAI = ( (juli%1000)/100 ); SHI = ( (juli%100)/10 ); GE = ( juli%10 ); /******************************************两种模式的距离显示 ********************************************/ if(juli > MAX) { Hong = 0; Lv = 1; while( t1-- ) { a = 0; b = 1; c = 1; P2 =~ CharacterCode[BAI]; delay(400); a = 1; b = 0; c = 1; P2 =~ CharacterCode[SHI]; delay(400); a = 1; b = 1; c = 0; P2 =~ CharacterCode[GE]; delay(390);

用51单片机实现HC-SR04超声波测距程序

#include //包括一个52标准内核的头文件 #define uchar unsigned char //定义一下方便使用 #define uint unsigned int #define ulong unsigned long sbit Trig = P1^0; //产生脉冲引脚 sbit Echo = P3^2; //回波引脚 sbit test = P1^1; //测试用引脚 uchar code SEG7[10]={~0xC0,~0xF9,~0xA4,~0xB0,~0x99,~0x92,~0x82,~0xF8,~0x80,~0x90};//数码管0-9 uint distance[4]; //测距接收缓冲区 uchar ge,shi,bai,temp,flag,outcomeH,outcomeL,i; //自定义寄存器 bit succeed_flag; //测量成功标志 //********函数声明 void conversion(uint temp_data); void delay_20us(); void main(void) // 主程序 { uint distance_data,a,b; uchar CONT_1; i=0; flag=0; test =0; Trig=0; //首先拉低脉冲输入引脚 TMOD=0x11; //定时器0,定时器1,16位工作方式 TR0=1; //启动定时器0 IT0=0; //由高电平变低电平,触发外部中断 ET0=1; //打开定时器0中断 EX0=0; //关闭外部中断 EA=1; //打开总中断0 while(1) //程序循环 { EA=0; Trig=1; delay_20us(); Trig=0; //产生一个20us的脉冲,在Trig引脚 while(Echo==0); //等待Echo回波引脚变高电平 succeed_flag=0; //清测量成功标志 EX0=1; //打开外部中断 TH1=0; //定时器1清零 TL1=0; //定时器1清零 TF1=0; //

超声波测距系统的设计【开题报告】

开题报告 电子信息工程 超声波测距系统的设计 一、综述本课题国内外研究动态,说明选题的依据和意义 现在认为,超声波最先是从1876年F.Galton的气哨实验开始,这是人类首次产生高频声波。在以后30年内,人们对超声波仍然了解的比较少,发展较为缓慢,对超声波研究没有非常重视。接着在第一次世界大战中,超声波的研究慢慢的受到各国的重视。这时期法国人Langevin使用了一种晶体传感器,并使其在水下接收一些相对较低频率的超声波,并且提出是否可以使用超声波对水中的潜艇进行检测或者在水下利用超声波进行通信。 在1929年,前苏联科学家Sokolov最先提出了利用超声波探进行检查金属物内部是否存在缺陷的想法。在间隔两年后,德国人Mulhauser获准一项关于超声检测方法的德国专利,但是他却没有在这方面进行深入的探索研究。在1934年Sokolov发表了关于超声波在液体槽子里用穿透法作实物试验的结果,使用了多种方法用来检测穿过试验物品的超声波中含有的能量,在这些方法中最为简单的是使用光学方法观察液体表面由超声波形成的波纹的大小。 之后德国人Bergrnann发布了关于超声波的经典著作《uLTRAsoNIC》,在该著作中对超声波早期的大量资料进行了详细的论述,这本著作也一直被认为是超声波领域中的经典之一。美国的Firestone和英国的Sproulels两人对超声波脉冲回波探伤仪进行了首次介绍,并使超声波检测技术发展到了更为重要的一个阶段。在各种各样的超声波检测系统中,这是最为成功的一种检测系统,因为它具有最广泛的代表性,而且其检测结果也是最容易解释的。这种方法除了可用于手工检测外,还可以和各种先进的系统进行联用。直至当前,在超声无损检测中,脉冲回波系统仍然是应用最为广泛的一种。 在50年代由于雷达的快速发展大大的促进了超声波技术的发展;而后随着电子技术的不断快速发展,又使超声波的发展有了一次快速的飞跃。超声波被广泛的应用于医疗诊断、无损检测及工业控制中。在60年代,随着新材料新技术的应用以及对超声波的深入研究,产生了一些超过 100GHz的超高频超声波,而且这些超高频的超声波开始应用于物理学基础研究、通信和计算机技术等领域当中。 在1992年FigneroaJ.F提出一种新的超声回波计时方法,该方法利用峰值和相位相加得到回波时延冈。利用这种测量方法能够达到18一34米的测量范围,误差精度为2%。在2007年,

超声波测距系统设计(00002)

超声波测距系统设计(00002)

毕业设计(论文) 标题:超声波测距系统设计 学生姓名:陈江 系部:电子工程系 专业:应用电子技术 班级:高电子0501班 指导教师:王维斌 株洲职业技术学院教务处制

目录 摘要...........................................................................(Ι) 1、绪论 (1) 1.1超声波传感器的类型 (2) 1.2压电式超声波发生器原理 (2) 1.3超声传感器的特性 (3) 1.4速度影响因素及其补偿 (3) 1.5超声波测量距离的原理 (3) 2、超声波测距仪总体结构 (5) 2.1主控芯片的选择 (5) 2.2单片机AT89S51 的外围电路 (7) 3、超声波发射 (10) 3.1 多谐振荡器特点 (10) 3.2非对称式多谐振荡器工作原理 (10) 3.3超声波发射电路 (11) 4、超声波接收 (13) 4.1接收放大器的方案设计 (13) 4.2超声波接收电路 (13) 5、测温芯片AD590 (15) 5.1 AD590简介 (15) 5.2 AD590的工作原理的内部结构 (16) 5.3 测温电路的设计 (17) 6 系统软件设计 (18) 6.1 系统软件结构 (18) 结论 (19) 参考文献 (20) 附录 (21) 后记 (30)

摘要 文中介绍了一种以单片机AT89S51作为主控制器,最终用7段数码管显示测量距离的超声波测距仪的设计方法。在设计中通过检测超声波信号从发送到接收的时间间隔t,计算出测量距离s。但是考虑到超声波传播速度受温度的影响较大,因此系统中还采用了温度传感器AD590来检测周围环境温度,对超声波的传播速度进行温度补偿,提高测量的精度。本设计是以单片机为核心的测距仪器,可以实现预置、多端口检测、显示等多种功能,并且成本低、精度高、操作简单、工作稳定可靠。从而实现直接的查看距离值、显示、输出控制的功能。 关键词:超声波;测距;测量误差;温度补偿; AT89S51

带温度补偿的超声波测距程序

/**程序:基于HC-SR04得超声波测距系统 *单片机型号:STC90C51612MHz *说明:开始连续进行7次超声波测距,每次测距间隔80ms, *完成后对7次结果排序并将最大得2个数值与最小得2个数值去除,对剩余得 *3个数值取平均值。完成后指示灯灭,输出结果到LCD1602上。测量超出范围则发出报警声、 *使用两个IO端口控制HC-SR04触发信号输入与回响信号输出, *以及一个T0定时器用于时间计数。 * 使用DS18B20测量环境温度,声速公式:V=334。1m/s+Temperature*0、61, *单片机晶振为12Mhz(11、953M),计数时为T=1us *计算公式:S=(334。1m/s+Temperature*0。61)*N*T/2,N为计数值=TH0*256+TL0*/ /*包含头文件*/ #include 〈reg51。h> #include 〈intrins。h> #define Delay4us(){_nop_();_nop_();_nop_();_nop_();} /*宏定义*/ #define uchar unsignedchar?//无符号8位 #define uint?unsigned int//无符号16位 #define ulongunsigned long ?//无符号32位 /*全局变量定义*/ sbit BEEP=P1^5;??//报警测量超出范围 sbit Trig=P3^4; //HC-SR04触发信号输入 sbitEcho=P3^2;?//HC—SR04回响信号输出 float xdataDistanceValue=0。0;?//测量得距离值 float xdata SPEEDSOUND; ??//声速 float xdataXTALTIME; ?//单片机计数周期 uchar xdata stringBuf[6];??//数值转字符串缓冲 //LCD1602提示信息 uchar codePrompts[][16]= { ?{"Measure Distance"}, //测量距离 {"-Out of Range -"}, //超出测量范围 ?{"MAX range400cm "}, //测距最大值400cm {”MIN range 2cm"},?//测距最小值2cm {”"},?//清屏 }; uchar xdata DistanceText[]="Range: ";//测量结果字符串 uchar xdata TemperatureText[]="Temperature:";//测量温度值 /*外部函数声明*/ extern voidLCD_Initialize(); //LCD初始化 extern void LCD_Display_String(uchar*, uchar); externvoid ReadTemperatureFromDS18B20(); extern int xdataCurTempInteger; void DelayMS(uint ms);?//毫秒延时函数 voidDelay20us(); //20微秒延时函数 voidHCSR04_Initialize();//HCSR04初始化 float MeasuringDistance();?//测量距离

相关文档