欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    基于单片机的超声波测距仪的设计参考论文1.doc

    • 资源ID:1131748       资源大小:1.59MB        全文页数:41页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机的超声波测距仪的设计参考论文1.doc

    电机学院课程设计任务书课程名称电子技术应用课程设计课程代码013014P1设计题目基于单片机的超声波测距仪设计设计时间20XX月3日20XX月21日院系电气学院专业电气工程及其自动化班级BG1001一、课程设计任务汇总本课程设计超声波的设计是利用单片机,超声波测距原理设计一个超声波测距仪。具体功能是:可提供2cm-400cm的非接触式距离感测功能。测距精确度可达3mm。利用数码管显示测量距离。二、对课程设计成果的要求包括课程设计说明书、图纸、图表、实物等软硬件要求设计方案:选择单片机与超声波传感器模块结合的方法实现本设计。使用的基本元器件是:AT89C51单片机,HC-SR04超声波测距模块,数码管,USB-TTL下载线,按键,电容,电阻,晶振,标准电源等。设计的基本框图如下:三、课程设计工作进度计划:20XX6月3日20XX6月7日 系统构思及完成电路图的设计。20XX6月8日20XX6月13日 部分模块电路调试及PCB板制作。20XX6月14日20XX6月17日 焊接电路及整体系统调试。20XX6月18日20XX6月20日 调试完成并撰写报告。四、主要参考资料 1宋彩利,友仓,吴宏岐.单片机原理与C51编程M.交通大学, 2011.10.42谭浩强.C程序设计第四版.:清华大学,2010.6指导教师签名: 系主任签名: 年 月 日 年 月 日摘 要本设计介绍了基于单片机控制的超声测距仪的原理:由AT89C52控制定时器产生超声波脉冲并计时,计算超声波自发射至接收的往返时间,从而得到实测距离。并且在数据处理中采用了温度补偿的调整,用四位LED数码管切换显示距离和温度。整个硬件电路由超声波发射电路、超声波接收电路、电源电路、显示电路等模块组成。各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。相关部分附有硬件电路图、程序流程图,给出了系统构成、电路原理及程序设计。此系统具有易控制、工作可靠、测距准确度高、可读性强和流程清晰等优点。实现后的作品可用于需要测量距离参数的各种应用场合。关键词:AT89C52,超声波,温度补偿,测距ABSTRACTThe design introduces the principle of the ultrasonic distance measurement instrument based on SCMC-controlled: AT89C52controls timers to produce the ultrasonic wave pulse and time,count the time of ultrasonic wave spontaneous emission to receive round-trip,thus obtains the measured distance.Andthe temperature compensation adjustment is usedin the data processing, with four LED nixie tubes display distance or temperature by switching.The entire hardware circuit is composed by ultrasonic transmitter circuit, ultrasonic receiver circuit, the power circuit, display circuit, and other modules. The probe signalsare integrated analysisedby SCMC to achieve the various functions of ultrasonic distance measurement instrument.Based on this has designed system's overall concept, final adoption of hardware and software to achieve the various functional modules. The relevant parts have the hardware schematics and process flow chart.It has given the system constitution, the circuitry and the programming. The instrument system has features: ease of control, stability of operation, highness of precision and distinctness of programme process ,etc. After the realization of the works can be used for needs of the various parameters measured distance applications.Keywords:AT89C52, Ultrasonic wave, Temperature compensation, Measure distance目 录第1章绪论11.1 课题研究的背景11.2 课题研究的意义1第2章超声波测距原理32.1 超声波简介32.2 超声波测距原理3第3章方案论证53.1 设计思路53.2 系统结构设计6第4章硬件系统设计74.1 US-100超声波收发模块74.2 单片机电路94.3 蜂鸣器报警电路114.4 显示电路114.5 供电及程序下载电路12第5章软件编程135.1 软件流程图135.2 主程序145.3 显示程序19第6章下载与调试266.1 USB转串口驱动安装266.2 下载程序26第七章课程设计总结29参考文献30附录1 整体电路图33附录2 程序清单34第1章 绪论1.1 课题研究的背景人们生活水平的提高,城市发展建设加快,城市给排水系统也有较大发展,其状况不断改善。但是,由于历史原因合成时间住的许多不可预见因素,城市给排水系统,特别是排水系统往往落后于城市建设。因此,经常出现开挖已经建设好的建筑设施来改造排水系统的现象。城市污水给人们带来了困扰,因此箱涵的排污疏通对大城市给排水系统污水处理,人们生活舒适显得非常重要。而设计研制箱涵排水疏通移动机器人的自动控制系统,保证机器人在箱涵中自由排污疏通,是箱涵排污疏通机器人的设计研制的核心部分。控制系统核心部分就是超声波测距仪的研制。随着科学技术的快速发展,超声波将在传感器中的应用越来越广。但就目前技术水平来说,人们可以具体利用的传感技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波传感器作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求,如声纳的发展趋势基本为:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需要;继续发展采用低频线谱检测的潜艇拖曳线列阵声纳,实现超远程的被动探测和识别;研制更适合于浅海工作的潜艇声纳,特别是解决浅海水中目标识别问题。毋庸置疑,未来的超声波传感器将与自动化智能化接轨,与其他的传感器集成和融合,形成多传感器。随着传感器的技术进步,传感器将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。1.2 课题研究的意义在现实生活中,一些传统的距离测量方式在某些特殊场合存在不可克服的缺陷,例如,液面测量就是一个距离测量,传统的电极法是采用差位分布电极,通过给电或脉冲检测液面,电极长期浸泡在水中或其它液体中,极易被腐蚀、电解,从而失去灵敏性。而利用超声波测量距离可以很好地解决这一问题。目前市面上常见的超声波测距系统不仅价格昂贵,体积过大而且精度也不高等种种因素,使得在一些中小规模的应用领域中难以得到广泛的应用。为解决这一系列难题,本文设计了一款基于AT89C51单片机的低成本、高精度、微型化的超声波测距仪。第2章超声波测距原理2.1 超声波简介我们知道,当物体振动时会发出声音。科学家们将每秒钟振动的次数称为声音的频率,它的单位是赫兹。我们人类耳朵能听到的声波频率为2020000赫兹。当声波的振动频率大于20000赫兹或小于20赫兹时,我们便听不见了。因此,我们把频率高于20000赫兹的声波称为"超声波"。通常用于医学诊断的超声波频率为15兆赫。超声波具有方向性好,穿透能力强,易于获得较集中的声能,在水中传播距离远等特点。可用于测距,测速,清洗,焊接,碎石等。在医学,军事,工业,农业上有明显的作用。理论研究表明,在振幅相同的条件下,一个物体振动的能量与振动频率成正比,超声波在介质中传播时,介质质点振动的频率很高,因而能量很大。在我国北方干燥的冬季,如果把超声波通入水罐中,剧烈的振动会使罐中的水破碎成许多小雾滴,再用小风扇把雾滴吹入室,就可以增加室空气湿度。这就是超声波加湿器的原理。对于咽喉炎、气管炎等疾病,药品很难血流到打患病的部位。利用加湿器的原理,把药液雾化,让病人吸入,能够疗效。利用超声波巨大的能量还可以使人体的结石做剧烈的受迫振动而破碎。2.2 超声波测距原理超声波是利用反射的原理测量距离的,被测距离一端为超声波传感器,另一端必须有能反射超声波的物体。测量距离时,将超声波传感器对准反射物发射超声波,并开始计时,超声波在空气中传播到达障碍物后被反射回来,传感器接收到反射脉冲后立即停止计时,然后根据超声波的传播速度和计时时间就能计算出两端的距离。测量距离D为 2.1式中 c超声波的传播速度;超声波发射到接收所需时间的一半,也就是单程传播时间。由上式可风,距离的测量精度主要取决于计时精度和传播速度两方面。计时精度由单片机定时器决定,定时时间为机器周期与计数次数的乘积,可选用12MHz的晶振,使机器周期为精确的1µs,不会产生累积误差,使定时间达到1µs。超声波的传播速度c并不是固定不变的,传播速度受空气密度、温度和气体分子成分的影响,关系式为 2.2式中 气体定压热容与定容热容的比值,空气为1.40。 R气体普适常数,为8.314kg/mol。T气体势力学温度,与摄氏温度的关系是T=273K+t。M气体相对分子质量,空气为28.8×10-3kg/mol。c00时的声波速度,为331.4m/s。由上式可见,超声波在空气中传播时,受温度影响最大,由表达式可计算出波速与温度的关系,如表2.1所示。温度越高,传播速度越快,而且不同温度下传播速度差别非常大,例如0时的速度为332m/s,30时的速度为350m/s,相差18m/s。因此,需要较高的测量精度时,进行温度补偿是最有效的措施。对测量精度要求不高时,可认为超声波在空气中的传播速度为340m/s。表2.1 超声波传播速度与温度关系表项目数值温度-30-20-100102030405060100声速/< ms>313319325332338344350356361367388第3章 方案论证3.1 设计思路测量距离的方法有很多种,短距离的可以用米尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。因为超声波在标准空气中的传播速度为331.45米/秒,由单片机负责计时,系统的测量精度理论上可以达到毫米级。超声波测距的原理一般采用渡越时间法TOFtime of flight,也可以称为回波探测法,如图1所示。超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在介质中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。根据传声介质的不同,可分为液介式、气介式和固介式三种。根据所用探头的工作方式,又可分为自发自收单探头方式和一发一收双探头方式。而倒车雷达一般是装在车尾,超声波在空气中传播,超声波在空气中<20>的传播速度为340m/s<实际速度为344m/s这里取整数>,根据计时器记录的时间就可以计算出发射点距障碍物的距离,公式。图1 超声波测距原理由于超声波也是一种声波,其声速c与温度有关,表1列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。表1 声速与温度的关系温度<>3020100102030100声速<m/s>3133193253233383443493863.2 系统结构设计超声波测距仪系统结构如图3.1所示。它主要由单片机、超声波发射及接收电路、超声波传感器、LED显示电路及电源电路组成。系统主要功能包括:本研究设计的超声波测距仪框图如图2所示。图2 超声波测距仪方框图第4章 硬件系统设计4.1 US-100超声波收发模块 该超声波收发模块可自己产生40kHz的方波,并经放大电路驱动超声波发射探头发射超声波,发射出去的超声波经障碍物反射后由超声波接收探头接收。经接收电路的检波放大,积分整形,在ECHO引脚上产生方波脉冲,该脉冲宽度与被测距离成线性关系。具体过程如图3所示。 图3 US-100超声波收发模块工作时序图上图表明:只需要在Trig/TX管脚输入一个10us以上的高电平,系统便可发出8个40KHZ的超声波脉冲,然后检测回波信号,当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过Echo/RX管脚输出。在此模式下,模块将距离值转化为340m/s时的时间值的2倍,通过Echo端输出一个高电平,可根据此高电平的持续时间来计算距离值。即距离值为:高电平时间*340m/s/2注:因为距离值已经经过温度校正,此时无需再根据环境温度对超声波声速进行校正,也就是不管温度多少,声速选择340m/s即可。使用US-100超声波收发模块进行距离测量测量时,单片机只需要输出触发信号,并监视回响引脚,通过定时器计算回响信号宽度,并换算成距离即可。该模块简化了发送和接收的模拟电路,工作稳定可靠,其参数指标如表2所示。表2 US-100模块电气参数应注意测量周期必须在60毫秒以上,防止发射信号对回响信号的影响。图4 US-100超声波模块外形图模块共有两个接口,即模式选择跳线和5pin接口。模式选择跳线接口设置为当安装上短路帽时为UART串口模式,拔掉时为电平触发模式。4.2 单片机电路本设计选用宏晶公司高性能单片机STC89C52,其管脚如图5所示。图5 STC89C52单片机管脚图该芯片为52核8位单片机,兼容Intel等52核单片机,支持ISP下载,适用于常用检测控制电路。由STC89C52组成的单片机系统原理图如图6所示。图中TRIG引脚为单片机发送触发信号的引脚,ECHO引脚为US-100模块送回回响信号的引脚,接至单片机外部中断P3.2脚上,可以利用外部中断测量回响信号宽度。当测量距离小于阈值20cm时,单片机通过管脚P3.6发出灯光报警信号,触发LED报警灯亮,同时通过管脚P3.7发出声音报警信号beep,该信号用以触发蜂鸣器鸣响报警。 图6 单片机系统及超声波模块接口原理图4.3 蜂鸣器报警电路图7所示为蜂鸣器报警电路。由于单片机管脚的灌电流比拉电流容量大,因此电路设计为低电平输出时蜂鸣器响,高电平关闭。当P3.7脚输出低电平时,PNP型三极管8550导通,有集电极电流通过,蜂鸣器鸣响。当P3.7脚输出高电平时,三极管截止,蜂鸣器关闭。图7 蜂鸣器报警电路4.4 显示电路显示部分采用SMC 1602液晶屏进行数据显示,其主要技术参数为:表3 液晶屏技术指标接口信号说明如表4所示。表4 液晶屏接口信号说明与单片机接口电路如图8所示。图8 LCD与单片机接口电路4.5 供电及程序下载电路本设计采用USB接口供电,电源电压5V。同时,USB接口通过含PL2303芯片的转换电路对单片机进行程序编写。其电路原理如图9所示。图9 供电及程序下载电路第5章 软件编程5.1 软件流程图本设计软件主程序流程图如图10所示, <a>为主程序流程图,<b>为定时中断子程序流程图,<c>为外部中断子程序流程图。 <a> 主程序流程图 <b> 外部中断流程图图10 程序流程图5.2 主程序下面介绍main.c主程序编写,其他程序略。<1> 头文件和一些宏定义/*/*超声波测距仪*/*<液晶屏显示>*/*晶振 11.0592MHz*/#include <reg52.h>#include "1602.h"typedef unsigned char U8; /* defined for unsigned 8-bits integer variable无符号8位整型*/typedef signed char S8; /* defined for signed 8-bits integer variable有符号8位整型*/typedef unsigned int U16; /* defined for unsigned 16-bits integer variable无符号16位整型*/typedef signed int S16; /* defined for signed 16-bits integer variable有符号16位整型*/typedef unsigned long U32; /* defined for unsigned 32-bits integer variable无符号32位整型*/typedef signed long S32; /* defined for signed 32-bits integer variable 有符号32位整型*/typedef float F32; /* single precision floating point variable <32bits>单精度浮点数32位长度*/typedef double F64; /* double precision floating point variable <64bits>双精度浮点数64位*/定时器0的定时值为1mS,即11059/12=922个时钟脉冲,其补为65536-922=64614#define SYSTEMCLK 921600 /11059200/12#define T0CLK 921600 /11059200/12#define T1CLK 921600 /11059200/12#define T1PERIOD 1000000/921600 /T1周期时间,以微秒为单位,约为1.085uS#define TIMER0H 0xFC /64614/256=252#define TIMER0L 0x66 /54447%256=102<2> 管脚、常量、变量定义和函数声明/管脚定义sbit Trig = P13;sbit Echo = P32; /回波必须接在外部中断引脚上sbit LedAlarm = P36; /报警灯,低电平亮sbit Beep = P37; /报警蜂鸣器/定义标志volatile bit FlagSucceed = 0; /测量成功标志volatile bit FlagDisplay = 0; /显示标志/定义全局变量U16 DisplayCount=0;U16 time=0;U32 distance=0;/函数声明void delay_20us<>void Start_Module<>void INT0_Init<void>void Data_Init<>void Timer0_Init<>void Timer1_Init<><3> 各子程序/20us延时程序,不一定很准void delay_20us<> U16 bt ; for<bt=0;bt<100;bt+> /8M晶振是100/数据初始化void Data_Init<>Trig = 0;distance = 0;DisplayCount = 0;/外部中断初始化函数void INT0_Init<void> IT0 = 0; /负边沿触发中断 EX0=0; /关闭外部中断/外部中断处理用做判断回波电平void INT0_ISR <void> interrupt 0 time =TH1*256+TL1; /取出定时器的值 FlagSucceed = 1; /置成功测量的标志 EX0=0; /关闭外部中断/定时器0初始化,16位定时模式,初始化为1ms中断一次。void Timer0_Init<>TMOD = 0x11; /定时器0和1工作在16位方式TH0 = TIMER0H;TL0 = TIMER0L; TR0 = 1; /启动定时器ET0 = 1; /允许定时器0中断/定时器0中断,用做显示计时void Timer0_ISR<void> interrupt 1 / 定时器0中断是1号 TH0 = TIMER0H; TL0 = TIMER0L; DisplayCount +; if <DisplayCount >= 1000> /1秒钟显示一次 FlagDisplay = 1;DisplayCount = 0; /定时器1初始化,16位计数模式,时钟为11059200/12=921600Hz/60ms计数为55296,即0xD800void Timer1_Init<>TMOD = 0x11; /定时器0和1工作在16位方式TH1 =0;TL1= 0;ET1 = 1;/启动模块,Trig管脚20us正脉冲void Start_Module<> /启动模块 Trig=1; /启动一次模块 delay_20us<> Trig=0;/* 名称 : Main<>* 功能 : 主函数*/void main<> U16 i, j; EA = 0; INT0_Init<>Timer0_Init<> /定时器0初始化Timer1_Init<> /定时器1初始化 Data_Init<>EA = 1;L1602_init<>L1602_string<1,1,"Welcome to my ">L1602_string<2,1,"distance meter! ">/延时for <i=0;i<1000;i+> for <j=0;j<1000;j+> ;while<1> EA= 0; /以下为一次检测过程:先发出Trig电平,打开外部中断,清零T1,/最后在外部中断下降沿触发时取出T1当前值,计算出Trig脉冲宽度。 Start_Module<> while<Echo=0> /等待Echo回波引脚变高电平FlagSucceed = 0;EX0=1;TH1= 0;TL1= 0;TF1= 0; TR1=1; /启动定时器1开始计数EA = 1;while <TH1<80> ; /盲区TR1 = 0 ; /关闭定时器1EX0 = 0; /关闭外部中断 if<FlagSucceed=1> /一次测试成功,则计算距离,单位为厘米 distance = time * 1.085 ; /计算得到脉冲时间以微秒为单位 /将微秒时间转变成厘米距离的算法: Y米=X秒*344/2 / X秒= 2*Y米/344 =X秒=0.0058*Y米 =厘米=微秒/58 distance /=58; /如果距离小于20cm,则声光报警 if <<FlagSucceed = 1> && <distance < 20>> LedAlarm = 0; Beep = 0; else LedAlarm = 1; Beep = 1; if <FlagDisplay = 1> /1秒显示时间到 if<FlagSucceed=0> /LCD提示无回波 L1602_string<1,1,"OutOfRange<0-4m>"> L1602_string<2,1," - "> else /LCD显示数据 L1602_string<1,1,"Distance Result:"> L1602_string<2,1," cm "> L1602_int<2, 5, distance > FlagDisplay = 0;5.3 显示程序/* 文件名 : 液晶1602显示.c* 描述 : 该程序实现了对液晶1602的控制。*/#include "1602.h"#include "math.h"/* 名称 : delay<>* 功能 : 延时,延时时间大概为140US。* 输入 : 无* 输出 : 无*/void delay<>int i,j;for<i=0; i<=10; i+>for<j=0; j<=2; j+>/* 名称 : Convert<uchar In_Date>* 功能 : 因为电路设计时,P0.0-P0.7接法刚好了资料中的相反,所以设计该函数。* 输入 : 1602资料上的值* 输出 : 送到1602的值*/uchar Convert<uchar In_Date> /* uchar i, Out_Date = 0, temp = 0; for<i=0; i<8; i+> temp = <In_Date >> i> & 0x01; Out_Date |= <temp << <7 - i>> return Out_Date;*/ return In_Date;/* 名称 : enable<uchar del>* 功能 : 1602命令函数* 输入 : 输入的命令值* 输出 : 无*/void enable<uchar del>P0 = Convert<del>RS = 0;RW = 0;E = 0;delay<>E = 1;delay<>/* 名称 : write<uchar del>* 功能 : 1602写数据函数* 输入 : 需要写入1602的数据* 输出 : 无*/void write<uchar del>P0 = Convert<del>RS = 1;RW = 0;E = 0;delay<>E = 1;delay<>/* 名称 : L1602_init<>* 功能 : 1602初始化,请参考1602的资料* 输入 : 无* 输出 : 无*/void L1602_init<void>enable<0x01>enable<0x38>enable<0x0c>enable<0x06>enable<0xd0>/* 名称 : L1602_char<uchar hang,uchar lie,char sign>* 功能 : 改变液晶中某位的值,如果要让第一行,第五个字符显示"b" ,调用该函数如下 L1602_char<1,5,'b'>* 输入 : 行,列,需要输入1602的数据* 输出 : 无*/void L1602_char<uchar hang,uchar lie,char sign>uchar a;if<hang = 1> a = 0x80;if<hang = 2> a = 0xc0;a = a + lie - 1;enable<a>write<sign>/*

    注意事项

    本文(基于单片机的超声波测距仪的设计参考论文1.doc)为本站会员(李司机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开