您的当前位置:首页正文

基于51单片机超声波测距仪

2020-04-27 来源:年旅网


基于51单片机超声波测距仪

洛阳理工学院毕业设计(论文)

基于51单片机的超声波测距仪设计

摘 要

利用超声波进行测距有许多优点比如不受光强度、色彩和电磁场等外界因素的影响,而且超声波传感器的价位较低、结构也较为简单,超声波以声速传播,方便收发与计算。在汽车倒车雷达、移动机器人的避障、特别是测量距离等许多方面都已有了非常普遍的应用。

本次毕业设计的超声波测距仪是在STC89C51单片机的基础上设计的,在分析和了解了超声波的一些优点和特性后,又查看了利用超声波测距的基本原理。最后决定使用51单片机系统和超声波传感器共同组成。设计的超声波测距仪的硬件部分主要包括电源及复位模块、单片机与超声波模块组成的超声波发射模块、超声波接收模块、LED数码显示模块和扩展报警模块。软件部分主要包括单片机主程序、根据超声波发射与接收计算距离程序、LED距离显示程序、按键控制程序和蜂鸣器报警程序,这样安排使得系统具有模块化的特点。系统容易进行控制,具有可靠地的性能,具有较高的测量精度,最重要的是能对距离进行实时测量。

关键词:单片机,测距仪,超声波,实时测量

I

洛阳理工学院毕业设计(论文)

Design of Ultrasonic Distance Meter Based on 51 MCM

ABSTRACT

Using ultrasonic ranging has many advantages for example, from the effects of light intensity, color and electromagnetic field and other external factors and price lower ultrasonic sensors, the structure is simple, ultrasonic sounds velocity, convenient transceiver and calculation. In the car reverse radar, mobile robot obstacle avoidance, especially measuring distance and many other aspects have been very common application.

The graduation design of ultrasonic range finder based on STC89C51 MCU design, analysis and understanding of the some advantages and characteristics of ultrasonic and looked at the use of the basic principle of ultrasonic distance measurement. Finally, the composition of the 51 single-chip microcomputer system and ultrasonic sensor is decided.. The design of ultrasonic rangefinder hardware part consists of the power and reset module, SCM and ultrasonic module consists of ultrasonic emission module, ultrasonic receiving module, LED digital display expansion module and alarm module. Software part mainly includes MCU program, according to the ultrasonic transmitting and receiving computing program distance, the distance of LED display program, key control procedures and buzzer alarm procedures, this arrangement enables the system to have the characteristics of modular. The system is easy to control and has the reliable performance, and has the higher accuracy, and the most important is the real-time measurement of the distance.

KEY WORDS: Single chip microcomputer,Range finder,Ultrasonic,Real-time measurement

II

洛阳理工学院毕业设计(论文)

目 录

摘 要 .................................................................................................. I 目 录 ............................................................................................... III 第1章 绪 论 .................................................................................... 1

1.1 研究背景 .......................................................................... 1 1.2 研究的主要意义 ............................................................... 1 第2章 系统电路设计 ....................................................................... 3

2.1 系统结构设计................................................................... 3 2.2 电路总体设计方案 ........................................................... 3

2.2.1 发射与接收电路设计方案 ................................. 3 2.2.2 显示电路设计方案 ............................................. 5 2.2.3 报警电路设计方案 ............................................. 6 2.2.4 系统复位电路设计 ............................................. 6

第3章 系统硬件设计 ....................................................................... 8

3.1 单片机概述 ...................................................................... 8

3.1.1 STC89C51主要性能 ............................................. 8 3.1.2 STC89C51外部结构及特性 ............................... 8 3.1.3 STC89C51内部组成 ........................................ 11 3.2 超声波测距模块 ............................................................. 12

3.2.1 超声波传感器介绍 ........................................... 12 3.2.2 HC-SR04超声波测距芯片的性能特点 .......... 12 3.2.3 超声波时序图 ................................................... 15 3.3 驱动显示电路及报警电路 ............................................. 15

3.3.1 LED数码管显示电路 ...................................... 16 3.3.2 蜂鸣器报警电路 ............................................... 17 3.4 HC-RS04超声波测距原理 ............................................ 17 3.5 按键设置电路................................................................. 18 第4章 系统软件设计 ..................................................................... 21

4.1 系统主程序 .................................................................... 21 4.2 显示距离子程序 ............................................................. 22

III

洛阳理工学院毕业设计(论文)

4.3 报警子程序 .................................................................... 22 4.4 按键子程序 .................................................................... 23 第5章 系统仿真 ............................................................................ 25

5.1 系统仿真环境——Proteus ............................................ 25 5.2 仿真 ................................................................................ 25 5.3 误差及特性分析 ............................................................. 26 结 论 .............................................................................................. 28 谢 辞 ................................................................................................ 29 参考文献 .......................................................................................... 30

IV

洛阳理工学院毕业设计(论文)

第1章 绪 论

1.1 研究背景

超声波测距法是通过超声波测量从已知位置到被测物体表面的距离的利用超声波的方法。超声波也是一种机械波,是一种频率在20kHz以上的声波。超声波测距是人们根据蝙蝠通过超声波反射进行捕食的方法发现的,也是仿生学中非常出名的例子,对生产领域产生了很大的影响。

跟着电子测量技术的不断飞速发展,已经可以利用超声波实现精准测量了。测量技术在经济的不断发展下得到了越来越广的应用,因此超声波凭借着性能稳定、成本低廉、精度高等优点得到了重视。

机器人技术在出现后发展迅猛,机器人的用途也不在局限在工业生产而是进入了人们的日常生活。普遍的应用对于增加群众对机器人技术的认识变得非常重要。机器人能够通过特有的感知系统感知并确定前面障碍物的位置和周围的环境以完成躲避障碍物、自动寻路、测距等功能。超声波测距具有其他的测距技术没有的特点,比如测量精度高,成本低廉,对环境的要求低,使用简便等。将红外、灰度等传感器和超声波结合在一起将可以共同作用使机器人实现自动寻路和绕开障碍等功能。超声波由于传播方向较稳定、并且在介质里传播时能量削减缓慢,能够发送很远的距离,所以在测量距离的时候经常用到。超声波最普遍的应用是在汽车倒车雷达、物位测量仪、测距仪、研发移动机器人以及一些特殊工业现场等场合。以后超声波传感器很可能将会智能化、自动化,实现更加方便高效的测距仪器。

1.2 研究的主要意义

超声波测距技术是一种非常有前景的的技术,近距离的超声测距不会被光线影响,并且结构比较简单,成本经济实惠。超声波测量最重要的优点是:环境介质很普遍,空气、液体和固体都能使用,因此适合使用的范围非常大。更重要的是使用超声波检测能很大程度的降低劳动强度,可以

1

洛阳理工学院毕业设计(论文)

避免工作人员在恶劣工作环境中可能受到的伤害,还能够提高距离结果的准确度;另外,超声波测距仪也可以作用到别的功能系统中,如在机器人的避障系统、车内置防撞系统、自动停车系统和倒车雷达,因此超声波测距仪对电子测量技术发展是非常重要的。

2

洛阳理工学院毕业设计(论文)

第2章 系统电路设计

2.1 系统结构设计

图2-1所示的是超声波测距仪的系统设计结构图。主要由单片机、超声波传感器、按键、复位电路、LED显示电路、蜂鸣器及电源电路组成。系统主要功能包括:

1. 发射与接收超声波,通过计算收发时间差得到测量的距离; 2. LED显示测量距离;

