ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:1,017.75KB ,
资源ID:12644719      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12644719.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于某51单片机的地超声波测距系统的设计.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于某51单片机的地超声波测距系统的设计.docx

1、基于某51单片机的地超声波测距系统的设计1 设计任务本文采用超声波传感器,IAP15单片机以与LCD显示模块设计了一种超声波测距显示器,可以实现测量物体到仪器距离以与显示等功能。是一种结构简单、性能稳定、使用方便、价格低廉的超声波距离测量器,具有一定的实用价值。2 设计思路2.1 超声波测距超声波超声波是指频率在20kHz以上的声波,它属于机械波的X畴。近年来,随着电子测量技术的开展,运用超声波作出准确测量已成可能。随着经济开展,电子测量技术应用越来越广泛,而超声波测量准确高,本钱低,性能稳定如此备受青睐。超声波也遵循一般机械波在弹性介质中的传播规律,如在介质的分界面处发生反射和折射现象,在进

2、入介质后被介质吸收而发生衰减等。正是因为具有性质,使得超声波可以用于距离的测量中。随着科技水平的不断提高,超声波测距技术被广泛应用于人们日常工作和生活之中。一般的超声波测距仪可用于固定物位或液位的测量,适用于建筑物内部、液位高度的测量等。超声在空气中测距在特殊环境下有较广泛的应用。利用超声波检测往往比拟迅速、方便、计算简单、易于实现实时控制,并且在测量精度方面能达到工业实用的指标要求,因此为了使移动机器人能够自动躲避障碍物行走,就必须装备测距系统,以使其与时获取距障碍物的位置信息距离和方向。因此超声波测距在移动机器人的研究上得到了广泛的应用。同时由于超声波测距系统具有以上的优点,因此在汽车倒车

3、雷达的研制方面也得到了广泛的应用。超声波测距原理最常用的超声测距的方法是回声探测法,超声波发射器向某一方向发射超声波,在发射时刻的同时计数器开始计时,超声波在空气中传播,途中碰到障碍物面阻挡就立即反射回来,超声波接收器收到反射回的超声波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物面的距离s,即:s=340t/2。由于超声波也是一种声波,其声速V与温度有关。在使用时,如果传播介质温度变化不大,如此可近似认为超声波速度在传播的过程中是根本不变的。如果对测距精度要求很高,如此应通过温度补偿的方法对测量结果加以数值校正。声速确定后,只要测得

4、超声波往返的时间,即可求得距离。距离计算公式:2-1其中d为被测物与测距器的距离,s为声波的来回路程,c为声波,t为声波来回所用的时间。其中声速c与温度有关。T2-2如果要提高测距准确度,如此必须考虑温度的影响,也可取室温简化电路设计,将温度传感器作为扩展电路,在力所能与的情况下完成。超声波测距模块HC-SR04HC-SR04超声波测距模块可提供2cm至400cm的非接触式距离感测功能,测距精度可达3mm;模块自身包括超声波发射器、接收器与控制电路。实物如图2-1所示:图2-1 HC-SR04模块实物图HC-SR04工作原理与说明:1、给Trig触发控制信号IO端口至少10us的高电平信号。2

5、、模块自动发送8个40khz的方波,并自动检测是否有信号返回。3、有信号返回时,Echo回响信号输出端口输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。4、两次测距时间间隔最少在60ms以上,以防止发射信号对回响信号的影响。如图2-2所示:图2-2 HC-SR04工作原理2.2 LCD1602显示屏LCD1602显示屏实物如图2-3所示:图2-3 LCD1602显示屏LCD1602电路原理图如图2-4所示:图2-4 LCD1602电路原理图2.3 IAP单片机IAP15F2K61S2单片机为增强型8051CPU,具有1个单时钟/机器周期,其工作电压为4.2V5.5V,速度比普通的

6、8051快812倍;61K字节片内FLASH程序存储器,片内大容量2048字节的SRAM,大容量的片内EEPPOM,擦写次数在10万次以上;一共有8道10位高速ADC,速度高达30万次/s,3路PWM还可当3路DA使用;共有3通道比拟单元,内部高可靠复位,8级可选复位门槛电压,彻底省掉外部复位电路;内部高精度RC时钟,内部时钟从5MHz35MHz可选,相当于普通8051的60MHz420MHz;两组高速异步串行通信端口,可以在5组管脚之间进展切换,分时复用可当5组串口使用;各种接口扩展齐全,一根USB线实现系统供电、程序下载与通信功能。单片机实物图与引脚图如图2-5、图2-6所示:图2-5 I

