文档库 最新最全的文档下载
当前位置:文档库 › 骆杰锋毕业论文(修改)

骆杰锋毕业论文(修改)

目录

第一章绪论 (1)

1.1选题背景及研究意义 (1)

1.2研究步骤、方法分析 (3)

第二章设计方案 (5)

2.1设计的目的和要求 (5)

2.2系统的工作原理分析 (7)

第三章系统硬件电路的设计 (8)

3.1 单片机简介 (8)

3.2 超声波传感器 (14)

3.3 超声波发射电路 (15)

3.4 超声波接收电路 (15)

3.5 LED码管 (16)

第四章软件设计原理及工作原理分析 (18)

4.1 设计原理图及分析 (18)

4.2 工作原理分析 (19)

第五章调试与结果 (20)

5.1 软件调试调试 (20)

5.2 遇到的问题与解决方法 (20)

5.3 测量结果对比 (20)

第六章总结 (22)

附录一超声波测距仪电路图 (23)

附录二超声波测距仪汇编程序 (24)

参考文献 (28)

摘要

本设计是以单片机技术为基础,利用超声波指向性强,能量消耗慢,在介质中传播的距离远的特点,利用了超生波传感器对前方物体进行感应,经过单片机中的程序对超声波传感器发射和接收的超声波信号进行分析和计算处理,实现的对前方物体距离测量。最后将处理结果在LED数码管上显示。

STC89C52RC单片机的超声波测距系统,此系统根据超声波在空气中传播反射原理, 把超声波传感器作为接口部件, 利用超声波在空气中传播的时间差来测量距离,设计了一套超声波检测系统。

该系统设计主要分为主控制器模块、超声波发射模块、超声波接收模块和显示模块等四个基本模块构成,用接收部分接收超声波。

第一章绪论

随着科学技术越来越广泛地使用,科技成果的迅速发展,给人民的日常生活,给我们的生活方便了许多。超声波测距仪,是本着这个宗旨,利用超声波功能为我们服务。

人们可以听到声音的振动产生的原因是对象,在为20Hz - 20kHz的,超过20KHZ的范围称为超声,低于20Hz的叫次声的频率。超声波频率用于千赫,几十兆赫不等。由于超声波指向性,往往用于距离测量。利用超声波检测往往更快速,方便,计算简单,易于做到实时控制和测量精度可以达到工业的实际要求标准了,因此在移动机器人,汽车安全,海洋测绘等得到广泛应用范围。这种设计提供了一系列数字显示装置,该装置使用单独的发送和接收超声波传感器和单片机。超声波传感器在发射和接收操作,利用空气中的速度和声波脉冲发射到接收反射脉冲来计算的距离之间的距离障碍超声波的时间间隔。

距离测量在各种场合的需要要求,检测参数,数据采集来解决问题。虽然有多种方式,例如,激光测距,微波测距,红外线和超声波测距。但是,超声波测距不失为一种简单可行的方法。虽然超声波测距电路的品种多样,甚至有特殊的超声波测距电路。然而,一些电路复杂,技术困难,有的调试变得非常困难,有些组件是不容易买到。该电路的设计,成本低廉,质量可靠,容易购买使用的组件,并在结合使用的距离测量原理与单处理芯片数据,以提高测量精度,电路实现简单,稳定可靠。

这种设计使在前面的障碍距离测量,被测物体距离的增加和减少,数码管显示不同的值。用超声波检测距离,设计更加方便,计算也比较简单,在测量精度方面能达到我们的日常需要。超声波用于倒车,建筑工地以及一些工业现场监控位置测距仪也可以使用,例如的水平,深度,管长度测量的场合。

1.1选题背景及研究意义

指向性强超声波能量消耗缓慢,在介质中传播较远,因此经常使用,如测距

仪和液位测量超声波测距等,可以通过超声波实现。使用超声波检测往往更快速,方便,简单的计算。智能超声波测距仪具有广泛的实际应用,超声波测距仪广泛应用于生活,军事和其他领域,如建筑施工单位的距离测量;汽车倒车防撞系统,潜艇超声波探头定位系统。

这种设计是要求非接触式测距,本人设计了一个项目的设计。该设计可广泛用于生活、军事等各个领域,该设计需要设计者有较好的数电、模电知识,并且具有一定的编程能力,综合运用以上知识实现对超声波发射与接收信号进行控制,计算,处理最后在LED数码管显示。测量范围:0.5m——12.0m,测量精度0.1m,不与被测物体直接接触测量,可显示清晰,稳定的测量结果。