3. 接收用户按下按键的相应指令并做出处理;

4. 系统运行出错时,使用电平式开关和上电复位电路进行复位处理。

4位LED显示器 3键 键盘 AT89C51 超声波 发射电路 复位 电路 超声波 接收电路路 蜂鸣器 电源 电路 图2-1 超声波测距仪的系统结构图

2.2 电路总体设计方案

2.2.1 发射与接收电路设计方案

对于此次超声波测距仪的系统,难点就是如何生成稳定40KHz信号。由于此次使用的是中心工作频率为40KHz的超声波传感器,当偏移这个频率时,接收端的敏感程度将有所下降,从超声波传感器的特性曲线中可以看出具体下降的幅度。当发射端的频率为40KHz时,接收端能收到的强度

3

洛阳理工学院毕业设计(论文)

最强的信号,因此计算的距离也就最大,但如果偏移中心频率时,测量距离就会产生缩短,这一点是本次设计的可能忽略的关键点。如何生成一个40KHz的驱动信号,有多种方法,可以选择用电感、电容振荡器件做出一个产生信号的发生器,不过这种方式产生的信号频率稳定性较差,调准比较难,所以很难制作成功。而此次设计中,选择用单片机产生一个稳定信号,因为使用了频率稳定性较好的晶振元件作为系统的时钟,所以系统频率有极高的稳定性,也能产生频率非常平稳的驱动信号,当编入的程序的要求不同的时候,也能够轻松地取到需要的频率。

电路中决定前面是否被障碍物阻挡是根据接收到的信号强度值的,所以本设计制作成功非常关键性的一点就是起控点的选择。由于反射回来的超声波信号的强弱受环境因素的影响,因此需要很细心的进行调试。这时还要仔细观察随着距离的变化,电路中的直流控制电压的变化,从而选择出最合适的电压比较的起控点,这样才能实现当距离达到设置好的值时进行报警。超声波测距仪开始测量距离时,单片机便开始执行相应程序。此时P01口产生10us的TTL,51单片机也开始不断循环生成八个40kHz的脉冲信号,通过自身自动放大,而且将连续发射200us。当P32口收到信号的时候会产生一个回响信号,此回响信号和测量的距离是有一个固定的比例关系。使用51单片机执行程序后,P01端会发出一个40kHz的脉冲信号,然后使用三极管进行放大用来驱动超声波模块的发射端,发出超声波信号。之后接收端要和发射端匹配,就收后需要把超声波进行调制转换成交变电压型信号。之后在进行运算放大器的两级放大,电路内部的中心频率为f0=1/1.1

的压控震荡器,电容的作用是选择锁定带宽。输入信号则放大

25mv,输出端P32的电平也会有高变化成低,然后用来当中断请求的信号,在放到单片机内部去处理。

当超声波发射端打开的时候单片机的内部T0定时器也同时打开,然后根据定时器自身的计数功能计出超声波从发射到接收一共用了多长时间。

U3-+4 TrigEchoGNDVCC洛阳理工学院毕业设计(论文)

每次接收到反射回来的超声波时,接收电路的输出端就会发生负跳变,这时还会发生一个请求信号去请求中断,单片机接收到此外部请求中断后便会主动执行外部中断对应的服务子程序,并读出超声波发射接收时间差在据此计算距离。

图2-2发射与接收电路

2.2.2 显示电路设计方案

显示设备是使用最普便的并很经典的输出设备,大部分电子设备都需要有显示器,之间的不同之处也就只是显示器的结构类型的不同。显示器中最简单的就是LED发光二极管组成的。其中还有结构功能都比较完整的CRT监视器,还有LCD液晶屏是显示器里屏幕比较大的。在考虑到超声波测距仪的需求和对单片机资源的节省,所以选择使用LED驱动设备显示并使用串行的方式。超声波测距仪需要显示的距离是在6米以内的,加上设置需要,所以使用4位LED数码管进行显示,距离使用厘米为单位。LED显示器在单片机系统中经常使用的驱动方式有两种,一种是静态显示驱动,另一种是动态驱动显示。其中静态显示驱动指的是让恒定的电流驱动需要亮的二极管,但是这样就需要让每个LED显示器的输入引脚都去对应一个独立的能进行锁存的I/O口。这样的优点是显示时单片机向接受口传送的字形码不需要改变,当显示的数据发生变化时,只需要重新发送一个字形码即可。这样做对单片机的使用较小,节省性能,但是对于硬件的要求太冗杂需要很多寄存器的设备。而且如果增加显示位数也会非常麻烦,会大幅增加系统器件容量。动态显示驱动是利用不同时间显示的方法对LED进行短暂驱动,之后逐位驱动显示各个LED,这需要一直循环显示每一位,而且LED的亮度取决于亮暗持续的平均水平。

在分析了这两种显示方式的优缺点后,最终确定使用动态驱动方式进行数据显示。此次设计用P0口进行对LED的字形输出,使用八路输出的透明锁存器74hc573进行对数据的锁存,同时加上上拉电阻增加驱动电流是LED的亮度增加。用P1口对LED显示的位进行控制,同时采用共阴型的LED显示器,避免刚上电时数码管闪烁。

5

洛阳理工学院毕业设计(论文)

2.2.3 报警电路设计方案

系统报警电路需要有运算放大电路和蜂鸣器等原件。其中放大电路用PNP三极管完成。放大电路采用负反馈方式,也就是反相比例运算电路,反相比例运算电路主要的特点,就是输入信号是从反向输入端进行输入的,而且输入端还要接地处理。因此由于“虚短”和“虚断”电路具有的特性,就是理:

=

=

=0。其中常说的“虚短”就是使用理想的集成运放原

→∞,因此能够看成是两个输入端中间的差模电势差基本是0,也

≈0,即

=

,不过

是确实有值的。因为两个输入端之间的

就是d=

电势差等于0,但是又真的不是短路,所以叫做“虚短”。而“虚短”是根据理想的集成运放中输入的电阻Rid→∞,因此也可以当成输入端没有电流,即

=

≈0,这样的话输入端又等于是断路,不过又没有断开,这就

成了“虚断”。在电路里,反相输入端和接地端的电位一样,不过又没有真的进行接地,把这种方法叫做“虚地”。所以可以通过这种方法进行放大。

2.2.4 系统复位电路设计

在平常使用单片机的时候,单片机系统除了会正常初始化,有时也会因为程序在运行时发生错误,或者人员操作时失误都有可能让系统变成锁死的状态。所以需要有复位电路让系统能够重新开启来解决系统锁死的问题。可见,系统中复位电路是非常必要的而且很重要。

单片机系统基本是全部使用外部的电路来进行复位的,在单片机时钟电路正常工作的时候,如果单片机上的RST端口上出现了连续的24个以上的时钟振荡脉冲产生的高电平,这时单片机就会进行复位变成初始化的状态。设计制作复位电路的时候需要提供非常稳定的复位,也就是必须让RST端处于高电平。需要注意的是如果RST端口的高电平一直不变,那么单片机就会出现重复复位。

单片机系统的复位电路一般使用下面的三种方式: (1)上电自动复位

6

洛阳理工学院毕业设计(论文)

在系统通电的一瞬间,因为R•C电路会进入充电状态,所以RST端口就能够一直保持高电平,这样就能让单片机稳定的复位。

C11uFR2100图2-5 上电复位电路

(2)按键电平复位

让电路的复位按键和RST端口经过电阻和电源端VCC连接在一起,通过直接按键完成复位。

