第一范文网 - 专业文章范例文档资料分享平台

基于单片机的超声波测距系统的设计与实现毕业论文设计;

来源:用户分享 时间:2025/7/3 7:21:50 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

电平,可根据此高电平的持续时间来计算距离值。即距离值为:(高电平时间*340m/s)/2。在这里因为距离值已经经过温校正,此时无需再根据环境温度对超声波声速进行校正,即不管温度多少,声速选择340m/s 即可。铹鸝饷飾镡閌赀诨癱骝。

图3-4 US-100在电平触发下的工作时序图

3.2.2 US-100模块电路

在本系统中US-100超声波模块的连接如下图3-5所示,其Trig/TX 管脚连接单片机的P1.3口,由单片机输出一个10us的高电平;Echo/RX 管脚连接单片机的P1.2口,单片机检测P1.2口的电平变化,其具体检测方法在第四章软件设计分析部分给出。攙閿频嵘陣澇諗谴隴泸。

图3-5 US-100模块电路图

3.3 人机交互模块

本系统的人机交互模块分为液晶显示器和按键开关两个部分,下面几节将分别分析这两个部分。

3.3.1 液晶显示器

本系统采用的液晶显示器型号为1062ZFR,它是一个16*2字符型液晶显示器[5],专门用于显示字母、数字、符号等的点阵型液晶显示模块。LCD 1062ZFR的引脚如下:D0—D7八个数据端口,VSS负电源端口,VDD正电源端口,VO对比度调节端口,RS状态控制端,RW读写控制端,E使能端,A和K灰度参考端口。趕輾雏纨颗锊讨跃满賺。 7

3.3.2 显示器硬件电路

液晶显示器LCD 1062ZFR在电路中的连接如图3-6所示,将其八个数据端D0-D7分别连接单片机的P0.0-P0.7口;RS连接P2.3口;RW连接P2.4口;E连接P2.5口;A端口给电平接GND;K端口给高电平接VCC;VL端口接一个10K的滑动变阻器,用来调节液晶显示器的对比度;VDD端口接系统电源VCC,而负电源端口VSS接地即可。夹覡闾辁駁档驀迁锬減。

图3-6 液晶显示模块电路图

3.3.3 按键与开关

为了使得本测距系统有更好的操作性、观测性,本系统设计了一个测量暂停按键K1,此按键的具体作用如下:当短按按键K1时,超声波测距系统停止发生超声波,显示器保留前一时刻的测量数据,以测量者方便观察和记录数据;当长按按键K1时,返回正常测距状态,可以重新开始测量距离。其硬件连接如下图3-7所示,即按键K1接在单片机P3.2引脚上。

视絀镘鸸鲚鐘脑钧欖粝。

图3-7 按键连接图

3.4 电源模块

8

本系统中的电源模功能是为系统的其他模块提供稳定的5V工作电压,其实现方法是采用一个5V的集成稳压芯片LM2940,用9V的干电池作为其输入,则可以从LM2940的输出端得到5V的稳定电压。为了使得电源模块提供的5V直流工作电压文波更少、稳定性更好,在输入输出端口分别并接滤波电容和电解电容,并且在输出端口并接上一个LED系统电源指示灯,以方便指示本系统的电源模块是否正常工作,其电路连接如图3-8所示。偽澀锟攢鴛擋緬铹鈞錠。

图3-8 电源模块电路图

4 软件设计

4.1 软件设计概述

本系统软件全部采用c语言编写,开发环境为Keil C。软件组织[6]分为两个部分,分别是chaoshengbo.c 和SMC162.c,前者是系统程序主函数和超声波驱动程序所在的c文件,后者是系统采用的字符液晶器1602ZFR的驱动程序。软件组织图如下图3-1所示。关于软件设计思路,算法,各个驱动程序将在后面几节中给出论述,完整程序代码在附录二给出。緦徑铫膾龋轿级镗挢廟。

图4-1 软件组织图

4.2 软件设计思路和流程图

单片机在上电复位后,首先进行各个模块的初始化、各个变量的初始赋值,进入循环测

9

距和显示部分。在循环部分中,把完成一次测量和一次显示刷新作为系统的一个工作周期。在这个工作周期中,首先完成的是超声波测距,即向超声波模块给出触发信号,然后检测模传回来的测距信号,打开计时器T0,得到相关数据,然后计算出测量距离,最后再刷新液晶模块显示出测量距离。此外系统具有两个中断程序,一个是利用定时器T0中断,防止测量超出距离而导致T0溢出。另一个应用外部中断INT0来实现测量暂停功能,对应外部中断0引脚P3.2的外接按键K1,当按键短按时,进入外部中断0的中断程序,在中断程序中显示前一时刻的测距数据,并再次检测按键K1;当发现K1长按时,则从中断程序中返回之前的工作循环。软件流程图如下图4-2所示。騅憑钶銘侥张礫阵轸蔼。 10

(a)主程序 开始 (b)T0中断程序 清空TF0 系统初始化 设置测距错误键值=1 P1.3口10us触发电平 返回主程序 100us延时 TH0、TL0清0 (c)INT0中断程序 禁止总中断 P1.2=0 否 清空IE0 是 P1.2=1 否 刷新液晶屏 是 显示最后测量的数据 打开T0定时器,允许中断 是 否 P1.2=0 P3.2按下 否 是 是 关闭T0定时器,关闭中断 返回主程序 读TH0、TL0,计算距离 刷新液晶,显示距离数据 疠骐錾农剎貯狱颢幗騮。 图4-2 软件流程图

4.3 超声波模块驱动程序

11

基于单片机的超声波测距系统的设计与实现毕业论文设计;.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9684q67r7703gjy5zd2f62h6002tp400l5v_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top