通过我在深职院三年的努力学习,得到了能够获得的专业知识,已经有电路原理,模拟电子技术,数字电子技术,专业知识和微控制器和接口技术,检测与转换,编程知识和能力一定程度上为了使用到的知识服务社会,运用他们的知识,所以我选择这个主题。

1.2研究步骤、方法

一.硬件电路的设计:

硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路四部分。

1.超声波传感器的原理及应用:超声波传感器分为集成与独立的发送和接收到两种。本设计采用超声波传感器发射接受分离式。

2.单片机的应用及语言:比较常用的单片机有INTEL公司的MCS-51系列单片机,有两大系列MCS-51子系列和MCS-52子系列及ATMEL公司AT89C系列单片机,有4种型号:AT89C51、STC89C52RC、AT89C1051、AT90C2051。软件的实现何以用C语言或汇编语言来实现。本设计考虑到功能和成本选取了STC89C52RC 单片机做控制器。

3.显示器:液晶显示我们可以使用北京精电蓬远显示技术有限公司的MDLS 16265B液晶LCD显示器或者八段数码管LED。本设计选用八段数码管LED做显示器件。

4. 超声波测距的范围和精度:由于实际需要和传感器的性能限制,测距都要有一定的范围和精度,所以在设计测距仪时应该考虑这两方面的技术要求。本设计选取的传感器要能达到要求的测量范围和精度。

二.软件的设计

超声波测距仪的软件设计主要由主程序,子程序超声发射,超声波接收中断程序和显示子程序。我们知道,C语言程序有利于更复杂的算法,汇编语言编程效率高,精确计算运行时间,汇编语言程序设计简单。这个设计采用的是C 语言。

第二章设计方案

2.1设计的目的和要求

1、超声波测距系统的目的是:这种设计的主题是超声波测距仪的设计,我们可以看到设计目标是利用超声波传感器测量距离。随着超声波测量距离的超声波发生器原理的超声波发送信号,当超声波反射回来后,经历了被测对象是超声接收者接收时间是T。这是计算只要超声波信号发送到接收器从返回信号所用的时间,可以计算出超声波发生器和从物体反射。距离计算公式:d=s/2=(c×t)/2其中,d为被测物与测距仪的距离,s为声波的来回的路程,c为声速,t为声波往返所用的时间。

要设计出超声波测距仪,首先要让超声波传感器发射部分发射超声波信号的时候让定时器0计时;再要让超声波传感器接受部分接受超声波信号的时候让定器停止计时;最后要使计时的时间转换为测量的距离,并且要达到一定的精度。在这个设计中在发射超声波信号的同时打开了总中断,用定时器0计时,接受超声波信号的时,用外部中断0关闭总中断,这时定时器0中断停止计时,定时器0中断定时时间定为294US(超声波传播经过0.1m 所需要的时间)来计数。这样可以把测量的时间转化为测量的距离值,又可以使测量达到所需要的精度。

在本设计里需要使用用到的超声波传感器和STC89C52RC单片机、超生波发射和接收电路、LED数码管、相关驱动电路将在后面介绍。

2、系统的工作原理分析:

(1)设计控制电路、技术实现方式使用单片机控制。

(2)采用超声波测距方式实现。

(3)采用LED数码管显示结果。

以上的设计目的、要求、功能实现、分析是超声波测距仪设计的依据。

图2.1超声波测距仪原理图框图

由上图可以看出,硬件电路设计主要包括单片机系统,超声波发射器和超声

波接收器,显示电路四部分组成。或者用STC89C52RC单片机微控制器系列兼容

系列代替。单片机对超声波发射器进行控制,超声波接受器把检测的信号输入到

单片机中,然后通过内部程序传输的信号进行分析,计算和处理,由LED数码管

显示测量距离的最终值。

超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中

断程序及显示子程序组成。设计中单片机内的程序开了定时器0中断和外部中断

0,使定时器工作在方式2状态,使THO=6DH ,TL0=6DH,每过294US(超声波传

播0.1m 所需要的时间)中断一次,到到对测量距离计数,外部中断0接受到超声

波回波时,外部中断0产生中断,使定时间0停止计时.

定时器0定时初值的推导:

T=0.1%340=0.000294S=294US

T为定时器设置的定时时间.

因为在晶振6MHZ时,机器周期为2US.超声波传播0.1M需要的机器周期数为

N=294%2=147

由此可以知道,定时器0使用方式二的8位自动重装计数器即可,T0的定时初值

