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

下载本文档

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

文档简介

综合技能训练设计报告课题名称:单片机超声波测距仪设计姓 名:尧飞扬班 级:1410601学 号:201410060135指导老师:马善农东华理工大学机械与电子工程学院2017年6月目 录1设计要求2设计方案3软件核心部分代码4调试心得和收获1. 设计要求 1.利用超声波模块进行测量系统到前方障碍物之间的距离。2.用户可以通过按键设定距离的上限和下限。3.当系统检测到跟前方障碍物的距离超出设定范围的时候驱动蜂鸣器报警。4.系统通过检测环境温度,校正超声波的传播速度,使其距离测量更加精确。5.系统通过LCD1602显示相关设置的参数。2 设计方案由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到农业生产等自动化的使用要求。 超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、电动型等;机械方式有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率、和声波特性各不相同,因而用途也各不相同。目前在近距离测量方面常用的是压电式超声波换能器。根据设计要求并综合各方面因素,本文采用AT89C51单片机作为控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器。2 系统的硬件结构设计由单片机AT89C51编程产生40kHz的方波,由P3.6口输出,再经过放大电路,驱动超声波发射探头发射超声波。发射出去的超声波经障碍物反射回来后,由超声波接收头接收到信号,通过接收电路的检波放大、积分整形及一系列处理,送至单片机。单片机利用声波的传播速度和发射脉冲到接收反射脉冲的时间间隔计算出障碍物的距离,并由单片机控制显示出来。该测距装置是由超声波传感器、单片机、发射/接收电路和LED显示器组成。传感器输入端与发射接收电路相连,接收电路输出端与单片机相连接,单片机的输出端与显示电路输入端相连接。其时序图如图1-2所示。图1-2 时序图单片机在T0时刻发射方波,同时启动定时器开始计时,当收到回波后,产生一负跳变到单片机中断口,单片机响应中断程序,定时器停止计数。计算时间差,即可得到超声波在媒介中传播的时间t,由此便可计算出距离。3核心代码超声波测距的原理为超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R所接收到。这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。距离的计算公式为:d=s/2=(ct)/2 (1) 其中,d为被测物与测距仪的距离,s为声波的来回的路程,c为声速,t为声波来回所用的时间。在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。其部分源程序如下: TMOD=0X01; /T0计数,方式1TH0=0; /计数初值TL0=0; /计数初值IT0=1; /INT0负脉冲触发EA=1; /开总中断EX0=1; /开外部INT0中断AGAIN=1;WHILE(1)UCHAR X;IF(ON=0) /启动键处理DELAY1MS(5); /按键消抖IF(ON=0)ONOFF=1; /启动WHILE(ON);/等待按键释放IF(OFF=0) /停止键处理DELAY1MS(5); /按键消抖IF(OFF=0)ONOFF=0; /停止WHILE(OFF); /等待按键释放IF(ONOFF)OUT=0;/产生方波,输出低电平DELAYS();/延时 产生几个微秒的低电平,让模拟反射的单片机能正确接收信号OUT=1;/恢复高电平,停止模拟发射TH0=0;TL0=0;AGAIN=0;/TR0=1; /T0开始计数FOR(X=0;X20;X+)DISPLAY(); /数码管显示IF(AGAIN=0)BWEI=SHWEI=GWEI=0;ELSEBWEI=SHWEI=GWEI=10; VOID INT0(VOID) INTERRUPT 0 USING 1 /INTO中断服务程序 FLOAT COUNT; ULONG NUM; TR0=0 ; /停止计数 COUNT=(TH0*256+TL0)/2; NUM= (COUNT/10000)*344;/计算超声波来回距离 / NUM= NUM/2; /总距离除2等于实际距离超声波发生子程序的作用是通过P1.0端口发送2个左右超声波脉冲信号(频率约40kHz的方波),脉冲宽度为12s左右,同时把计数器T0打开进行计时。超声波发生子程序较简单,但要求程序运行准确,所以采用汇编语言编程。 超声波测距仪主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入中断程序。进入中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示此次测距不成功。前方测距电路的输出端接单片机INT0端口,中断优先级最高,左、右测距电路的输出通过与门IC3A的输出接单片机INT1端口,同时单片机P1.3和P1.4接到IC3A的输入端,中断源的识别由程序查询来处理,中断优先级为先右后左。部分源程序如下:receive1:push psw push acc clr ex1 ;关外部中断1 jnb p1.1, right ;P1.1引脚为0,转至右测距电路中断服务程序jnb p1.2, left ;P1.2引脚为0,转至左测距电路中断服务程序 return:SETB EX1;开外部中断1 pop? acc pop? psw reti right: .? ;右测距电路中断服务程序入口 ? ajmp? return left:. ;左测距电路中断服务程序入口 ? ajmp? return 心得在元件及调制方面,由于采用的电路使用了很多集成电路。外围元件不是很多,所以调

温馨提示

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

评论

0/150

提交评论