单片机课设超声波测距_第1页
单片机课设超声波测距_第2页
单片机课设超声波测距_第3页
单片机课设超声波测距_第4页
单片机课设超声波测距_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机系统课程设计报告专业:测控技术与仪器学生姓名:潘高红 杜丽梅学号:2009024220 2009024205指导教师:张秀峰 葛平淑完成日期:2011年11月25日目录1 设计任务和性能指标 1.1.1 设计任务 1.1.2 性能指标 1.2 设计方案 1.2.1 任务分析 1.2.2 方案设计 2.2.3 US-100 超声波测距模块 2.3 系统硬件设计 3.3.1 单片机的最小系统 3.3.2 串口触发测距工作原理 5.3.3 超声波检测接收电路设计 5.3.4 串口触发测温工作原理 6.3.5 LCD 液晶显示 6.4 系统软件设计 7.4.1 主程序设计 7.4.2 测温及显示

2、程序设计 8.4.3 超声波发射及接收程序设计 8.5 调试及性能分析 9.5.1 调试分析 9.5.1.1 软件调试 9.5.1.2 硬件调试 9.5.2 性能分析 1.0.6 心得体会 1.0.参考文献 1.1.附录 1 系统原理图 1.2.附录 2 程序清单 1.3.附录 3 元件清单 1.6.1设计任务和性能指标1.1设计任务设计一个超声波测距器,可应用在汽车倒车、建筑施工工地以及一些工业现 场的位置测控,也可用于如液位、井深、管道长度的测量等场合。1.2性能指标测量范围04.5m; 测量精度0.3cm+1%;测量时与被测物体无直接接触,能够清晰稳定地显示测量结果2设计方案2.1任务分

3、析超声波测距仪是利用超声波发射器向某一方向发射超声波, 在发射时刻的同 时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收 器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2。图1测距的原理超声波测距主要应用于倒车雷达、建筑施工工地以及一些工业现场,例如: 液位、井深、管道长度等场合。目前国内一般使用专用集成电路设计超声波测距 仪,但是专用集成电路的成本很高,并且没有显示,操作使用很不方便。超声波 指向性强,穿透能力强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经 常

4、用于距离的测量。如测距仪和物位测量仪等都可以通过超声波来实现 。但由于 超声波传感器的成本较高,所以一般运用于专业领域,民用产品中运用较少。考虑 到一般情况下对测距的要求较低,可在一定程度上牺牲其精确度和测距范围,从 而降低成本,使其运用范围大大扩展。超声波测距系统主要由声波发射电路、 回波接收电路以及信号采集电路、温 度补偿电路等组成。2.2方案设计由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声 波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简 单,并且在测量精度方面也能达到农业生产等自动化的使用要求。超声波发生器可以分为两大类:一类是用电气方式产生

5、超声波,一类是用 机械方式产生超声波。电气方式包括压电型、电动型等;机械方式有加尔统笛、 液哨和气流旋笛等。它们所产生的超声波的频率、功率、和声波特性各不相同, 因而用途也各不相同。目前在近距离测量方面常用的是压电式超声波换能器。根据设计要求并综合各方面因素,本文采用 AT89C52单片机作为控制器,用动态 扫描法实现LED数字显示。按照系统设计的功能的要求,初步确定设计系统由主控模块、US-100超声波测距模块两个模块组成,电路系统构成框图如图 2.1所示。主控芯片使用51 系列AT89C52单片机,采用高性能的静态 80C51设计,由先进工艺制造,并带 有非易失性Flash程序存储器。它是

6、一种高性能、低功耗的 8位COMS微处理 芯片,市场应用最多 超声波测距器的算法设计超声波测距的原理即超声波发生器 T在某一时刻发出一个超声波信号,当这个 超声波遇到被测物体后发射回来,就被超声波接收器R所接收到。这样只要计算出从发出超声波信号到返回信号所用的时间, 就可以算出超声波发生器与反射 物体的距离。距离的计算公式为:d s 2 c t 2其中d为被测物体与测距器的距离,s为声波来回的路程,c为声速,t为声 波来回所用的时间。2.3 US-100超声波测距模块US-100超声波测距模块可实现04.5m的非接触测距功能,拥有2.45.5V的宽 电压输入范围,静态功耗低于2mA自带温度传感

7、器对测距结果进行校正,同时具有GPIQ串口等多种通信方式,内带看门狗,工作稳定可靠:主要技术参数电气参数US-1OO超声波测距模块工作电斥DC 2. 4V5. 5V静态电流2 mA工作温度-20+70度输出方式电平或UART (跳线帽选择)应角度小于15度探测距离2 cm-450cm探测精度0. 3cm+l%LART模式下串口配垃波特9600-起始位1位, 停止位1位.数据位8仏无 奇偶校验.无流控制*本模块实物图图 3.1:US-100 On 图图3. 2: US-100背血图3系统硬件设计3.1单片机的最小系统ATME公司生产的AT89C51单片机它是硬件电路的核心部分,时钟电路晶振使用1