(3)正常较大的应用系统里,希望能确保复位电路的工作的可靠性,经常会把RC电路接到施密特电路之后,在跟单片机RST端和外围的电路复位端进行连接。此方法在干扰较大的使用场合、工作环境中的电压波动较大等时候使用较普遍,而且,在系统中有许多的复位端时,就要求能同步复位,这种方法就能保证进行可靠的同步复位。

此次设计的超声波测距仪系统结构不是很复杂,所以为了拥有较好的复位效果又控制成本,所以决定使用上电自动复位方式。

7

洛阳理工学院毕业设计(论文)

第3章 系统硬件设计

3.1 单片机概述

3.1.1 STC89C51主要性能

STC89C51 是STC公司推出的一款抗干扰能力强,可靠性高,集成度高,性能好,低功耗的CMOS 8位单片机。片内含4k bytes的能够反复擦写的Flash只读程序存储器和256 bytes 的RAM(随机数据存储器),此芯片使用了STC公司的高密度、非易失性存储技术生产而成,能够和标准的MCS-51指令系统以及8052系列产品的引脚相兼容,芯片还内置了通用的8位中央处理器(CPU)和Flash存储单元。STC89C51单片机凭借着强大的功能在各种各样的复杂的场合都有得到广泛的使用错误!未找到引用源。。 3.1.2 STC89C51外部结构及特性

STC89C51的封装外形有两种形式:一种是双列直插式的40脚封装

(DIP),另一种是方形的44脚封装(PLCC),其中直插式40 脚封装(DIP)结构如图3-1所示,外部的总线分布如图3-2所示。

图3-1 STC89C51引脚排列

8

洛阳理工学院毕业设计(论文) U219XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD39383736353433322122232425262728101112131415161718XTAL29RST293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.780C51图3-2 仿真结构

STC89C51的4个8位I/O口的功能说明如下:

(1)P0口:P0口可以当成通用的I/O口使用,能够输入和输出数据。当成输出口使用时,每一位可以驱动8个TTL逻辑电平。当P0端口被写入“1”时,引脚就会被用作高阻抗输入口。在进行外部程序访问和数据存储器时,P0口也可以被当成是低8位的地址/数据复用端。在这种使用模式下,P0就会有内部上拉电阻,不在是漏极开路。在flash编程时,P0口又可以用来接收指令字节;当程序进行校验时,输出对应指令字节。但是此时就要在外部加上上拉电阻了错误!未找到引用源。。

(2)P1口:P1口不在内置上拉的FET,但是却有一个上拉电阻。只是这个上拉电阻的阻值比较大,所以他的上拉驱动能力很弱,如果不是应用系统需要有很低的功耗这种特殊要求,其他还是再外接个10K左右的上拉电阻比较好。P1内部的下拉FET还有,所以当P1当做输入使用时,依旧需要首先对端口的数据锁存器发出1,让输出驱动FET变为截止,确保数据在读入时的正确性。另外,P1.0和P1.2两个端口也能作位定时器/计数器方

9

洛阳理工学院毕业设计(论文)

式2的外部计数输入,也可以作为定时器/计数器2的触发输入。当进行flash编程或校验的过程中,P1口能够进行低8位地址字节的接收。

(3)P2口:P2口也是一个内部拥有上拉电阻的8位双向I/O口。当向P2端口写入“1”的时候,上拉电阻就会把端口拉高,这样P2口就能用来数据的输入了。P2口当输入口使用时,引脚会让给外部电路拉低,因为内置的电阻缘故,会输出电流。当单片机访问外部的程序存储器或用16位地址进行读取外部的数据存储器的时候,P2口就会输出高八位的地址。当这样使用的时候,P2口就会利用内置的上拉电阻发出“1”。当进行flash编程或校验的时候,P2口也能接收到高8位的地址字节和部分控制信号0。

(4)P3口:P3口也是内置了上拉电阻的8位双向I/O口,跟P2口比较类似。而且P3口还能实现AT89C52的一些独特的作用,如下所示。

表3-1 P3口对应功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INTO(外部中断0 输入口) P3.3 INT1(外部中断 1 输入口) P3.4 TO(定时器 0 外部输入) P3.5 TI(定时器 1 外部输入) P3.6 WR(片外数据存储器写选通) P3.7 RD(片外数据存储器读选通)

10

洛阳理工学院毕业设计(论文)

3.1.3 STC89C51内部组成

STC89C51单片机将下列的CPU、RAM、ROM、定时器/计数器、看门狗和多种功能的I/O口等元件集成到了一块半导体芯片上,基本上具有了大部分计算机才有的基本功能部件。

STC89C51单片机内包含的具体部分如下: 一个8 位 CPU。

一个芯片内置的振荡器和时钟电路。 4KB Flash 程序存储器。 128B RAM 数据存储器。 三个16 位计数器/定时器。 可寻址64KB的外部数据存储器。 64KB的外部程序存储器。

32条可编程的I/O口(4组8位并行I/O端口)。 一个可编程全双工串口通信口。 8 个中断源。

两个优先级嵌套中断结构。

STC89C52单片机的系统框图如图3-3所示,通过内部总线将各个模块进行连接。

中断 64K总线 扩展控制 51CPU 振荡器及 定时电路 8K 程序 存储器 256K 数据 存储器 3个16位 定时器/计数器 频率基准源 计数器 看门狗 可编程I/O 可编程 串行口 11 中断 控制 并行I/O口 串行 串行 输入 输出 洛阳理工学院毕业设计(论文)

图3-3 STC89C51单片机框图

3.2 超声波测距模块

3.2.1 超声波传感器介绍

超声波传感器是根据仿生学的超声波原理制作出来的一种传感器。超声波也是机械波,他是比声波的震动频率还要高的波。通过电压对换能芯片的触发使其震动并发出超声波。具有许多优点,如高频率、不容易发生散射、波长较短,还有最重要的特点就是方向性非常好,所以能够形成固定方向发射的信号。超声波的穿透能力也非常好,不仅能在空气中传播,还能在固体和液体中传播,特别是一些不透光的固体,超声波能够传送几十米这么远。超声波在传播过程中如果遇到了物质分界面或一些杂质都会形成较明显的反射波,如果是遇到了运动的物体还会发生多普勒现象。由于超声波的这些特性,所以在国防、医学和工业生产中都得到了普遍的使用。

要想让超声波作为测量等操作的条件,就必须能够产生超声波并能够接收到超声波。通常将能够满足这种要求的设备叫做超声波传感器,有时候也叫做超声探头。

超声波传感器是用压电晶片构成的,不仅能够进行超声波的发射,而且还能对超声波进行接收。功率较小的超声传感器一般用来探测。且拥有很多不一样的结构,比如可分直探头(纵波)、斜探头(横波)等。

3.2.2 HC-SR04超声波测距芯片的性能特点

1. 管脚简介

HC-SR04超声波传感器共有四个引脚,一个超声波发射头和一个超声波接收头组成。四个引脚的作用分别是:

(1)VCC为5V电源;

12

洛阳理工学院毕业设计(论文)

(2)GND为地线; (3)TRIG信号输入; (4)ECH0输出回响信号。 管脚排列情况如图3-4所示。

V CC

TRIG

ECH0

GND

HC-SR04

图3-4外形及管脚排列图

下图是超声波传感器的实物图,跟上图的管脚排列一一对应。

图3-5 超声波传感器

2. HC-SR04的电气参数