为X=M-N=256-147=109D=6DH

第三章系统硬件电路的设计

3.1 单片机简介

单片机,亦称单片微电脑或单片微型计算机(Single Chip Microcomputer)。它是中央处理单元(CPU),随机存取存储器(RAM或EPROM,EEPROM)中,只读存储器(ROM),定时器/计数器,输入/输出端口(I/ 0)和其他主要功能集成到在一个集成电路计算机芯片的微型计算机。目前,有一种微控制器A/ D 和D/ A转换器,高速输入/输出单元,DMA通道,浮点运算和其他特殊功能的新类型。

1974年,美国仙童(Fairchild)公司研制的世界上第一个单芯片微型计算机F8。本机有两个集成电路芯片,结构奇特,具有与众不同的指令系统,深受民用电器和仪器仪表领域的欢迎和重视。自此,开始了单片机的发展也在不断扩大。现成为微型计算机,单片机开发过程中的重要分支,通常可以分为以下的发展过程划分。

1.第一代4位单片机(1974-1976):这是单片机的初级阶段。单片机在此期间生产的特点是集成制造工艺落后,双片形式使用。典型的代表产品有Fairchild公司的F8和Mostek387公司的3870等

2.第二代低档8位单片机(1976-1978):这是微控制器的第二个发展阶段。而生产微控制器这个时代已经能够在单芯片上集成的CPU,并行端口,定时器,RAM 和ROM等特点,但性能低,品种少,不是很广泛的应用,英特尔的典型产品公司的MCS - 48系列机器。

3.第三代高档8位单片机(1979-1982):这是成熟的单片机阶段。这种单片机的产生和前几代相比,不仅解决了存储容量和范围,并中断源,并行I / O端口,定时器/计数器的数量不同程度增加,更先进的是新的集成全双工串行通讯接口电路。在指令中,一般将乘法和除法和比较指令。在此期间,供应链管理的全系列产品,满足了各种不同领域的需要。代表产品有Intel公司的MCS-51系列机,Motorola公司的MC6801系列机,TI公司的TMS7000系列机,此

外,Rockwell,NS,GI和日本松下等公司也先后生产了自己的单片机系列

4.16位单片机(1982?1990年)

5.新一代的单片机(自90年代以来)

供应链管理已经成为更广泛的应用范围:1)控制系统。 2)智能电表。 3)机电一体化。 4)智能接口。 5)智能民用产品。 6)配电系统的功能。 7)功能集散控制系统。 8)局部网络系统。

中国于1982年开始使用单片机的短短五年中的最新发展极为迅速。截至今天,单片机应用技术的飞速发展,据统计,我国的单片机年容量已达 1——3 亿片,且每年以大约16%的速度增长,但相比于中国的世界市场份额不到1%。特别是在玩具厂等生产产品的沿海地区,大多采用微控制器,并继续向内地辐射,所以在中国供应链管理有一个广阔的前景。

6.STC89C52RC单片机的概述

STC89C52RC 引脚结构

图 3.1 STC89C52RC引脚结构

功能特性描述:

与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz~33Hz、三级加密程序存储器、2个可编程I/O口线、三个16位定时器/计数器、八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器等STC89C52RC引脚功能描述VCC :电源

GND:地

P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;而在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。

P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在flash编程和校验时,P1口接收低8位地址字节。

P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在flash编程和校验时,P2口亦接收低高位地址和其它控制信号。

P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个

TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在flash编程和校验时,P3口也接收一些控制信号。P3口亦作为STC89C52RC 特殊功能(第二功能)使用,如下所示。

STC89C52RC 引脚号第二功能

P3.0 RXD (串行输入)

P3.1 TXD (串行输出)

P3.2 INT0 (外部中断0)

P3.3 INT1 (外部中断1)

P3.4 T0 (定时器0外部输入)

P3.5 T1 (定时器1外部输入)

P3.6 WR (外部数据存储器写选通)

P3.7 RD (外部数据存储器写选通)

RST:复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过一个ALE脉冲。

PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当

STC89C52RC从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。

EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器

读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。

XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2:振荡器反相放大器的输出端。

STC89C52RC 有5个中断源,中断是指计算机在执行某一程序的过程中, 由于计算机系统内、外的某种原因, 而必须中止原程序的执行,转去执行相应的处理程序,待处理结束之后, 再回来继续执行被中止的原程序的过程。

采用了中断技术后的计算机, 可以解决CPU与外设之间速度匹配的问题, 使