8、2MHz复位电路采取按键复位方式。具体连接图3.1和图3.2 。17Cap 20pF图3.1单片机系统的时钟电路图3.2单片机系统的复位电路3.2串口触发测距工作原理VCC图3.2超声波发射电路原理图半】I逋用悌拄牯睾9600.赴邺慨1忖“椁止椀呃劭劉憧8恆,无舟憎糙盼.尢雀控制发机映囲B的HIH細如讦4T ZU1H*相蜕荻阳绘列ft毗的时佃卡P模块*型租匮件憋2S测冊n舗対予萌环城覲度怕H粗孫环境淋用对珀姑果进订戟眩 氏离更准佛.热后通过:串口RX确出和虞检正后,刨响图6申口触发测距时序图3.3超声波检测接收电路设计利用US-100模块实现GIO图3.4超声波检测接收电路图3.4串口触发测温

9、工作原理利用US-100模块实现审口通倩协波特串側偽超始垃I枪.停比悅1忖,敷期谊盘册无奇鶴检验,无龍押制创!发信号M通过TX盅送限50Ml棧块衣动趙度n仿爾器测温II測盘肖前环境型度馆岫出回啊宿号UH 将坏站温度值通过弗口谕Hi图7串口触发测温时序图3.5 LCD液晶显示采用LED数码管显示,利用4个共阳极数码管显示4位数值。单片机的P0 口作 为数码管段选信号输出。LED显示电路4系统软件设计4.1主程序设计主程序首先是对系统环境换初始化,设置定时器TO工作模式为16位定时计 数器模式,T1为8位自动重装模式。首先调用测温程序,计算超声波的速度, 接下来置位总中断允许位。然后开启测距定时器

10、,在调用显示程序的同时等待外 部中断0上的回波中断。若等到计数器 T1 一处中断了,还没接收到回波中断, 则报警并启动新的测距。若收到回波中断,则进入计算距离子程序。测出的距离 将以十进制BCD码方式送往LCD显示,之后再发出超声波重复测量过程。 下面为 主程序流程图:开始图4.1系统程序流程图4.2测温及显示程序设计在模块上电前,首先插上模式选择跳线上的跳线帽,使模块处于串口触发模 式。在此模式下只需要在Trig/TX管脚输入0X50(波特率9600),系统便启动温 度传感器对当前温度进行测量,然后将温度值通过Echo/RX管脚输出。测量完成 温度后,本模块会返回一个字节的温度值(TData

11、),实际的温度值为TData-45。 例如通过TX发送完0X50后,在RX端收到0X45,则此时的温度值为69 (0X45的 10进制值)-45 = 24 度。4.3超声波发射及接收程序设计在模块上电前,首先插上模式选择跳线上的跳线帽,使模块处于串口触发模式。 在此模式下只需要在Trig/TX 管脚输入0X5(波特率9600),系统便可发出8个 40KHZ的超声波脉冲,然后检测回波信号。当检测到回波信号后,模块还要进行 温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过 Echo/RX管脚输出。输出的距离值共两个字节,第一个字节是距离的高8位(HDate),第二个字节为距离的

12、低 8位(LData),单位为毫米。即距离值为(HData*256 +LData) mm5 调试及性能分析5.1 调试分析5.1.1 软件调试1下载调试 1)首先测试串口工作是否正常,通过下载软件直接发送数据,显示可以收 到,则表示串口工作正常。2)通过观察PCB板上布线,结合实验原理用万用表检测连线是否正确。2串口下载程序成功后,但是 led 没有显示,通过以下调试过程排除了障 碍。1)测试晶振,用示波器观察图形检测晶振是否工作,示波器显示图形表示 工作正常。2)检测单片机是否工作: 编写小程序使单片机 P1.0 口取反,指示灯出现亮、 灭交替则说明单片机工作正常。3程序调试。 对主程进行分

13、块调试,由于 US-100 模块自身内部带有各个模块的程序,此 处并不对其具体各子功能模块进行调试。具体步骤如下:(1)超声波发射和接收及其中断程序调试。首先看计数器初值是否正确装入,接下来通过给计数器 T0 设定一恰当的值 来调试计数器 T0 溢出中断是否正常,结果显示正常。其次调试计数器 T1 能否 正确运行于工作方式 2,调试结果正常。(2)测温及温度计算程序调试( 3)计算距离子程序调试 计算距离子程序中主要包括两部分, 一是两字节乘两字节乘法程序, 另一个 是四字节除两字节除法程序。调试主要是通过人为设定数据存放单元中的数据, 检查结果是否正确,经过几次代数试验,执行功能正确。( 4

14、) LCD 液晶显示程序调试 因要用到液晶模块, 无法只用软件对其进行调试。 只能结合硬件才可进行调 试。5.1.2 硬件调试 硬件调试主要是检测硬件电路是否有短路、断路、虚焊等。具体步骤及测试结果如下:(1)检查电源与地线是否全部连接上,用万用表对照电路原理图测试各导线是否完全连接,对未连接的进行修复。(2)参照原理图,检查各个器件之间的连接是否连接正确,是否存在虚焊, 经测试,各连接不存在问题。(3)以上两项检查并修复完后,给该硬件电路上电,电源指示灯点亮,上 电正常。5.2 性能分析由设计方案及测试结果可知该测距仪测温的精度为 0.3cm+1%,但由于测温 传感器的安装位置使得测温可能不