HC-SR04超声波元件是以在直流5V为正常工作电压。电流15毫安。频率为40赫兹。有效使用范围在2cm~5cm。测量角度为15度。当有得到10us的高平电信号的TTL脉冲时,便能有回响信号出现。规格尺寸为45*20*15mm。详细的参数如表3-1。

13

洛阳理工学院毕业设计(论文)

表3-2电气参数

电气参数 工作电压 工作电流 工作频率 最远射程 最近射程 测量角度 输入触发信号 输出回响信号 与射程成比例 规格尺寸

HC-SR04超声波模块 DC5V 15mA 40Hz 4.5m 2cm 15度 10us的TTL脉冲 输出TTL电平信号,45*20*15mm 14

洛阳理工学院毕业设计(论文)

3.2.3 超声波时序图

观察下面的超声波传感器的时序图,可以发现需要有一个10us以上的脉冲对系统传感器进行触发,这样传感器内部才能够自己产生8个40KHZ的周期电平并且对发射波进行接收。当接收端发现有反射波时就会产生回响信号。测量的距离跟回响信号的脉冲宽度是成正比的。然后就能够根据统计发射信号发出到接收到回响信号的时间差算出实际的测量距离了。

由于统计的是一个来回的时间所以需使用公式: 距离=高电平时间*声速/2 触发信号 模块内部 发出循环发出8个40KHz脉冲 10us的TTL

信号 输出回 响信号 回响电平输出与检测距离成比例 图3-6 时序图

需要注意的是:超声波器件应尽量避免带电连接,如果必须带电连接,就必须先将器件的GND端做接地处理,不然将对器件的正常工作产生不好的影响。测量距离的时候,需要测量的物体外表需要尽量大于0.6平方米而且让被测面尽可能的平坦,不然测量出来的距离会不稳定或产生误差。

3.3 驱动显示电路及报警电路

15

洛阳理工学院毕业设计(论文)

3.3.1 LED数码管显示电路

超声波测距仪的显示部分使用了一个4位的8段LED二极管,主要是在显示测量距离时和设置警报值时使用。数码管采用了共阴极的方式,共阴方式就是把LED二极管的所有阴极全部都接到一块,作为一个公共的阴极。所以在使用共阴形LED数码管时必须把公共的阴极与GND相联。哪一个二极管需要发光就让他的的阳极变成高电平。在显示数据时使用动态扫描的方式进行显示,使用前先把LED数码管的8个对应位的端口a~g和dp的名字一样的连在一起,然后让I/O口对每个LED的公共阴极COM分别进行驱动。当单片机输出端进行字形码输出的时候,每个LED都能够得到这个字形码,但是具体是让哪个LED亮,就要看COM端的电平了。用单片机的I/O口与COM口接在一块。这时单片机会把位选码发送到I/O口上,决定究竟是哪一个LED需要发光。利用这种方法逐个输出字符时,每一个LED亮的时间都是非常短的,不过人眼是分辨不出来的,所以看起来好像是每一位都一直在显示,没有熄灭过。这样也能体现出动态显示方式很省电的优点,因为动态显示的时候一个时间点只能有一个LED是发光的。具体的原理图如图3-7。

图3-7 显示电路

16

洛阳理工学院毕业设计(论文)

3.3.2 蜂鸣器报警电路

蜂鸣器是使用直流电压进行供电的使用整体结构的电子发声器,在计算器、儿童玩具、车辆电子设备、固定电话、传真机、打印机、各类报警器、定时装置等产品的发声模块中都有非常普遍的使用,使用较多的蜂鸣器有两种,一种是压电式蜂鸣器,另一种是电磁式蜂鸣器。压电式蜂鸣器的结构包括压电蜂鸣片、多谐振荡器、阻抗匹配器及共鸣箱、外壳等。多谐振荡器是用集成电路跟晶体管做成的。当直流工作电源接到蜂鸣器上后,多谐振荡器由于开始震动便能产生一个1.5到2.5kHz的声音信号,然后阻抗匹配器就会促使压电蜂鸣片震动发声。还有一种用电磁线圈、振动膜片、振荡器、磁铁和外壳做成的蜂鸣称为电磁式蜂鸣器。当电源接在电磁式蜂鸣器上时,由振荡器发出的音频电流信号就会进入到电磁线圈中,使电磁圈发出磁场。由于磁铁和电磁线圈的共同影响,振动膜片会产生周期性的

U4震动并发出声音。这次超声波测距仪用的就是电磁式蜂鸣器,蜂鸣器会在

219D0Q0318测量距离达到设置好的报警值或超出测量距离时发出报警声。D1 Q1417D2Q2516根据电磁式蜂鸣器的工作原理可以知道,要想让他发出声音,必须有D3Q3615D4Q4一个特定的驱动电流驱动他。然而如果用单片机I/O口电流进行驱动的话714D5Q5813D6Q6明显太小,应为单片机接口的TTL输出电平太小不够驱动蜂鸣器,所以这912D7Q7时就需要添加一个用来放大的电流的电路,可以使用PNP11型三极管8550作为放大电路驱动蜂鸣器。放大电路原理图3-8。 1LEOE74HC573R42.2kBUZ1BUZZERQ1PNP图3-8 蜂鸣器驱动电路

3.4 HC-RS04超声波测距原理

17

洛阳理工学院毕业设计(论文)

超声波测距就是根据超声波模块不断发出接收脉冲统计时间完成的。假如信号从超声波发射端发出到接收端接收到一共用了t秒,在空气中超声波的速度是v,可以算出超声波传感器到被测目标的距理S为:S=vt/2。模拟框图如图3-9所示。

基本原理:首先超声波发射头发出一个波长6mm,频率是40khz的超声波。当此超声波信号被物体挡住了的时候就会产生反射波,超声波接收头是一个具有压电效应的换能器,然后接收头就能收到超声波并产生一个mV级别的小电压信号。

定时器

传输 计算 控制 计时 增益放大 超声波接收 调制 40k振荡 超声波发射 障碍物 图3-9 系统框图

3.5 按键设置电路

单片机使用最多的按键是矩阵式按键和独立按键:独立按键的用法和程序相对简单,也能使系统稳定性更好,一个I/O口只能安装一个按键,按键的另外一头要接地或接VCC;矩阵式按键的优点是使用的I/O口比较少,但缺点是矩阵式的程序和接法都比较复杂,容易出错。

这次超声波测距仪的设计对按键的需求较小,所以选择用独立按键。判断独立按键是否被按下,可以通过判断单片机相应的I/O口读到的电平的高低来确定。可以将正常是打开的按键一口接在I/O口上,另一口接GND,

18

洛阳理工学院毕业设计(论文)

单片机上电后,平时不按下按键时让这个I/O口保持高电平,一旦按下这个按键,对应的I/O口便被短路,此时这个I/O口便成了低电平。当按键一松开,由于单片机内部的上拉电阻,此I/O口就会再次回到高电平状态。程序运行时为了知道某个按键是否有动作,需要找到对应的I/O口的电平高低。还有当单片机对键盘进行处理时需要有一个非常重要的环节,也就是键盘去抖动。键盘抖动也就是设备机械的抖动,键盘在按下刚触碰的到的时候会产生不稳定的电压,属于正常。这种情况即使操作时很小心也不能躲避的。抖动的时间基本在10到200毫秒内,这么短的抖动时间对单片机内以微秒为单位的时钟电路来说是非常慢的,单人们缺感觉不到。所以需要利用软件对抖动时间进行处理,过滤掉较短的抖动时间,当按键按下稳定时在处理请求,也就是去抖动。也可以利用电路对抖动进行处理,不过会增加系统冗余度。在比较后选用了软件去抖动的方法。具体实现方法是当按键对应的I/O口出现低电平时,立马开始延迟20毫秒,当延迟结束时判断此I/O口的电平,如果这次获取的是高电平说明I/O口处于低电平的时间较短,即为抖动现象,可以无视;如果获取的是低电平说明I/O口一直处于低电平,即按键确实被按下了,之后就可以处理相应的请求。电路如图3-10所示。