计算机可以及时处理系统中许多随机的参数和信息, 同时, 它也提高了计算机

处理故障与应变的能力。两个外部中断(INT0 和INT1),两个定时中断(定时器0、1)和一个串行中断。每个中断源都可以通过置位或清除特殊寄存器IE 中的相关中断允许控制位分别使得中断源有效或无效。IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。

中断源是在一个计算机系统对中断请求的来源,中断可以人为设定,它可以在应对突发随机事件设置。通常的I / O设备,实时控制系统的故障随机参数和信息源等。

较高优先级的中断,那么到更高的优先级响应。当运行时,中断服务程序,另一个中断高优先级中断请求产生,当电流CPU中断服务将暂停高级别中断处理应用,可完成先进的中断处理程序中断程序关闭,然后再返回到CPU原始点继续这一过程被称为嵌套。

中断响应的过程:

(1)在每个指令结束时,系统会自动检测中断请求信号,如果有一个中断请求,并在打开的CPU,那么响应的中断的中断状态。

(2)保护之前,在一般保护,禁止中断,以防止现场销毁现场的一幕。保护现场的指令一般用于堆叠在原程序中使用到堆栈中的寄存器。

(3)中断服务的相应的中断源是服务。

(4)恢复现场,将保护的数据在堆栈上弹出的复苏之前,禁止中断现场,以防止破坏现场。时间后,现场恢复开放中断。

(5)返回时,此CPU的断点地址时堆栈推弹回到程序计数器,使CPU继续执行被中断的程序。

晶振特点:如图3.2所示,单片机AT89C52的用于形成一个内部振荡器反相放大器,XTAL1和XTAL2的是放大器的输入和输出。

图3.2 振荡电路连接图

3. 2超声波传感器

超声波是一种机械波频率高于20kHz的机械波。为了作为一种超声波检测手段,必须产生超声波和接收超声波。为了实现这个目的的设备是超声波传感器,可以使用超声波换能器或超声波探头。超声波传感器发射器和接收器,但一个超声波传感器也可发送和接收声波的双重作用。超声波发生器可以分为两类:一类是电气方式产生超声波,一个是由机械方式产生超声波。电气方法包括压力电动式等;机械方法加尔,长笛等系统,它们产生超声波频率,功率和声学特性各不相同。在近距离电流测量更常用的压电超声换能器。超声波传感器是压电效应的原理和超声波能量相互转化,即使用,当超声波发射器,将电能转化,超声波发射器和接收回波时,将超声振动转换成电信号。压电超声换能器是利用压电晶体振荡器工作。在图所示超声换能器的内部结构,它有两个压电陶瓷基板和一个传声筒。当它应用于双极性脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,促进了超声振动共振板发电的话,它是一种超声波发生器,另一方面,如果不施加电压之间的两个电极,当共振板收到超声波共振,这是抑制振动的压电晶片,将机械能转换为电信号,然后它成为一个超声波接收传感器。超声波发射器和接收器的超声波传感器探头的结构略有不同。

3.3 超声波发射电路

图3.5 超声波发射电路原理图

超声波发射电路原理图如上图所示。发射电路主要由反相器74LS04和超声波发射换能器T构成,单片机P1.0端口输出高电平驱动振荡电路产生的40KHZ 方波信号一路经一级反相器后送到超声波换能器的一个电极,另一路经两级反相器后送到超声波换能器的一个电极。用这种推挽形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采用两个反相器并联,用以提高驱动能力。上拉电阻R10、R11一方面可以提高反相器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡的时间。

3.4 超声波接收电路

图3.4超声波检测接收电路

集成电路CX20106A是一款红外检波接收的专用芯片,常用于电视机红外遥

控接受器。考虑到红外遥控常用的载波频率38KHZ与测距的超生波频率40KHZ较为接近,可以利用它制作超声波检测接收电路实验证明用CX20106A接受超声波(无信号时输出高电平),具有很高的灵敏度和较强的抗干扰能力。适当更改电容C4的大小,可以改变接受电路的灵敏度和抗干扰能力。

其中,CXA20106A为红外线接收专用芯片,可以用于超声波的接收。各引脚说明如表。

表3.1 CXA20106A各引脚说明

引脚号说明

1 超声波信号输入端口,输入阻抗为40kΩ。

2 该脚和地之间为RC串联网络,是负反馈串联网络的组成部分,改变其数值可以改变前置放大器的增益与频率特性。加大电阻或减小电容,会增大负反馈,减小放大倍数。但电容的改变会影响频率特性,推荐选用R4=4.7Ω,C5=1μF。