15、是很准确。测距离的精度为 1cm测量时测距 仪与物体无直接接触, 通过调节液晶的对比度, 能够清晰地显示测量结果。 从这 方面讲,性能较好。从测距仪测量范围方面来讲,一开始我们初步确定为在4.5m以内。但目前还未能实现这一目标。 并且可以明显察觉到换能器发出超声波的频率随测量距离 的不同会有所改变。通过调试,基本达到课程设计的要求。1. 测量范围 04.5m;2. 测量时与被测物体无直接接触,能够清晰稳定地显示测量结果;3. LED 数码管能正常显示计算数值根据文中电路和参数,测距器可测量范围为 04.5m,实验中由于发射电路 和接收电路的不稳定性,测距器存在测量误差,误差大于设计误差。6 心

16、得体会通过三周的课程设计,使我们更加的了解了单片机课程设计的具体流程和 步骤,进一步深入的了解了单片机最小系统, 同时加深了对设计硬件电路的认识。在设计硬件电路的过程中, 我们学会了从各个途径广泛地收集资料并加以综 合分析,形成自己的方案思路。 并对照每个电路模块进行可行性分析。 这锻炼了 我们收集信息和自主设计能力。在画原理图和PCB时,出现了很多问题,在调 试的时候由于PCB的失误,给了我们很多学习和排除障碍的机会,从调试的过程 我们学到了许多调试电路元器件的方法, 对以前的知识有了更深的理解, 为以后 更好的应用打下了基础。 程序的编写过程我们也有了很大的收获。 在编写程序之 前,复习了

17、有关C语言和汇编语言编写的知识,查阅了大量的相关资料。在把握 了整体思路后,先从程序流程图着手, 将整个程序分成若干模块,分开编写。在本此课设当中,我们主要查阅了 US-100这个测温测距合体的模块的资料 由于此模块自身带有接收发送测量出的数据的功能, 同时兼顾了测温的功能, 这 使得我们的程序编写相对来说简单明了, 同时,利用此模块做出得实物, 更具有 利用价值,省去很多复杂电路的焊接, 使电路板看起来简单易懂, 节省很多时间。 同时我们也了解了关于此模块的用法,掌握了单片机与此模块接口的方法。通过这次课程设计, 使我学到了很多调试电路元器件的方法, 同时也学会了 许多排除错误的方法。 编写

18、程序时, 通过查阅大量的资料, 加深了有关于汇编语 言的知识。这次课程设计结束以后, 使我对课程设计有了充分的了解并得到了很大的锻 炼,加强了自己设计课程设计的能力,为以后工作有很大的帮助。参考文献1 刘岩川等 . 单片机原理及接口技术 . 大连民族学院 ,2011.22 李珩,杨杉,欧大生 . 电路设计与制版: Protel DXP 实用教程 .西安电子科技大学出版 社,2004.113 白延敏 . 51 单片机典型系统开发实例精讲 .北京:电子工业出版社, 2009,14 陈明荧 .8051 单片机课程设计实训教材 . 北京:清华大学出版社 ,2004.附录1系统原理图ita*二4昌ji/

19、rUbiie;Y 1:.1:bifl片9h3u u!IlS.4-1*1zLstiimjLH9 !* .首打 4专电._ I兀2 mfhr *h! 一冠-TH PJrlid t 2 “H H 社一1h!孑i*-i1附录 2 程序清单#include / 包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 sbit led=P1A7;const unsigned char NumValue11 = 0x3f,0x06,0x5b,0xcf,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -.void Display

20、Length(unsigned long number);void DisplayLED(unsigned char ip,unsigned char dat);void Delay5Ms(void);void MeterLenByUART();void UARTSnd(unsigned char dat);unsigned char LastRcvData;unsigned char GLengthHigh, GLengthLow;unsigned char RcvIndex;void main()unsigned long PreLength;unsigned char tempa;TMOD=0x20;TH1=0xf3;TL1=0xf3;SCON=0x50;ES = 1;/ enable UART interruptEA = 1;TR1=1;GLengthHigh = 0;GLengthLow = 0;RcvIndex = 0;while(1)MeterLenByUART();for(tempa = 0; tempa 100; tempa+)/display LengthPreLength = GLengthHigh;PreLength 9999) number = 0;Thousand = number/1000;number = number%1000;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论