c51单片机的超声波测距设计(源码)

在STC单片机中有一款广泛用于单片机开发的芯片,那就是STC89C51芯片,其造价低廉,可靠性高,稳定性不错。因此STC89C51芯片被用于各大高校的课程实训,以及各公司的嵌入式开发中。这款芯片在使用者中广受好评。此次我设计的超声波测距仪。在设计中我将STC89C51芯片作为控制中心,然后接收超声波信号发射接收器发射的信号,再利用在软件层次上的设计对信号计算,最后计算出所测物体当前的距离。当然在测距之前也可以设定安全的距离,当距离小于所设定的安全距离的时候就会报警。此系统可以广泛的应用于汽车倒车雷达,以及工业非接触式测距当中。关键词 超声信号发射接收器,STC89C51芯片,超声波测距,实时报警
目 录
1 引言 1
1.1 项目研究背景及意义 1
2 可行性分析 1
2.1 技术可行性 1
3 总体设计方案及论证 2
3.1 总体方案设计 2
4 超声波测距原理 2
4.1 超声波测距原理的分析 2
5 硬件实现及单元电路设计 4
5.1 主控制模块 4
5.2 电源设计 5
5.3 时钟电路的设计 6
5.4 复位电路的设计 6
5.5 报警电路的设计 7
5.6 数码管距离显示模块的设计 7
6 相关元器件的焊接 8
6.1 元器件焊接的步骤 8
7 软件设计 8
7.1 主程序工作流程图 8
7.2 主函数程序 10
7.3 延时程序 11
7.4 超声波发射接收程序 12
7.5 报警程序 13
7.6 显示程序 14
7.7 按键的获取程序 14
7.8 安全距离的处理程序 15
7.9 相关操作的置位程序 16
7.10 开机自检程序 17
7.11 eeprom内部操作程序 18
7.12 eeprom的读写操作 19
8 遇到的问题及解决办法 20
8.1 焊接的问题 20
 *好棒文|www.hbsrm.com +Q: ¥351916072$ 
8.2 软件设计的问题 20
结 论 21
致 谢 22
参 考 文 献 23
引言
项目研究背景及意义
在传统的接触式测量方式中,我们知道有直尺测量、拉线测量等方式。但这种的测量方式在测量物体距离的时候会有诸多的限制,例如被测物体空间狭小,被测物体所处地形复杂传统的测量工具不容易接触等等。但是此次我所做的超声波测距系统能够让这些限制再也不复存在。超声波测距技术较之于过去的测量技术,是一种新式的非接触式的测量技术。其可以在两个被测物体不接触的情况下就行物体距离的衡量。例如进行水中两个物体之间的测量,在有辐射环境下两个物体间的测量。这样就减少了测量环境对人体的伤害。而且其能够避免诸多因素的影响,如光线,温度,所测介质等等。这也就决定了其使用的寿命会更加的长久。超声波测距系统通过发射超声波信号对物体的距离进行测量,其精度远非传统的测量方式可比,已经能够达到工业测量的标准,能够在传统的工业生产中进行广泛的应用。同时利用超声波测距,其应用范围更加的广泛,稳定性更加的可靠,同时更便于我们对其实时的控制。而且此次我还给此系统加入了设定安全距离的功能,当所测距离小于或大于安全距离就会报警,就不用每次对物体就行测量,节约了大量的时间。鉴于超声波测量的这些优点,其能用于汽车倒车雷达,工业生产,短距离测量等方面,应用范围广泛,使用成本低。
可行性分析
技术可行性
技术可行性是指现有的技术能不能支持完成系统的设计。而我本次课题设计主要用到的技术会有protel电路设计技术,c语言编程,以及焊接的技术。在我校实验设备如此完善的情况下,焊接技术所要用到的器材学校都有,能够让我顺利的完成硬件的焊接。而protel电路设计技术以及c语言编程都是我们大学的必修课程,都已经学习并且顺利的通过。所以在技术上面是可行的。
总体设计方案及论证
总体方案设计
因为本次的超声波测距仪是基于51芯片控制的单片机的,所以整体的设计规划将分为硬件设计和软件设计。由此分析,继而我将其划分为下列几个具体的模块:信号发射和接收模块、数据处理模块、距离显示模块、报警距离设定按键模块以及报警电路模块。硬件电路相关组件的组成为:超声波传感器,蜂鸣器,以及STC89C52芯片。软件层次的模块划分为:数据处理模块,报警模块,安全距离设置模块,显示模块。具体的测距过程为:超声波传感器发出信号,遇到障碍物的阻挡时超声波信号就会反射回来,然后其控制核心STC89C52芯片就对信号做出处理,计算出响应的间隔距离并显示在数码管上面,若是距离超出可测范围或者是小于咱们设置的安全距离时,报警电路就会工作,此时蜂鸣器就会报警。当前体系的整体设计如图3.1所示。
图3.1 系统方框图
超声波测距原理
超声波测距原理的分析
在现在超声波的测距方法也是多种多样,但我们还是较倾向于使用回声探测法。当我们要测某一物体当前离我们的距离有多远的时候,我们就会向被测物体发送一束超声波信号。当此束超声波信号发出的时候,我们的计时也就随之开始,超声波信号会在空气中沿着直线传播下去,当超声波信号遇到我们要测量的物体的阻碍的时候就会立即返回,当超声波信号接收器接收到返回来的超声波信号的时候,就说明测量完成,计时也就会随之停止。由于我们默认超声波信号在当前环境下的传播速度是340m/s,并且超声波的传播时间就是我们的停止时间减去开始计时的时间的时间差,假设传播时间用小写英文字母“t”表示,那么我们测量物体离我们的就可以用如下公式计算出来:s = 340t / 2,其中s就为我们要测量的距离。
我们知道超声波也是声波的一种,超声波的传播速度跟当前介质的温度有着密切的关系。但是,我们通常在使用超声波进行距离的测量的时候,如果当前环境下的温度对超声波的传播速度的影响并不是太大,那么我们就默认为超声波的传播速度并不会受到温度的影响,默认其传播速度为340m/s。假如我们使用超声波进行距离测量的时候对测量的准确性和精度有较高的要求,那么我们就应该用进行温度补偿,以保证测量距离的精确。在与被测物体的传播时间以及当前环境下超声波的传播速度都确定的情况下,我们就可以算出被测物体的距离了。超声波测距形象的原理如图4.1所示:

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/1425.html

好棒文