超声波测距仪单片机课设实验报告材料_第1页
超声波测距仪单片机课设实验报告材料_第2页
超声波测距仪单片机课设实验报告材料_第3页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理与单片机系统课程设计评语:考勤10分守纪10分过程30分设计报告30 分答辩20分总成绩(100 分)专业:轨道交通信号与控制班级:交控1305姓 名:贺云鹏学 号:201310104指导教师:建国交通大学自动化与电气工程学院2015年12月30 日超声波测距仪设计1设计说明1.1设计目的超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍 物的实际距离。超声波测距主要应用于倒车提醒、建筑工地、工业现场等的距离测量。超声波在气体、液体及固体中以不同速度传播,定向性好、能量集中、传输 过程中衰减较小、反射

2、能力较强。超声波能以一定速度定向传播、 遇障碍物后形 成反射,利用这一特性,通过测定超声波往返所用时间就可计算出实际距离,从而实现无接触测量物体距离。超声波测距迅速、方便,且不受光线等因素影响, 广泛应用于水文液位测量、建筑施工工地的测量、现场的位置监控、振动仪车辆 倒车障碍物的检测、移动机器入探测定位等领域。1.2设计方法本课题包括数据测距模块、显示模块。测距模块包括一个 HC-SR04超声波 测距模块和一片AT89C51单片机,该设计选用HC-SR04超声波测距模块,通过 HC-SR04发射和接受超声波,使用AT89C51单片机对超声波进行计时并根据超 声波在空气中速度为 340 米每秒的

3、特性计算出距离。 显示模块包括一个 4 位共阳 极 LED 数码管和 AT89C51 单片机,由 AT89C51 单片机控制数码管动态显示距 离。1.3 设计要求采用单片机为核心部件, 选用超声波模组, 实现对距离的测量, 测量距离能 够通过显示输出 (LED,LCD) 。2 设计方案及原理2.1 超声波测距模块设计HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距 精度可达高到3mm。模块包括超声波发射器、接收器与控制电路。当提供一个 10uS以上正脉冲触发信号,该模块部将发出8个40kHz周期电平并检测回波。一 旦检测到有回波信号则输出回响信号。回响信号的脉冲

4、宽度与所测的距离成正 比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离由以上信息,在设计时选用两个定时器,定时器 1用来定时800ms,当产生 中断时,启动HC-SR04超声波测距模块,即给其TRIG(发射)口送一个持续20ms 的正脉冲,定时器0用来对超声波传递时间进行计时,即当 ECHO (回波)口为 高电平时启动计时,当ECHO 口变为低电平时关闭计时。再根据超声波在空气中 的传播速度为340米每秒,通过AT89C51计算出距离,当距离超过400cniM,显示 8888,表示超出工作距离。2.2 LED 显示模块设计将算得的距离通过一个4位LED数码管采用动态扫描进行显示。2

5、.3 其他功能的设计考虑到实际的需求,本设计还应增加以下功能:1、增加一个指示灯。当 ECHO (回波)口为高电平时,即超声波信号在空 气中传播时,指示灯点亮。当数码管不能正常点亮时,若指示灯正常指示,则说 明 LED 显示模块发生故障;若指示灯不能正常点亮,则说明超声波测距模块发 生故障。2、增加一个锁存按钮。由于设计时我们设计的为每 800ms超声波测距模 块启动一次, 由于定时器会产生误差, 造成测得距离不断变化, 增加一个锁存按 钮,当确定显示结果稳定时,按下按钮时,关闭超声波测距模块,可以使结果清 楚显示。3、增加一个待机按钮。 当按下锁存按钮后, 再按下待机按钮, 这时关闭 LED

6、 显示,若再打开待机按钮,这时 LED 启动工作,显示的数值为上一次被测距离。2.4 设计成本及定价成本:1、HC-SR04超声波测距模块1个3.3元2、AT89C51 单片机 1 个 2.5 元3、四位 LED 数码管 1 个 1.5 元4、晶振 1 个 0.17元5、电路板 1 个 0.57 元6、其他开关、电阻及电容总计 0.5 元总计: 8.54元市场平均价格: 12 元预计定价: 10 元利润: 1.46 元3 硬件设计此系统的硬件设计主要包括HC-SR04超声波测距模块、AT89C51单片机、4 位 LED 显示模块,并连入指示灯、待机开关和锁存开关。仿真时,将HC-SR04超声波

7、测距模块用一个555延时电路来代替即可,其 中调节改变滑动变阻器的阻值可以模拟被测物体距离的变化。 实验仿真电路图如 图 1 所示。.1 1E駅手z : . . I .1 I . 9l|-44:富參 H 配:;: g- +俑右祿协Pn1 . « > hT.c.>L6Oii?r灌幌图1设计硬件电路图4软件设计此系统的软件设计主要包括超声波测距模块设计、LED显示模块设计、和其他拓展模块。采用定时器1每800ms发射一个脉冲信号启动超声波测距模块, 采用定时器0计算超声波传播时间,并通过一个计算函数算得距离,然后送LED 显示屏进行动态扫描并显示结果。4.1程序流程图主程序流