7、AP单片机实物图图2-6 IAP单片机引脚图2.4单片机最小系统对于一个单片机系统,能够工作的前提是具有最小系统模块,最小系统一般包括单片机、晶振电路、复位电路。单片机的复位与晶振电路都是常见的接法,电源用一个按键控制接通与断开,使得程序下载变得方便。电路如图2-7所示:图2-7单片机最小系统电源电路此最小系统中的电源供电模块的电源可以通过计算机的USB口供应,也可使用外部稳定的5V电源供电模块供应。时钟电路单片机晶振的作用是为系统提供根本的时钟信号。内部时钟电路的晶振频率一般选择在4MHZ12MHZ之间本设计选用12MHZ,外接两个谐振电容,该电容的典型值为30pF。如图2-8所示:图2-8

8、 时钟电路复位电路按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。如图2-9:图2-9复位电路2.4 系统整体设计系统主要由三局部组成:单片机,超声波测距模块和LCD1602显示屏构成。单片机在控制中作为控制器,用于对超声波模块的控制和计时,显示电路主要实时显示测量数值。系统框图如图2-10所示:图2-10系统框图3 原理图根据前面对设计的各个相关模块的分别讲述,再结合单片机的引脚功能,从而得到系统整体电路图,如图3-1所示:图3-1 原理图在图3-1中,LCD1602的D0到D7连接10K上拉排阻并

9、外接到单片机的P2.0到P2.7端口,用于显示所测量距离,超声波HC-SR04的trig端、echo端分别接在单片机的P0.0、P3.2这两个端口,利用单片机的计时器将时间计算出来。最后通过程序设计将计算出的距离显示到LCD1602液晶显示屏上。4PCB图生成PCB如图4-1、4-2所示:图4-1 PCB原理图图4-2 PCB图5程序流程图5.1主程序设计这次软件设计使用的软件是Keil uVision4。Keil 4集成开发环境是一个窗口化的软件开发平台,它集成了功能强大的编辑器、工程管理器以与各种编译工具Keil 4使用简单、功能强大,是设计者完成设计任务的重要保证,还能加速单片机应用程序

10、的开发过程。主程序首先是对系统环境初始化,设定定时器T0工作模式为6位定时计数器模式,置位总中断允许位EA并给显示端口P2清0。然后调用超声波发生子程序送出一个超声波脉冲,为了防止超声波从发射器直接传送到接收器引起的直射波触发,需要延时约0.1ms这也就是超声波测距器会有一个最小测距离的原因后,才打开外中断0接收返回的超声波信号。由于采用的是12MHz的晶振,计算器每计一个数就是1us,,当主程序检测到接收成功的标志位后,将计数器T0中的数即超声波来回所用的时间按计算公式计算,即可得被测物体与测距器之间的距离,设计时取声速为340m/s。超声波测距程序见附录。5.2 程序流程图主程序流程图如图

11、5-1所示:图5-1 主程序流程图测距程序流程图如图5-2所示:图5-2 测距程序流程图6设计感想在本次实训中,我们首先第一周进展了FPGA的学习,由教师带领我们学习FPGA的根本操作以与简单电路的设计,其中我认为最为主要的就是让我们认识到了FPGA的开展现状以与开展前景。通过了解,我们知道了FPGA的方便,可以用语言来实现我们需要的功能,进而自动实现其电路的设计,帮助我们简化了很多步骤,在这一周的学习当中,我们首先学会了如何用语言来实现流水灯的设计,以与其根本的设计思路和方法还有quartus2软件的使用方法,继而学会了如何捕捉上升沿,这个很重要,对于以后我们工作能够起很大的作用,最主要的是

12、我们学到了很多电路设计方面的经验,是我们平常在书本上学不到的,能够帮助我们在以后的工作当中节省很多的时间,创造了很多捷径,能够提高我们的效率。在第二周的时间里,我设计了超声波测距电路,首先当我拿到这个题目时,对于这个课题只有一些初步的想法,通过理论课的学习对此有一个初始的印象,然后就是去找资料,了解到了我们要设计的这个电路具体的实现原理、所需模块等方面,以与他的组成局部,基于这个单片机,我们首先就要设计它的最小系统,然后我们还需要超声波传感器。并且还需要对于测完的距离进展显示,这时就需要显示装置,这里我们用的是LCD 1602A显示屏。拿到装置以后,我并不会连接,所以就需要认识每个器件的引脚功

13、能,工作原理,引脚的定义以与接法等等,然后我们就要进展绘制原理图,然后生成PCB板,在确认无误之后才能进展焊接,在焊接过程当中我们要注意的是焊点是否焊严,焊锡不能过多,走线要符合,在开始这次的设计工程当中,没有安排好,把LCD1602的数据口和单片机引脚接反,这是一个失误的地方,在教师指导下纠正过来。我在焊接完板子之后,要进展测试,首先测试显示装置,由于没有电位器,我们就要计算电阻,使显示器能够正常工作,有适当的比照度,亮度等等,在我们进展测试的时候,换了好几个电阻才调整到了适当的亮度。在各模块都工作正常后,我们要进展程序的编写,要考虑很多方面,例如接口,语法,逻辑等有没有错误,是很必要的,然