19

洛阳理工学院毕业设计(论文)

图3-10按键电路图

20

洛阳理工学院毕业设计(论文)

第4章 系统软件设计

4.1 系统主程序

主程序的主要作用是把每个功能模块进行联系,读取出并计算HC-RS04的测量的长度、测量距离的显示、通过按键控制有效距离限制、当测量的值超过了最大测量值时,蜂鸣产生长响的报警声。当测量距离小于报警距离时,蜂鸣器根据距离的大小产生频率不一样的声音。

如图4-1所示的是主程序流程图。

结束 障碍物存在 初始化 开始 调用显示子程序 N Y 读出距离值 并显示 图4-1主流程图

21

洛阳理工学院毕业设计(论文)

4.2 显示距离子程序

显示距离子程序的功能是把超声波模块测量出的时间差经过计算后得到的距离值传到单片机内,单片机通过处理把距值动态输出到4位LED数码管上,每次显示一位,逐位显示。

如图4-2所示是显示距离子程序的流程图。

赋值显示 获取距离参数 开始 结束

图4-2 LED显示距离子程序流程图

4.3 报警子程序

报警子程序的主要作用是在测量距离超出预设的最大测量距离时发出报警,蜂鸣器会一直发出声音;当测量距离小于设置好的报警距离时,蜂鸣器会出现断续响的报警声,并且蜂鸣器发出声音的频率跟距离成比例,距离小频率就高,也就是报警声越急促。

图4-3所示的是报警子程序的流程图。

22

洛阳理工学院毕业设计(论文)

N 小于报警距Y 蜂鸣器报警 N 达到最大距离 Y 开始 蜂鸣器报警 离 结束 图4-3报警子流程图

4.4 按键子程序

按键子程序的功能是调节测量的报警距离,按功能键进入设置模式,进入后按增加按键就能够上调预设警报距离值,按下减小按键可以下调报

23

洛阳理工学院毕业设计(论文)

警距离。每次按一下增加按键或减小按键只能增加或减小报警距离值1厘米。在设置模式下按下功能按键时离开设置模式。

按键子程序的流程图如图4-4所示。

24

开始 N 按下功能键 Y 设置报警距离 N 按下功能键 Y 结束 4-4按键子流程图

图洛阳理工学院毕业设计(论文)

第5章 系统仿真

5.1 系统仿真环境——Proteus

Proteus ISIS是英国Labcenter公司开发出来的用于对电路分析和实物仿真的仿真软件。运行平台是Windows系统,可以用来仿真、解析各种集成电路与模拟元器件,Proteus拥有以下优点:

1. 能对SPICE电路和单片机进行仿真。能进行数字电路的仿真、模拟电路的仿真、单片机及其外围电路组成的系统电路的仿真、I2C调试器、SPI调试器、按键和LCD系统的仿真等功能;还能仿真各种虚拟仪器,如示波器、逻辑分析仪、信号发生器和电流计等;

2. 对常用单片机系统的仿真进行支持。目前支持的单片机类型有: 8051系列、68000系列、PIC12系列、AVR系列、PIC18系列、PIC16系列、HC11系列、Z80系列还有其他的外部元件;

3. 提供的有软件的调试选项。在进行仿真时可以进行直接运行、单步运行、设置断点调试等多种调试能力,还可以查看每个变量、寄存器等元器件的运行状态与值,因此在proteus软件的仿真系统里,以上的方式也是很需要的;proteus还能支持其他的软件的编译或调试,比如Keil C51 uVision2;

4. 原理图绘制功能非常强大,元器件非常全。

所以本次毕业设计采用Proteus仿真与分析。

5.2 仿真

录入源程序时在仿真图5-1中点击51单片机,鼠标打开单片机,会出来一个如图5-2所示的窗口,在“Program file”下面选择已经能正常使用的hex文件,单片机选89c51,晶振选择12MHz,选完之后点击“OK”按钮,进行仿真并观察结论。

25

洛阳理工学院毕业设计(论文)

图5-1系统仿真原理图

图5-2 单片机设置对话框

5.3 误差及特性分析

26

洛阳理工学院毕业设计(论文)

由于超声波的一些特点,所以必须在满足特定条件是进行测量,否则会才出现误差:

1. 必须让被测物体与超声波测距仪尽量保持垂直; 2. 测量的物体外表应该尽量是平面;

3. 在超声波测距仪进行测量的时候旁边不能有其它能够反射超声波的东西影响。

所以在用测距仪去测量距离的时候应该留心这些条件,否则容易造成接收到的信号有误差以至于测量结果不稳定或者直接测量不出结果。测量距离在小于2厘米时时间差太短,因而无法测量。又由于发射的超声波的功率强度有限,超声波测距仪测量不出6m以上的距离。

27

洛阳理工学院毕业设计(论文)

结 论

我的毕业设计的做出一个基于单片机的超声波测距仪,需要完成的最终要求就是能够利用超声波进行距离的测量,并且通过LED以数字的形式显示出测量的结果。

超声波测距是通过得到超声波从发射到接收的时间差计算出测量距离,从而确定测量距离。在硬件电路中需要有超声波传感器作为超声波发声和接受的元件,还要有显示器对结果进行显示,当达到报警距离时需要有蜂鸣器发出报警声。在最后经过调试,实现了可测量范围和允许误差内距离测量成功。

虽然此次毕业设计完成的还算顺利,但还是遇到了一些问题,主要在程序方面,如蜂鸣器随距离缩小而响声频率变大,在重新设置完报警距离时,报警频率没有跟随距离逐级变化,后来重新定义了报警频率与测量距离和预设报警距离的关系接解决了该问题。再解决了问题后最终完成了此次超声波测距仪设计。

28

洛阳理工学院毕业设计论文

谢 辞

在此我要由衷的感谢我的毕业设计导师***老师,感谢您在百忙之中仍给予我如此多的帮助和建议,让我能成功的做完这次毕业设计。在此期间,赵老师对知识严谨求实的态度和精益求精的作风都让我非常钦佩。大学的最后一次毕业设计能在赵老师的指导下完成我感到非常荣幸,您能在教学的过程中抽出这么多时间对我进行指导,令我很感动。再次向我的导师***老师表示崇高的敬意,谢谢您。

在这里我还要感谢我的母校对我这四年的教育。在这四年里母校给了我如此优秀的环境和条件,让我能学到自己喜欢的知识和对我人生有用的技能。大学生涯在我人生中是非常重要的,让我的人生得到了升华,这里有我许多美好的回忆。最后祝福我美丽的母校昂扬前进、再创辉煌!

29

洛阳理工学院毕业设计论文

参考文献

[1].林伟,梁家宁,李才安.便携式多功能超声波测距仪的设计与实现[J].电子测量技术,2008,26(01):29-31.

[2].陈美銮,尹浩,黎飘,董博然.智能盲人导行仪的设计与实现[J].电子技术应用,2006,31(10): 2-5.

[3].罗庆生,韩宝玲.一种基于超声波与红外线探测技术的测距定位系统[J].计算机测量与控制,2005,14(04): 1-3.