8、程图如图2所示r-JTRlG 口融 t 榊萇的庐电T1F汁!?託萬M姑 8*昭关创捋亦if呈示图2程序流程图4.2程序基于AT89C51单片机的超声波测距源程序见附录5系统仿真及调试结果基于AT89C51单片机的超声波测距仿真结果见附录二。基于AT89C51单片机的超声波测距调试结果如图 3所示。Build target. ' Target 11Linking.PrQgrm:= O=preatinjfile fr口m "ZUIHOU".*'UIHOU" - 0 Erwr (s) r 0 Earning (&)| 卜 f &uikl

9、/ Command Find in Files f图3系统程序调试结果6总结本设计通过对超声波测距的研究,与单片机结合,实现了超声波测距的目标, 并增加了数据锁存、指示灯和待机的功能。仿真时由于软件中没有HC-SR04莫块, 因此用555延时电路来代替。通过这次课程设计,我加深了对单片机的理解,也为以后更好的运用打下了 基础。最后要感谢老师的指导,在老师的耐心解答下,我受益匪浅。参考文献1 积英.数字电子技术中国电力,20112 市捷什科技.HC-SR04超声波测距模块说明书3 彭江单片机原理及接口技术的开发J.软件导刊,2011,12(8):66-70.4 王思明金敏.苟军年鑫乔礼单片机原理

10、及应用系统设计科学.2012附录一:实验源程序#include<reg51.h>#define uchar unsigned char#define uint unsigned int#define LED_port P0 #define LED_pos P1sbit qq=P2A6;sbit suocu n=P2A1;sbit RX=P1A4;sbit TX=P1A5;sbit D1=P3A7; uint time=0;uint timer=0; unsigned long S=0;/用于 LED 段选/用于 LED 位选/待机按钮/锁存结果/回波/送波/接收指示灯/定时器 0

11、时间/定时器 1 时间/用于显示最后计算得到的距离unsigned long W2=0,0; / 用于比较两次测算距离大小 bit flag =0;/定时器 0 中断溢出标志位uchar value4;uchar code LED_seg10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; / 数码管段选/uchar code pos4=0x01,0x02,0x04,0x08; 数码管位选*void Delay(uchar t)uchar i,j,k;for(i=0;i<t;i+) for(j=0;j<20;j+) for(k=

12、0;k<20;k+);/延时函数*/void value_shift(uchar value)value0=S/1000; value1=S/100%10;value2=S/10%10; value3=S%10;/将距离值的每位放到数组中*/void Display(uchar value) uchar i; for(i=0;i<4;i+)/数码管显示LED_pos=posi;LED_port=LED_segvaluei;Delay(1);I*void zd3() interrupt 3 /T1 中断用来扫描数码管和计 800MS 启动模块 /这是计时器 1 中断TH1=0xf8;

13、 /赋初值, 2msTL1=0x30;timer+;if(timer>=400)timer=0;TX=0; /800MS 启动一次模块Delay(30);一次超声波信号时长30ms仿真时只需加负脉冲,故屏蔽此句TX=1;*/flag=1; / 中断溢出标志/*/void Count(void)/计算程序time=TH0*256+TL0;/这是最后算到的时间, 往返时间, 但应该再乘以 12/11.0593M 是一个机器周期,时间应该是 time*12/11.TH0=0;/定时器 0 的初始值为 0TL0=0;S=(time*1.845)/10; / 算 出 来 是 mm , time*1

14、2*170/(11.0592*1000)mm=time* (1845/10000) mmW0=S;if(W0-W1F2)v=100) 进行校正,若两次结果相差小于10mm,则采用前一次结果S=W1;elseW1=S;if (S>=4000)/最大距离 4m,即 4000mmS=8888;if (flag=1)/判断是否溢出S=8888;flag=0;TH0=0;TL0=0;*/void main( void )TMOD=0x11;/设TO为方式1, T1为方式1TH0=0;/中断 0 初始化TL0=0;/中断 1 初始化TH1=0XF8;TL1=0X30;ET0=1;/允许 T0 中断ET1=1;TR1=1; qq=1;suocun=0;EA=1;while(1)while(!RX) ; /当 RX 为零时等待,即 echo 为低电平TX=1;TR0=1;D1=1;/ 开启计数TR0=0;/关闭计数D1=0;/关指示灯while(!qq) /待机按钮按下时,关

温馨提示

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

评论

0/150

提交评论