欢迎来到天天文库
浏览记录
ID:12060983
大小:979.82 KB
页数:22页
时间:2018-07-15
《基于51单片机超声波测距仪设计.docx》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、个性化实验基于51单片机超声波测距器设计22摘要传统的测距方法存在不可克服的缺陷。例如,液面测量就是一种距离测量,传统的电极法是采用差位分布电极,通过给电或脉冲来检测液面,电极由于长期浸泡于水中或其他液体中,利用超声波测量距离就可以解决这些问题,因此超声波测量距离技术在工业控制、勘探测量、机器人定位和安全防范等领域得到了广泛的应用。本设计以STC89C52单片机为核心控制定时器产生超声波脉冲并计时,计算超声波自发射至接收的往返时间,从而得到实测距离。并且在数据处理中采用了温度补偿对声速进行调整,用1602液晶显示速度和测量距离。整个硬件电路有超声波电路、电源电路、显示电路等组成。个探头的信号经
2、单片机综合分析处理,实现超声波测距器的功能。在此基础上设计了系统的总体方案,最后通过硬件和软件实现了测距功能。此系统具有易控制、工作可靠、测距准确度高、可读性强和流程清晰等优点,即过系统扩展和升级,可以有效的解决汽车倒车,建筑施工工地以及一些工业现场的位置监控。关键词:STC89C52;超声波;温度补偿;测距22目录绪论4设计目的和意义4设计任务和要求4系统方案设计5设计原理5设计框图5主要元器件介绍6STC89C526LCD1602液晶显示器7HC-SR04超声波模块8DS18B20温度传感器10系统硬件结构设计11单片机电路11LCD显示电路11温度补偿电路12电源电路12系统软件设计13
3、主程序流程13测距流程图14测试15测试结果15误差分析15总结16附录17整体电路图17PCB布线图18实物图19部分程序19主程序19测量距离20读取温度数值2122绪论设计目的和意义在现实生活中,一些传统的距离测量方式在某些特殊场合存在不可克服的缺陷,例如,液面测量就是一个距离测量,传统的电极法是采用差位分布电极,通过给电或脉冲检测液面,电极长期浸泡在水中或其它液体中,极易被腐蚀、电解,从而失去灵敏性。而利用超声波测量距离可以很好地解决这一问题。目前市面上常见的超声波测距系统不仅价格昂贵,体积过大而且精度也不高等种种因素,使得在一些中小规模的应用领域中难以得到广泛的应用。为解决这一系列难
4、题,本文设计了一款基于STC89C52单片机的低成本、高精度、微型化的超声波测距器。设计任务和要求设计一个超声波测距器,可以应用于汽车倒车、建筑施工工地以及工业现场的位置监控,也可以用于液位、井深、管道长度的测量等场合。要求测量范围在0.1~3.00m,测量精度1cm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。22系统方案设计设计原理发射端发出的超声波以速度v在空气中传播,在到达被测物体时被反射返回,由接收端接收,往返时间为t,由s=vt/2即可算出被测物体的距离。由于超声波也是一种声波,其声速v与温度有关,下表列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速
5、是基本不变的,如果测距精度要求很高,则应通过温度补偿的方法加以校正。本设计中使用公式v=331.4+T*0.61对声速进行校正。表一超声波波速与温度的关系表温度(℃)-30-20-100102030100声速(m/s)313319325332338344349386设计框图图一超声波测距器设计框图温度补偿单片机控制超声波接收LCD显示超声波发送声光显示22主要元器件介绍STC89C52STC89C52是一种带8K字节闪烁课编程可擦除制度存储器的低电压、高性能COMS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于
6、将多功能8位CPU和闪烁存储器组合在单个芯片中,STC的STC89C52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且廉价的方案,STC89C52芯片引脚图如图所示。图二STC89C52芯片引脚图22LCD1602液晶显示器LCD液晶显示器具有体积小、功耗低、界面美观大方等优点。1602显示模块用点阵图形显示字符,显示模式分为2行16个字符。它具有16个引脚,其正面左起为第一脚,如下图所示:图三LCD引脚示意图第一脚GND:接地。第二脚VCC:+5V电源。第三脚VO:对比度调整端。使用时通过接一个10K的电阻来调节。第四脚RS:寄存器选择信号线。第五脚RW:读写信号线。第六脚E:
7、使能端,当E由高电平跳变为低电平时执行命令。第7~14脚:8位数据线D0~D7。第十五脚BLA:背光电源正极输入端。第十六脚BLK:背光电源负极输入端。22表二LCD1602操作指令操作控制表操作 读状态写指令读数据写数据输入 RS=0,RW=1,E=1RS=0,RW=0,D0~7=指令码,E=H脉冲RS=1,RW=1,E=1RS=1,RW=0,D0~7=数据,E=H脉冲1602液晶模块内部的
此文档下载收益归作者所有