[4].高飞燕.基于单片机的超声波测距系统的设计[J].信息技术,2005,5(07): 43-45.

[5] 赵广涛,程荫杭.基于超声波传感器的测距系统设计[J].传感器与仪器仪表,2006,22(11):128-149

[6] 赵珂,向瑛,王忠,等.高精度超声波测距仪的研制[J].传感器技术,2003,22(2):55-57

[7] 肖质红.超声波测距仪在汽车安全系统中的应用[J].浙江万里学院学报,2007,(5):43-46

[8] 赵曰峰,马艳艳.基于单片机的倒车雷达设计[J].现代电子技术,2012,35(10):5-7

[9] 鞠永胜.基于嵌入式系统汽车倒车雷达的设计与实现[D].山东:山东大学硕士学位论文,2010

[10] 赵小强,赵连玉.超声波测距系统中的温度补偿[J].控制与检测,2008,(12):60-62

[11] 丁明亮,唐前辉.单片机原理及应用——基于Keil与Proteus[M].北京:北京航空航天大学出版社,2009.(5)102-150

[12] 吴琼,封维忠,马文杰.汽车倒车雷达系统的设计与实现[J].现代电子技术,2009,(9)190-192

[13] 王丰,栾学德.单片机原理与应用技术[M].北京:北京航空航天大学出版社,2007:(8)254-261

[14] 何希才.传感器技术及应用[M].北京:北京航空航天大学出版社,2005: (5)154-261

30

洛阳理工学院毕业设计论文

[15] 陶洁,肖桂凤,迟权德.基于AT89C52单片机的超声波测距仪的设计[J].电子设计工程,2012,20(2):135-140

[16] 王节旺.一种基于STC89C52RC单片机的计时系统的设计方案[J].微型机与应用,2011,30(6):28-30

[17] 陈海宴.51单片机原理及应用[M].北京航空航天大学出版社,2010: (3)54-71

[18] 戚新波.DS18B20与ATmega8单片机接口的C语言实现方法[J].微计算机信息,2005,21(7):70-72

[19] rtori S,ZHANG G X.Geometric Error Measurement and Compensation of Machines.Annals of the CIRP.1995:599-609

31

洛阳理工学院毕业设计论文

附 录

单片机程序:

//接线:模块TRIG接 P3.2 ECH0 接P3.3

#include //器件配置文件 #include

//按键声明 sbit RX = P3^2; sbit TX = P3^3; sbit S1 = P1^4; sbit S2 = P1^5; sbit S3 = P1^6; //蜂鸣器 sbit Feng= P2^0;

//变量声明

unsigned int time=0; unsigned int timer=0; unsigned char posit=0; unsigned char pinlv=5; unsigned long S=0;

unsigned long BJS=50;//报警距离80CM //模式 0正常模式 1调整 char Mode=0; bit flag=0,flag_BJ;

unsigned char const discode[]

={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0xff/*-*/};

32

洛阳理工学院毕业设计论文

unsigned char const positon[4]={0xfd,0xfb,0xf7,0xfe}; unsigned char disbuff[4] ={0,0,0,0};

unsigned char disbuff_BJ[4] ={0,0,0,0};//报警信息

//延时100ms

void delay(void) //误差 0us {

unsigned char a,b,c; for(c=10;c>0;c--) for(b=38;b>0;b--) for(a=130;a>0;a--); }

//按键扫描 void Key_() {

33

//+ if(S1==0) { } //-

delay(); while(S1==0) { }

BJS++; P1=P1|0x0f;

if(BJS==151) { }

BJS=0;

洛阳理工学院毕业设计论文

}

else if(S2==0) { } //功能

else if(S3==0) { }

delay(); while(S3==0) { }

Mode++; P1=P1|0x0f; delay(); while(S2==0) { }

BJS--; P1=P1|0x0f;

if(BJS==0) { }

BJS=150;

if(Mode==2) { }

Mode=0;

/**********************************************************************************************************/

//扫描数码管

34

洛阳理工学院毕业设计论文

void Display(void) {

35

//正常显示 if(Mode==0) { }

//报警显示 else {

P0=0x00;

if(posit==0)//数码管的米标志 { }

else if(posit==3) { } else

P0=0x76;

P0=(discode[disbuff_BJ[posit]])|0x80; P0=0x00;

if(posit==0)//数码管的米标志 { } else { }

P1=positon[posit]; if(++posit>=3)

posit=0;

P0=discode[disbuff[posit]]; P0=(discode[disbuff[posit]])|0x80;

洛阳理工学院毕业设计论文

}

{ }

P0=discode[disbuff_BJ[posit]];

}

P1=positon[posit]; if(++posit>=4)

posit=0;

/**********************************************************************************************************/

//计算

void Conut(void) {

36

time=TH0*256+TL0; TH0=0; TL0=0;

S=(time*1.7)/100; //算出来是CM

if(Mode==0) {

if((S>=700)||flag==1) //超出测量范围显示“-” { } else {

Feng=0; flag=0;

disbuff[0]=10; //“-” disbuff[1]=10; //“-” disbuff[2]=10; //“-”

洛阳理工学院毕业设计论文

}

}

}

//距离大于报警距 if(S<=BJS) { } else { }

disbuff[0]=S%1000/100; disbuff[1]=S%1000%100/10; disbuff[2]=S%1000%10 %10;

flag_BJ=0; Feng=1;

flag_BJ=1;

else { }

Feng=1; flag_BJ=0;

disbuff_BJ[0]=BJS%1000/100; disbuff_BJ[1]=BJS%1000%100/10; disbuff_BJ[2]=BJS%1000%10 %10;

/**********************************************************************************************************/

//定时器0

void zd0() interrupt 1 { }

37

//T0中断用来计数器溢出,超过测距范围

flag=1; //中断溢出标志

洛阳理工学院毕业设计论文

/**********************************************************************************************************/

//定时器1

void zd3() interrupt 3 //T1中断用来扫描数码管和计800MS启

动模块

{ unsigned int m; TH1=0xf8; TL1=0x30; Key_(); Display(); timer++; if(flag_BJ==1) { m++;

if(m>=(S+10)) { m=0; Feng=!Feng;

}

}

if(timer>=400) { timer=0; TX=1;

_nop_(); _nop_(); _nop_(); _nop_();

_nop_();

38

//800MS 启动一次模块

洛阳理工学院毕业设计论文

}

}

_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); TX=0;

/**********************************************************************************************************/

//主函数 void main(void) {

39

TMOD=0x11; TH0=0;

//设T0为方式1,GATE=1;

TL0=0; TH1=0xf8; TL1=0x30; ET0=1; ET1=1;

//允许T0中断 //2MS定时

//允许T1中断

洛阳理工学院毕业设计论文

TR1=1; EA=1;

while(1) { while(!RX); TR0=1;

while(RX); TR0=0; Conut();

}

}

实物效果图:

40

//开启定时器

//开启总中断

//当RX为零时等待

//开启计数

//当RX为1计数并等待 //关闭计数

//计算

洛阳理工学院毕业设计论文

41

洛阳理工学院毕业设计论文

外文资料翻译

Ultrasonic ranging system design

Ultrasonic ranging technology has wide using worth in many fields,such as the

industriallocale,vehicle navigation and sonar engineering. Now it has been used in level measurement,self-guided autonomous vehicles fieldwork robots automotive navigation,air and underwater targetdetection,

identification,location and so on.So there is an important practicing meaning to learn theranging theory and ways deeply. To improve the precision of the ultrasonic

ranging system in hand,satisfy the request of the engineering personnel for the ranging