14、后进展调试,更改程序等等。本次设计的超声波测距电路经过测试,误差在1CM左右是0-2CM里可以承受的X围。经过本次实训,使我收获良多,首先我们认识到了FPGA的开展现状,然后我们了解了电路设计制作的根本流程,让我对这方面的工作有了一定的认识,帮助我们规划以后的工作,是我们本次实训的最大收获。而且,在设计超声波测距电路过程中我查阅了很多的资料,自主的学习了很多以前没有注意但是实际需要的东西,帮助我们完善了知识储藏,也在一定程度上增强了了我们实际的工作能力,是我们在课堂学习当中没方法实践的方面,然而在以后我们走上工作岗位上却是很重要的东西,所以很感谢这次生产实习让我学到了这么多的东西,做出了实物也

15、使我很有成就感,对这方面的内容有了更大的兴趣以与了解,能够在我走上工作岗位之前给自己提个醒,未雨绸缪,提早做好工作之前的准备。参考文献1 X岩,X鑫.单片机原理与应用.机械工业,2015.6.2 X立南.单片机原理与应用教程.大学,2013.3 楼然苗,李光飞.单片机课程设计指导.航空航天大学,2012.4 俞国亮.MCS-51单片机原理与应用.清华大学,2008.5 瞿金辉,周蓉生.超声波测距系统的设计.中国仪器仪表,2007. 8.6 谭浩强.C语言程序设计(第四版).清华大学,2011. 117周凯,赵望达,赵迪.高精度超声波测距系统.测试技术卷,2007附录A器件清单:器件清单如表A-

16、1所示:元件说明数量IAP15F2K61S2单片机1HC-SR04超声波模块1LCD1602液晶显示屏1CH340GUSB转TTL下载器1按键开关四脚1自锁开关六脚1瓷片电容30pF2电解电容10uF1滑动变阻器10310K1排阻A102J10K上拉电阻1电阻10K1电阻3001晶振12MHz1导线假如干表A-1 器件清单附录B程序代码:#include #include#define uint unsigned int #define uchar unsigned char uint s,time,a,b,c,d;sbit RS=P36;sbit RW=P35;sbit EN=P37;sbi

17、t Trig=P01;sbit Ecoh=P00;uchar code dis_code1=Distance Test: ;uchar dis_code2=0.00M ;uchar cache3=0,0,0;void delay_ms(uint timer) uchar i=0; while (timer-) for(i=600;i0;i-);void Delay15us(unsigned char i) /12.000MHz _nop_(); _nop_(); i = 42; while (-i);void wait() RS=0; RW=1; EN=0; _nop_(); _nop_();

18、 _nop_(); EN=1; P2=0XFF; while(P2&0X80) ; EN=0;void write_lcd_(uchar ) wait(); RS=0; RW=0; EN=0; _nop_(); EN=1; P2=; delay_ms(5); EN=0;void write_lcd_data(uchar dat) wait(); RS=1; RW=0; EN=0; _nop_(); EN=1; delay_ms(5); P2=dat; EN=0;void lcd_init() EN=0; write_lcd_(0x38); delay_ms(1); write_lcd_(0x0

19、6); delay_ms(1); write_lcd_(0x0C); delay_ms(1); write_lcd_(0x01); delay_ms(1);void chaoshengbo(void) time=TH0*256+TL0; TH0=0; TL0=0; s=time*0.17; /?CM cache0=s/1000; cache1=s/100%10; cache2=s/10%10; dis_code20=cache0+0; dis_code22=cache1+0; dis_code23=cache2+0; write_lcd_(0x80+0x40); write_lcd_data(

20、dis_code20); write_lcd_data(dis_code22); write_lcd_data(dis_code23); void main() uchar i=0; lcd_init(); AUXR &= 0x7F; /定时器时钟12T模式 TMOD &= 0x00; /设置定时器模式 TMOD |= 0x11; /定时器工作方式1 ET0=1; /定时器0中断允许 EA=1; /开总中断 write_lcd_(0x80); for(i=0;i15;i+) write_lcd_data(dis_code1i) ; delay_ms(1); write_lcd_(0x80+0x40); for(i=0;i16;i+) write_lcd_data(dis_code2i); delay_ms(1); delay_ms(2000); i=0; while(1) while(1) Trig=1; Delay15us(); Trig=0; while(!Ecoh); TR0=1; while(Ecoh); TR0=0; chaoshengbo(); delay_ms(1000); void timer0() interrupt 1 /外部中断1函数 time=TH0*256+TL0; TH0=0; TL0=0;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1