3

该脚与地之间为检波电容,电容大时为平均值检波,瞬间的灵敏度低;电容小

时为峰值检波,瞬间灵敏度高,但输出的脉宽变动幅度大,推荐参数为3.3μf。

4 该端口为接地端。

5

该脚和电源之间接一个电阻,设置带通滤波器的中心频率f0,值越大,f0越

低。

6 该脚和地间接一个积分电容,一般为330pF,如果取得太大,探测距离会变短。

7

集电极开路输出,遥控命令输出端,故该脚必须接上一个上拉电阻,阻值一般

为22kΩ,没接收信号时输出为高电平,有信号时电平下降。

8 电源正端,一般在4.5与5.5V之间。

3. 5 LED数码管

LED数码显示管是由发光二极管按一定的结构组合起来的显示器件,通常使用的是8段式数码管,它一般有共阳和共阴两种。图(a)为共阴极数码管的引脚图,从a-g引脚输入不同的8位二进制编码,可用于显示不同的数字或字符。图 (b)为共阳极数码管结构,8段发光二极管的阳极接在一起,阴极端分开控制,使用时公共端来接电源。要使哪根发光二极管亮,那么对应的阴极接地。图 (c)为共阴极数码管结构,8段发光二极管的阴极接在一起,阳极端分开来控制,使用时公共端接地,要使哪根发光二极管亮,那么对应的阳极端接高电平。

图3.7 数码管

数码管在显示时通常有静态显示和动态显示两种显示方式。

(1) 动态显示:动态显示是将所有的数码管的段选线并接连接在一起,用一个I/O接口控制,公共端不是直接接地(共阴极)或电源(共阳极),而是通过相应的I/O接口线控制,每一个数码管的公共端与一根I/O线相连。桑单片机在输入字符码时,所有的数码管接收到的字符码相同,但是哪个数码管显示取决于,公共

端控制码。通过分时轮流来控制各个数码管的的公共端,就可以让数码管轮流受控显示。由于人的视觉暂留效应,只要循环的周期足够快,那么看起来所有的数码管都是一起显示的,这就是动态显示原理。动态显示所用的I/O接口信号线少,线路简单。

(2)静态显示驱动:静态显示时,在其公共端直接接地(共阴极)或电源(共阳极),各段选线分别与I/O接口线相连。想要显示字符,直接在I/O线发送相应的字符码。静态显示结构简单,则显示方便,要显示某个字符,直接在I/O线上发送相应的字符码,但是一个数码管需要8根I/O线,如果数码管个数少,这时用起来方便,但是如果数码管数目较多,这时占用很多的I/O线,所以数码管较多时常采用动态显示。

此设计显示电路采用4位共阳LED数码管,段码输出端口为单片机的P0口,位码输出端口分别为单片机的P2.0、P2.1、P2.2、P2.3口,数码管位驱运用74LS07驱动。为使电路简单,提高可靠性,此超声波测距仪的显示系统采用动态显示。

第四章 设计原理及工作说明

4.1 设计原理图及分析

图 4.1 程序原理图

具体工作原理说明:超声波传感器发射部分主要受单片机控制发射超声波,超声波传感器接收部分接受已发射的超声波。

单片机STC89C52RC 中的程序可控制在超声波传感器发射超声波时单片机内的定时器开始计时,在超声波传感器接受到已发射的超声波时,停止单片机内的定时器计时,并且把记录的超声波传播时间来转换为测距仪测量的电路与前方障碍物的距离值,最后通过LED 数码管显示出来。

系统初始

开始

发射超声波脉冲

接收超声波脉冲

计算距离

显示结果

4.2 设计说明

本设计单片机中的C程序包括中断初始化、主程序、显示程序和两个中断服务子程序。在中断初始化中打开了定时器0中断,外部中断0,定时器工作在方式2,使THO=6DH

TL0=6DH。

主程序中,超声波传感器发射超声波的同时,打开中断总允许EA,此时定时器0开始计时。定时器0中断服务子程序每计时294US(超声波传播0.1m 所需要的时间),定时器0中断一次,并且使R0寄存器加1,并且判断计数值是否超过12m,若超过使R3置1。

当超声波传感器接受到超声波时,外部中断0关闭中断总允许EA,使定时器0停止计时,这样R0计录的数值除以20就是测量的距离值(R0计录的时间超声波传播0。1M 所需要的时间且为往返时间之和)。主程序中,判断记录的距离值是否在0.5——12m之间,

相关文档