precision,the bound and the usage,aportable ultrasonic ranging system based on the single chip processor was developed

1.With the development of science and technology the improvement of

peoplesstandard of living speeding up the development and construction of the city.

urbandrainage system have greatly developed their situation is constantly improving. Howeverdue to historical reasons many unpredictable factors in the synthesis of her time the citydrainage system. In particular

42

洛阳理工学院毕业设计论文

drainage system often lags behind urban construction.Therefore there are often good building excavation has been building facilities to upgradethe drainage system phenomenon. It brought to the city sewage and it is clear to the citysewage and drainage culvert in the sewage treatment system. comfort is very important topeoples lives. Mobile robots

designed to clear the drainage culvert and the automaticcontrol system Free sewage culvert clear guarantee robot the robot is designed to clear theculvert sewage to the core. Control System is the core component of the development ofultrasonic range finder.

Therefore it is very important to design a good ultrasonic rangefinder.

2. A principle of ultrasonic distance measurement

2.1 The principle of piezoelectric ultrasonic generator Piezoelectric ultrasonic generator is the use of piezoelectric crystal resonators to work.Ultrasonic generator the internal structure as shown it has two piezoelectric chip and aresonance plate. When its two plus pulse signal the frequency equal to the intrinsicpiezoelectric oscillation frequency chip the chip will happen piezoelectric resonance andpromote the development of plate vibration resonance ultrasound is generated. Converselyif the two are not inter-electrode voltage when the board

43

洛阳理工学院毕业设计论文

received ultrasonic resonance itwill be for vibration suppression of piezoelectric chip the mechanical energy is convertedto electrical signals then it becomes the ultrasonic receiver. The traditional way to determine the moment of the echos arrival is based onthresholding the received signal with a fixed reference. The threshold is chosen well abovethe noise level whereas the moment of arrival of an echo is defined as the first moment theecho signal surpasses that threshold. The intensity of an echo reflecting from an objectstrongly depends on the objects nature size and distance from the sensor. Further the timeinterval from the echos starting point to the moment when it surpasses the thresholdchanges with the intensity of the echo. As a consequence a

considerable error may occurEven two echoes with different intensities arriving exactly at the same time will surpass thethreshold at different moments. The stronger one will surpass the threshold earlier than theweaker so it will be considered as belonging to a nearer object.

2.2The principle of ultrasonic distance measurement Ultrasonic transmitter in a

direction to launch ultrasound in the moment to launch thebeginning of time at the same time the spread of ultrasound in the air

obstacles on his wayto return immediately the ultrasonic reflected wave received by the

44

洛阳理工学院毕业设计论文

receiver immediatelystop the clock.

Ultrasound in the air as the propagation velocity of 340m / s according tothe timer records the time t we can calculate the

distance between the launch distancebarrier s that is: s 340t / 2

3.Ultrasonic Ranging System for the Second Circuit Design System is characterized by single-chip microcomputer to control the use of ultrasonictransmitter and ultrasonic receiver since the launch from time to time single-chip selectionof 8751 economic-to-use and the chip has 4K of ROM to facilitate programming. Circuitschematic diagram shown in Figure 2. Figure 1 circuit principle diagram

3.1 40 kHz ultrasonic pulse generated with the launch Ranging system using the

ultrasonic sensor of piezoelectric ceramic sensors UCM40its operating voltage of the pulse signal is 40kHz which by the single-chip implementationof the following procedures to generate.puzel: mov 14h 12h ultrasonic firing continued 200mshere: cpl p1.0 output 40kHz square wave nop nop nop djnz 14h here ret Ranging in front of single-chip termination circuit P1.0 input port single

chipimplementation of the above procedure the P1.0 port in a 40kHz pulse output signal afteramplification transistor T the drive to launch the first ultrasonic UCM40T issued

45

洛阳理工学院毕业设计论文

40kHzultrasonic pulse and the continued launch of 200ms. Ranging the right and the left side ofthe circuit respectively then input port P1.1 and P1.2 the working principle and circuit infront of the same location.

3.2 Reception and processing of ultrasonic Used to receive the first launch of the first pair UCM40R the ultrasonic pulsemodulation signal into an alternating voltage the op-amp amplification IC1A and afterpolarization IC1B to IC2. IC2 is locked loop with audio decoder chip LM567

internalvoltage-controlled oscillator center frequency of f0 1/1.1R8C3 capacitor C4 determinetheir target bandwidth.

R8-conditioning in the launch of the carrier frequency on theLM567 input signal is greater than 25mV the output from the high jump 8 feet into alow-level as interrupt request signals to the single-chip processing. Ranging in front of single-chip termination circuit output port INT0 interrupt thehighest priority right or left location of the output circuit with output gate IC3A accessINT1 port single-chip while

single-chip P1.3 and P1.4 received input IC3A interrupted by the process to identify the source of inquiry to deal with interrupt

priority level for thefirst left right after. Part of the source code is as follows:receive1: push psw push acc clr ex1 related external interrupt

46

洛阳理工学院毕业设计论文

1 jnb p1.1 right P1.1 pin to 0 ranging from right to interrupt serviceroutine circuit jnb p1.2 left P1.2 pin to 0 to the left ranging circuit interruptservice routinereturn: SETB EX1 open external interrupt 1 pop acc pop psw retiright: ... right location entrance circuit interrupt service routine Ajmp Returnleft: ... left Ranging entrance circuit interrupt service routine Ajmp Return

3.3 The calculation of ultrasonic

propagation time When you start firing at the same time start the single-chip circuitry within the timerT0 the use of timer counting function records the time and the launch of

ultrasonicreflected wave received time. When you receive the ultrasonic reflected wave the receivercircuit outputs a negative jump in the end of INT0 or INT1 interrupt request

generates asignal single-chip microcomputer in response to external interrupt request theimplementation of the external interrupt service subroutine read the time

differencecalculating the distance . Some of its source code is as follows:

RECEIVE0: PUSH PSW PUSH ACC

CLR EX0; related external interrupt 0 MOV R7, TH0; read the time value

47

洛阳理工学院毕业设计论文

MOV R6, TL0 CLR C MOV A, R6

SUBB A, # 0BBH; calculate the time difference

MOV 31H, A; storage results MOV A, R7 SUBB A, # 3CH MOV 30H, A

SETB EX0; open external interrupt 0 POP ACC POP PSW RETI

For a flat target, a distance measurement consists of two phases: a coarse measurement and. a fine measurement:

Step 1: Transmission of one pulse train to produce a simple ultrasonic wave. Step 2: Changing the gain of both echo amplifiers according to equation , until the echo is detected.

48

洛阳理工学院毕业设计论文

Step 3: Detection of the amplitudes and zero-crossing times of both echoes. Step 4: Setting the gains of both echo amplifiers to normalize the output at, say 3 volts.

Setting the period of the next pulses

according to the : period of echoes. Setting the time window according to the data of step 2. Step 5: Sending two pulse trains to produce an interfered wave. Testing the zero-crossing times and amplitudes of the echoes. If phase inversion occurs in the echo, determine to otherwise calculate to by interpolation using the amplitudes near the trough. Derive t sub m1 and t sub m2 .

Step 6: Calculation of the distance y using equation .

4. The ultrasonic ranging system software design

Software is divided into two parts, the main program and interrupt service routine.

Completion of the work of the main program is initialized, each sequence of ultrasonic transmitting and receiving control.

Interrupt service routines from time to time to complete three of the rotation direction of

49

洛阳理工学院毕业设计论文

ultrasonic launch, the main external interrupt service subroutine to read the value of completion time, distance calculation, the results of the output and so on.. 5. Conclusions

Required measuring range of 30cm ~ 200cm objects inside the plane to do a number of measurements found that the maximum error is 0.5cm, and good reproducibility. Single-chip design can be seen on the ultrasonic ranging system has a hardware structure is simple, reliable, small features such as measurement error. Therefore, it can be used not only for mobile robot can be used in other detection systems.

Thoughts: As for why the receiver do not have the transistor amplifier circuit, because the magnification well, integrated amplifier, but also with automatic gain control level, magnification to 76dB, the center frequency is 38k to 40k, is exactly resonant ultrasonic sensors frequency.

50

洛阳理工学院毕业设计论文

超声波测距系统设计

超声测距技术在工业现场、车辆导航、水声工程等领域都具有广泛的应用价值,目前已应用于物位测量、机器人自动导航以及空气中与水下的目标探测、识别、定位等场合。因此,深入研究超声的测距理论和方法具有重要的实践意义。为了进一步提高测距的精确度,满足工程人员对测量精度、测距量程和测距仪使用的要求,本文研制了一套基于单片机的便携式超声测距系统。

1 技的发展,人们生活水平的提高,城市发展建设加快,城市给排水系统也有较大展,其状况不断改善。但是,由于历史原因合成时间住的许多不可预见因素,城市给排水系统,特别是排水系统往往落后于城市建设。因此,经常出现开挖已经建设好的建筑设施来改造排水系统的现象。城市污水给人们带来了困扰,因此箱涵的排污疏通对大城市给排水系统污水处理,人们生活舒适显得非常重要。而设计研制箱涵排水疏通移动机器人的自动控制系统,保证机器人在箱涵中自由排污疏通,是箱涵排污疏通机器人的设计研制的核心部分。控制系统核心部分就是超声波测距仪的研制。因此,设计好的超声波测距仪就显得非常重要了。 2 波测距原理

2.1 压电式超声波发生器原理 压电式超声波发生器实际上是利用压电晶体的谐振来工作的。超声波发生器内部结构,它有两个压电

51

洛阳理工学院毕业设计论文

晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波 时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。 测量脉冲到达时间的传统方法是以拥有固定参数的接收信号开端为基础的。这个界限恰恰选于噪音水平之上,然而脉冲到达时间被定义为脉冲信号刚好超过界限的第一时刻。一个物体的脉冲强度很大程度上取决于这个物体的自然属性尺寸还有它与传感器的距离。进一步说,从脉冲起始点到刚好超过界限之间的时间段随着脉冲的强度而改变。结果,一种错误便出现了——两个拥有不同强度的脉冲在不同时间超过界限却在同一时间到达。强度较强的脉冲会比强度较弱的脉冲超过界限的时间早点,因此我们会认为强度较强的脉冲属于较近的物体。

2.2 声波测距原理 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为 340m/s,根据计时器记录的时间 t,就可以计算出发射点距障碍物的距离s,即:s340t/2

3 波测距系统的电路设计 系统的特点是利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时,单片机选用 C51,经济易用,且片内有 4K 的 ROM,便于编程。

52

洛阳理工学院毕业设计论文

3.1 40kHz 脉冲的产生与超声波发射 测距系统中的超声波传感器采用 UCM40 的压电陶瓷传感器,它的工作电压是40kHz 的脉冲信号,这由单片机执行下面程序来产生。puzel: mov 14h 12h;超声波发射持续 200mshere: cpl p1.0 ; 输出 40kHz 方波 nop ; nop ; nop ; djnz 14h,here; ret 前方测距电路的输入端接单片机 P1.0 端口,单片机执行上面的程序后,在 P1.0端口输出一个 40kHz 的脉冲信号,经过三极管 T 放大,驱动超声波发射头 UCM40T,发出 40kHz 的脉冲超声波,且持续发射 200ms。右侧和左侧测 距电路的输入端分别接 P1.1 和 P1.2 端口,工作原理与前方测距电路相同。

3.2 超声波的接收与处理 接收头采用与发射头配对的 UCM40R,将超声波调制脉冲变为交变电压信号,经 IC2运算放大器 IC1A 和 IC1B 两极放大后加至 IC2。 是带有锁 定环的音频译码集成块LM567,内部的压控振荡器的中心频率 f01/1.1R8C3,电容 C4 决定其锁定带宽。调节 R8 在发射的载频上,则 LM567 输入信号大于 25mV,输出端 8 脚由高电平跃变为低电平,作为中断请求信号,送至单片机处理. 前方测距电路的输出端接单片机 INT0 端口,中断优先级最高,左、右测距电路的输出通过与门 IC3A 的输出接单片机 INT1 端口,同时单片机 P1.3 和 P1.4 接到 IC3A的输入端,中断源的识别由程序查询来处理,中断优先级为先右后左。部分源程序如下:

receive1:push psw push acc clr ex1; 关外部中断 1 jnb p1.1right;P1.1 引脚为 0

53

洛阳理工学院毕业设计论文

转至右测距电路中断服务程序 jnb

p1.2left;P1.2 引脚为 0转至左测距电路中断服务程序return: SETB EX1; 开外部中断 1 pop acc pop psw retiright:; 右测距电路中断服务程序入口 ajmp

returnleft: ... ; 左测距电路中断服务程序入口 ajmp return

3.3 计算超声波传播时间 在启动发射电路的同时启动单片机内部的定时器 T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路 输出端产生一个负跳变,在 INT0 或 INT1 端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。其部分源程序如下:RECEIVE0: PUSH PSW PUSH ACC CLR EX0 ; 关外部中断 0 MOV R7 TH0 ; 读取时间值 MOV R6 TL0 CLR C MOV A R6 SUBB A 0BBH; 计算时间差 MOV 31H A ; 存储结果 MOV A R7 SUBB A 3CH MOV 30H A SETB EX0 ; 开外部中断 0 POP ACC POP PSW RETI对于一个平坦的目标,距离测量包括两个阶段:粗糙的测量和精细测量。第一步:脉冲的传送产生一种简单的超声波。第二步:根据公式改变回波放大器的获得量直到回拨被检测到。第三步:检测两种回波的振幅与过零时间。第四步:设置回波放大器的所得来规格输出,假定是 3 伏。通过脉冲的周期设置下一 个脉冲。根据第二部的数据设定时间窗。第五步:发射两串脉冲产生干扰波。测量过零时间与回波的振幅。如果逆向发生在

54

洛阳理工学院毕业设计论文

回 波中,决定要不通过在低气压插入振幅。第六步:通过公式计算距离 y。

4 波测距系统的软件设计 软件分为两部分,主程序和中断服务程序。主程序完成初始化工作、各路超声波发射和接收顺序的控制。定时中断服务子程序完成三方向超声波的轮流发射,外部中断服务子程序主要完成时间值的读取、距离计算、结果的输出等工作。

5 对所要求测量范围 30cm200cm 内的平面物体做了多次测量发现,其最大误差为0.5cm,且重复性好。可见基于单片机设计的超声波测距系统具有硬件结构简单、工作可靠、测量误差小等特点。因此,它不仅可用于移动机器人,还可用在其它检测系统中。思考:至于为什么接收不用晶体管做放大电路呢,因为放大倍数搞不好,集成放大电路,还带自动电平增益控制,放大倍数为 76dB,中心频率是 38k 到 40k,刚好是超声波传感器的谐振频率 。

55

因篇幅问题不能全部显示,请点此查看更多更全内容