《毕业论文20072703桑岳乾.doc》由会员分享,可在线阅读,更多相关《毕业论文20072703桑岳乾.doc(45页珍藏版)》请在文库网上搜索。
1、上海电力学院本科毕业设计(论文) 题目: 超声波测距器的设计 院系: 计算机与信息工程学院 专业年级: 电子科学与技术专业07级 学生姓名: 桑岳乾 学号:20072703指导教师: 阮 颖 2011年 5月29日超声波测距器的设计摘要 随着科技的发展,人们生活水平的提高,城市发展建设加快,城市给排水系统也有较大发展,其状况不断改善。但是,由于历史原因合成时间住的许多不可预见因素,城市给排水系统,特别是排水系统往往落后于城市建设。因此,经常出现开挖已经建设好的建筑设施来改造排水系统的现象。城市污水给人们带来了困扰,因此箱涵的排污疏通对大城市给排水系统污水处理,人们生活舒适显得非常重要。而设计研
2、制箱涵排水疏通移动机器人的自动控制系统,保证机器人在箱涵中自由排污疏通,是箱涵排污疏通机器人的设计研制的核心部分。控制系统核心部分就是超声波测距仪的研制。因此,设计好的超声波测距仪就显得非常重要了。 本设计采用以AT89C52单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。整个电路采用模块化设计,由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。相关部分附有硬件电路图、程序流程图。关键词:AT89c52 超声波
3、测距The design of ultrasonic wave range finderAbstract With the development of science and technology, the improvement of peoples standard of living, speeding up the development and construction of the city. urban drainage system have greatly developed their situation is constantly improving. However,
4、 due to historical reasons many unpredictable factors in the synthesis of her time, the city drainage system. In particular drainage system often lags behind urban construction. Therefore, there are often good building excavation has been building facilities to upgrade the drainage system phenomenon
5、. It brought to the city sewage, and it is clear to the city sewage and drainage culvert in the sewage treatment system. comfort is very important to peoples lives. Mobile robots designed to clear the drainage culvert and the automatic control system Free sewage culvert clear guarantee robot, the ro
6、bot is designed to clear the culvert sewage to the core. Control System is the core component of the development of ultrasonic range finder. Therefore, it is very important to design a good ultrasonic range finder. At the core of the design using AT89C52 low-cost, high accuracy, Micro figures show t
7、hat the ultrasonic range finder hardware and software design methods. Modular design of the whole circuit from the main program, pre subroutine fired subroutine receive subroutine. display subroutine modules form. SCM comprehensive analysis of the probe signal processing, and the ultrasonic range fi
8、nder function. On the basis of the overall system design, hardware and software by the end of each module. Key words: AT89S52 Ultrasonic measurement目 录1 引 言- 1 -1.1有关于超声波的简单介绍- 1 -1.1.1 超声波研究的发展- 1 -1.1.2超声波的应用领域- 2 -1.1.3 几种测距方法介绍- 3 -1.2课题设计的任务和要求- 4 -2 方案选择的论证和选择- 4 -2.1设计方案一:采用单片机来控制的超声波测距仪- 4 -
9、2.2设计方案二:采用CPLD来控制的超声波测距仪- 5 -2.3 方案设计三:采用锁相环频率合成技术- 6 -2.4测距仪的设计思路- 6 -2.4.1超声波测距原理- 6 -2.4.2超声波测距仪原理框图- 7 -3 系统的硬件设计- 7 -3.1 系统的硬件总体设计- 7 -3.1.1发射传感器触发- 8 -3.1.2发射传感器驱动- 8 -3.1.3超声波的衰减- 8 -3.1.4接收信号处理- 9 -3.1.5 数码管驱动显示- 9 -3.2 所用主要元器件简介- 9 -3.2.1 AT89s52单片机- 9 -3.2.2数码管驱动- 11 -3.2.3 74HC573- 14 -3
10、.2.4 HC-SR04超声波测距模块- 15 -4 系统的软件设计- 16 -4.1 主程序流程图- 17 -4.2 测距子程序流程图- 18 -4.3 主要程序- 18 -5 PCB板的制作- 25 -5.1 PCB简介- 25 -5.2 印制电路板设计的一般步骤- 27 -5.3 制作元器件和建立元器件库- 27 -5.4 元器件的位置调整和布线- 29 -5.5 PCB板的层- 31 -5.6 PCB板的布局- 32 -5.7 PCB板布线- 32 -6 电路调试- 33 -6.1 元件的焊接要点- 33 -6.2 外围按键电路焊接与测试- 34 -7 系统测试结果及误差分析- 34
11、-谢 辞- 37 -附 录- 39 -IV1引 言超声波是指频率在20kHz以上的声波,它属于机械波的范畴。超声波也遵循一般机械波在弹性介质中的传播规律,如在介质的分界面处发生反射和折射现象,在进入介质后被介质吸收而发生衰减。它也有自已的特性,如它的频率可以非常高,达到兆赫级,因此,它在介质中传播时能量可以集中在很小的范围内,具有良好的成束性,也就是方向性好。1.1有关于超声波的简单介绍1.1.1 超声波研究的发展超声波的研究历史可以追溯到上个世纪。1883年,Galton首先发现了超声波的存在,他当时的研究目的主要是探索人类所能感知的声谱范围。在Galton之后的三十年中,超声波仍然是一个鲜
12、为人知的东西,由于当时电子技术发展缓慢,对超声波的研究造成了一定程度的影响。因此,当压电效应和磁致现象被发现后并没有应用于制造有效的超声设备。在第一次世界大战中,对超声的研究逐步受到重视。由于战争的需要,法国人Langevin使用一种晶体传感器在水下发射和接收相对低频的超声波。他提出的这种方法可以用来检测水中是否存在潜艇并可以进行水下的通信联络。 在我国,超声学的研究开始于二十世纪五十年代,1959年至1964年间我国建立了分子声学实验室,对驰豫吸收、悬浮体的声吸收等问题进行了深入的研究,设计生产了固体中超声衰减的测量设备,对粘弹性和可压缩流体的声速和衰 减的研究取得了令人兴奋的成果。同时在超
13、声波探伤、加工、种子处理、显示、医疗等应用领域取得了可喜的成绩。表面波换能器的研究我国开始于1965年,于1970年开始了高频表面波的研究,1977年,我国研制成表面脉冲压缩滤波器。在80年代以后,我国的超声研究进入了一个全新的阶断,取得了一系列标志性成果,压电复合材料研制成功,窄脉冲短余振探头问世,PVDF高分子压电薄膜材料赶上并超过国际水平,高分子压电PVDF型换能器和超声显微镜的研究获得了实用,高频压电材料LiNb03研制成功。在应用方面,8超和A超医疗探头开始投入生产和医疗应用。超声显微镜投入应用。总的来说,我国在超声方面的研究在某些方面己走在了世界的前列。 近年来超声测试技术已明显表
14、现出下列趋向: 1、由定性的判断缺陷的有无而发展为对缺陷的位置、大小、形状、性质进行定量判断,并且利用各种成像技术直接显示缺陷的二维、三维图像; 2、向在线自动检测和仪器的智能化发展,其中非接触超声测试技术取得突破进展; 3、超声测试技术和材料的物性评价相结合,材料的设计、加工和工程应用迅速发展1.1.2超声波的应用领域超声在许多领域内比可听声的用途更加广泛,是基于以下儿个原因: 1、具有方向性,超声波的频率越高,则方向性越强。在无损探伤、水下声纳系统、超声测距系统中方向性是一个重要的考虑因素。 2、超声波的频率越高,则波长越短,波长可以小到与超声传播媒介材料尺寸相比更小的程度。在高分辨率探伤
15、、微小厚度测量、高精度Mail距中,这一点相当重要。 3、超声是不可听声,这样就避免产生噪声,因而超声具有绿色特性。 在工业生产中,超声波被应用在金属材料和部分非金属材料探伤,钡口厚,以及超声振动切削加工、清洗、焊接等行业。以及进行物位、浓度、硬度、温度等检测;超声波被广泛应用于医学领域,在诊断显像技术,血流测量计,胎儿检查仪,超声波洁牙器等医疗器械都是利用了超声波的特性;在军事领域中,超声波用于雷达目标定位,武器制导等方面。1.1.3 几种测距方法介绍除超声波测距外,目前被广泛使用的还有核辐射测距、微波测距、光学测距等,下面对这几种测距方法进行介绍。A. 核辐射法 不同物质对同位素射线的吸收
16、能力不同,一般固体最强,液体次之,气体最差。辐射式物位计既可进行连续测量,也可进行定点发送信号和进行控制。射线不受温度、压力、湿度、电磁场的影响,而且可以穿透各种介质,包括固体,因此能实现完全非接触测量。这些特点使得辐射式测距计适合于特殊场合或恶劣环境下的液位测量,如高温、高压、强腐蚀、剧毒、有爆炸性、易结晶、沸腾状态介质、高温熔融体等的液位测量。但在使用时仍要注意控制剂量,作好防护,以防射线泄漏对人体造成伤害。B. 微波测距法在电磁波谱中将波长为1 l000mm 的电磁波称为微波。微波的特点是在各种障碍物上都能产生良好的反射,具有良好的定向辐射性能;在传输过程中受到粉尘、烟雾、火焰及强光的影
17、响小,具有很强的环境适应能力。 随着大规模集成电路技术和微处理技术的迅速发展,微波检测技术从长期停滞不前的原理性、实验性研究阶段,迅速进入工程实用和产业化阶段。有关厂商不断推出各种高性能的微波固体器件以及微波集成电路,不但使微波发射接受电路实现小型化,而且性能指标也有很大的提高,价格也有很大的下降。利用介质对微波的反射或吸收特性,微波检测技术在运动目标检测,目标物含水率检测,液位、料位检测等方面的应用愈来愈广泛。C. 光学测量法激光用于液位测量,克服了普通光亮度差、方向性差、传输距离近、单色性差、易受干扰等缺点,使测量精度大为提高。 激光式液位检测仪由激光发射器、接收器及测量控制电路组成。工作
18、方式有反射式和遮断式,在物位测量中两种方式都可使用,但一般只用作定点检测控制,不易进行连续测量。D. 超声波测量法超声波测距的基本原理是,由超声探头发出的超声脉冲信号,在空气中传播,遇到空气与物体的界面后被反射,接收到回波信号后能得到超声波传播时间。根据其传播速度和传播时间计算出其传播距离,得到传感器到物体的距离。1.1.4 超声波测距的优越性超声波测距属于非接触检测的范畴,它在许多场合有接触测量不可比拟的优越性,同时与激光、红外、无线电等其它非接触性检测相比,超声检测在一定距离范围内不受光线影响、结构简单、成本低等特点1.2课题设计的任务和要求设计一超声波测距仪,任务:(1).了解超声波测距
19、原理。(2).根据超声波测距原理,设计超声波测距器的硬件结构电路。设计一超声波测距仪,要求:(1).设计出超声波测距仪的硬件结构电路。(2).对设计的电路进行分析能够产生超声波,实现超声波的发送与接收,从而实现利用超声波方法测量物体间的距离。(3).对设计的电路进行分析。(4).以数字的形式显示测量距离。2方案选择的论证和选择2.1设计方案一:采用单片机来控制的超声波测距仪采用单片机来控制的超声波测距仪是先由单片机产生一个信号,经过信号线,把信号引入到与超声波发射器相连的信号引脚上,再由超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,
20、超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:原理框图如2-1所示:开始测量超声波信号开定时器关定时器数据运算显示器接收检测电声换能器电声换能器驱动电路图2-1采用单片机来控制的超声波测距仪Fig2-1 Single-chip to control the ultrasonic range finder2.2设计方案二:采用CPLD来控制的超声波测距仪采用CPLD来控制的超声波测距仪,主要是在软件上运用VHDL(Very High Speed Integrated Circuit Hardwar
21、e Description Language)编写程序使用MAX+plus II软件进行软硬件设计的仿真和调试,最终实现测距功能。使用本方案的优点在于在超声波测距仪设计中采用的是MAX7000s系列中的EPM7128SLC84-15的CPLD器件,其最高频率可达175.4MHz,可用于组合逻辑电路、时序逻辑电路、算法、双端口RAM等的设计。充分利用了其多达128个宏单元、68pin可编程I/O口,使该器件可以将分频功能、计数功能、显示编码功能、振荡功能全部集于一体。又因其延时平均的特点,保证了测距结果精度高、响应速度快。缺点是方案中需要一块FPGA,一块双口RAM,还需要一块用来存储波形数据的
22、EEPROM,那么设计的成本较高。同时在FPGA中还要用硬件描述语言(VHDL语言)编写程序来实现硬件电路功能。由于EPM7128SLC84-15的算法复杂,所以在软件实现起来编程也复杂。2.3 方案设计三:采用锁相环频率合成技术采用锁相环频率合成技术,也可以实现我们所需要的超声波测距仪。具体方案如下:首先通过频率合成技术产生超声波所需要的频率,在通过信号线将采用锁频率相合成技术得到的频率引到超声波的发射头上,这样就可以实现超声波测距。它的优点就是工作频率可调,也可以达到很高的频率分辨率;缺点是要求使用的滤波器通带可变,实现很困难。它的原理如图2-2所示:图2-2 原理图Fig2-2 Sche
23、matic与第二种方案相比,第一种使用的是单片机,编译语言可以用C语言来实现,所以比较简单,而第三种方法使用的滤波器通带容易变化,实现起来就相对比较的困难,综上所述,因此选择第一种设计方案。2.4测距仪的设计思路2.4.1超声波测距原理发射器发出的超声波以速度在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离。由于超声波也是一种声波,其声速v与温度有关,下表列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。表2-1 超声波波速与温度的关系表From 2
24、-1Ultrasonic velocity with temperature table温度()-30-20-100102030100声速(ms)3133193253233383443493862.4.2超声波测距仪原理框图单片机发出40kHZ的信号,经放大后通过超声波发射器输出;超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为t,再由软件进行判别、计算,得出距离数并送LED显示。超声波发射器放大电路超声波接收器放大电路锁相环检波电路定时器单片机控制显示器图2-3 超声波测距仪原理框图Fig 2-3 Block diagram of ul
25、trasonic range finder3 系统的硬件设计在前一章介绍的数字录音原理的基础上,结合实际的情况和需要,从系统的任务和要求入手,开始对系统进行总体设计。3.1 系统的硬件总体设计按照系统设计的功能的要求,初步确定设计系统由单片机主控模块、显示模块、超声波发射模块、接收模块共四个模块组成。单片机主控芯片使用Atmel公司的AT89s52系列单片机,该单片机工作性能稳定,同时也是在单片机课程设计中经常使用到的控制芯片。发射电路由单片机输出端直接驱动超声波发送。接收电路使用三极管组成的放大电路,电路简单。硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波接收电路四部分。
26、采用12MHz高精度的晶振,以获得较稳定时钟频率,从而减小测量误差。单片机用P1.0端口输出超声波换能器所需的40kHz的方波信号,P1.1端口监测超声波接收电路输出的返回信号。显示电路采用简单实用的3位共阳LED数码管,段码输出端口为单片机的P0口,位码输出端口分别为单片机的P2.0、P2.1、P2.2口,数码管位驱运用PNP三极管8850三极管驱动。超声波接收头接收到反射的回波后,经过接收电路处理后,向单片机P1.1输入一个低电平方波。单片机控制着超声波的发送,超声波发送完毕后,立即启动内部计时器T0计时,当检测到P1.1由高电平变为低电平后,立即停止内部计时器计时。单片机将测得的时间与声
27、速相乘再除以2即可得到测量值,最后经3位数码管将测得的结果显示出来。3.1.1发射传感器触发由于传感器的中心频率是40KHZ,本系统采用的是高精度的12MHZ晶振,方波的周期为1/40ms,即25s,半周期为12.5s。每隔半周期时间,让方波输出脚的电平取反,便可产生40kHz方波。由于单片机系统的晶振为12M晶振,因而单片机的时间分辨率是1s,所以只能产生半周期为12s或13s的方波信号,频率分别为41.67kHz和38.46kHz。本系统在编程时选用了后者,让单片机产生约41.67kHz的方波信号来触发超声波发射传感器。3.1.2发射传感器驱动超声波发送部份为了简化电路,没加设置专门的超声
28、波驱动电路,而是用单片机的P1.0引脚输出端加了一个上拉电阻后,从而增加驱动电流,就直接驱动超声波发送头。理论上,驱电电压只有5伏。3.1.3超声波的衰减超声波在介质中传播时,随着传播距离的增加,其能量逐渐减弱,这种现象叫超声波的衰减。引起超声波衰减的主要原因有: (1)扩散衰减:超声波在传播过程中,由于声束的扩散能量逐渐分散,从而使单位面积内超声波的能量随传播距离的增加而减弱。超声波的声压和声强均随至声源的距离的增加而减弱。 (2)散射衰减:当声波要传播过程中遇到由不同声阻抗介质所组成的界面时,就将产生散乱反射,从而损耗了声波的能量,被散射的超声波在介质中沿着复杂的路径传播下去,最终变为热能
29、。 (3)粘滞衰减:声波在介质中传播时,由于介质的粘滞性造成近质点之间的内摩擦从而使一部分声能转化热能。同时,由于介质的热传导,介质的稠密和稀疏部分之间进行热交换,从而导致声能的损耗,这就是介质的吸收现象。超声波的衰减有两种表示方法。一种是用底波多次反射的次数来表示。这种方法仅能粗略地比较声波在不同材料中的衰减程度,也就是对同样厚度的不同材料在同样的仪器灵敏度下,观察它们的底面反射波的次数,底波次数多的材料,说明声波在该材料中衰减少,底波次数少,则声波衰减比较严重。另一种是理论上定量计算的表示方法,即用衰减系数来表示声波的衰减。3.1.4接收信号处理由于反射回来的超声波信号非常微弱,所以接收电
30、路需要对其进行放大。接收到的信号加到BG1三极管、BG2三极管组成的两级放大器上进行放大。每级放大器的进行放大。放大的信号通过检波电路得到解调后的信号,即把多个方波波解调成多个大方波波。这里使用的是I N 4148检波二极管,输出的直流信号即两二极管之间电容电压。3.1.5 数码管驱动显示显示电路采用简单实用的3位共阳LED数码管,段码输出端口为单片机的P0口,位码输出端口分别为单片机的P2.0、P2.1、P2.2口,数码管位驱运用PNP三极管8850三极管驱动。软件编程实现动态显示,并且软件消影。3.2 所用主要元器件简介3.2.1 AT89s52单片机主要性能(1)与MCS-51单片机产品
31、兼容(2)8K字节在系统可编程Flash存储器(3) 1000次擦写周期(4) 全静态操作:0Hz33Hz(5)32个可编程I/O口线(6)三个16位定时器/计数器(7)八个中断源(8)全双工UART串行通道(9)l 低功耗空闲和掉电模式(10)掉电后中断可唤醒(11) 看门狗定时器 图3-1 AT89S52管脚图 Fig3-1 AT89S52 Pin map功能特性描述AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可
32、编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中
33、断或硬件复位为止。图3-2 单片机最小系统Fig3-2 Smallest single-chip system超声波测距单片机系统主要由:AT89S52单片机、晶振、复位电路、电源滤波部份构成。3.2.2数码管驱动数码管的结构数码管由7 个发光二极管组成,行成一个日字形,它门可以共阴极,也可以共阳极,通过解码电路得到的数码接通相应的发光二极而形成相应的字,这就是它的工作原理。基本的半导体数码管是由7 个条状的发光二极管(LED)按图1 所示排列而成的,可实现数字09及少量字符的显示。另外为了显示小数点,增加了1 个点状的发光二极管,因此数码管就由8 个LED 组成,我们分别把这些发光二极管命名
34、为a,b,c,d,e,f,g,dp。数码管按各发光二极管电极的连接方式分为共阳数码管和共阴数码管两种。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM 接到地线GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。共阴数码管内部连接如图3 所示。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM 接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阳数码管内部
35、连接如下图: 图3-3 数码管 Fig3-3 Digital数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。(1) 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8 个显示笔划“a, b, c, d, e, f, g, dp“的同名端连在一起,另外为每个数码管的公共极COM 增加位选通控制电路,位选通由各自独立的I/O 线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM 端电路的控制
36、,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM 端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O 端口,而且功耗更低。(2)静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O 端口进行驱动,或者使用如BCD 码二-十进制译
37、码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O 端口多,如驱动5 个数码管静态显示则需要5840 根I/O 端口来驱动,要知道一个89S52单片机可用的I/O 端口才32 ,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3f;共阳数码管的字符编码为11000000,即0xc0。可以看出共阳,共阴数码管两个编码的各位正好相反。图3-4 数码管驱动显示电路Fig3-4 Digital driver display
38、circuit 为此本设计中采用动态显示驱动数码管,并且软件消影。每一位数码管显示了它前一位要显示的字符和它本身要显示的字符的重叠效果。要想避免“拖影”就必须在每位数码管显示完后将其关闭,我们可以加入“P0=0xff;”,这样各位数码管都不会选中,然后下一位再显示时就不会有影响了,这就是所谓的消“影”。3.2.3 74HC573 图3-5 74HC573管脚图Fig3-5 74H573pin map高性能硅门 CMOS 器件SL74HC573 跟 LS/AL573 的管脚一样。器件的输入是和标准 CMOS 输出兼容的;加上拉电阻,他们能和 LS/ALSTTL 输出兼容。 当锁存使能端LE为高时
39、,这些器件的锁存对于数据是透明的(也就是说输出同 步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。图中1D到8D为数据输入端,1Q到8Q为数据输出端。LE为所存控制端。 3.2.4 HC-SR04超声波测距模块采用IO口TRIG触发测距,给至少10us的高电平信号;模块自动发送8个40khz的周期电频,自动检测是否有信号返回;有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平*声速(340M/S)/2.图3-6 模块实物图Fig3-6 Module physical map 图3-7 超声波时序图Fig3-7 Ultra
40、sound timing diagram4 系统的软件设计超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。我们知道C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。该系统的信号产生与数据处理传送部分,由AT89s52单片机主控芯片,方波信号产生,中断程序,定时器计时,低电平检测,数码管显示程序设计。系统功能的实现依赖于软硬件的协同工作。软件开发工作由单片机控制软件来实现。4
41、.1 主程序流程图= 0 测量断码转换 开始 初始化 启动定时器 测量标志 超声波测距 距离上限值 显示值 = CCC = N 距离盲区值 = N 显示 显示值= - 设定断码转换 = 1 = Y = Y 图4-1 主程序流程图Fig4-1 Main program flowchart4.2 测距子程序流程图 超声波测距 时间=1s? 发送超声波 启动计时器T0 Y 延时避开盲区 收到回波否? 延时避开盲区 延时避开盲区 结束 预设时间 N N 图4-2 测距子程序流程图Fig4-2 Ranging subroutine flowchart4.3 主要程序#include /包括一个52标准内
42、核的头文件#define uchar unsigned char /定义一下方便使用#define uint unsigned int#define ulong unsigned long/*sfr CLK_DIV = 0x97; /为STC单片机定义,系统时钟分频 /为STC单片机的IO口设置地址定义sfr P0M1 = 0X93;sfr P0M0 = 0X94;sfr P1M1 = 0X91;sfr P1M0 = 0X92;sfrP2M1 = 0X95;sfrP2M0 = 0X96;/*sbit Trig = P10; /产生脉冲引脚sbit Echo = P32; /回波引脚sbit t
43、est = P11; /测试用引脚uchar code SEG710=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;/数码管0-9uint distance4; /测距接收缓冲区uchar ge,shi,bai,temp,flag,outcomeH,outcomeL,i; /自定义寄存器bit succeed_flag; /测量成功标志/*函数声明void conversion(uint temp_data);void delay_20us();/void pai_xu();void main(void) / 主程序 uint distance_data,a,b; uchar CONT_1; CLK_DIV=0X03; /系统时钟为1/8晶振(pdf-45页) P0M1 = 0; /将io口设置为推挽输出 P1M1 = 0; P2M1 = 0; P0M0 = 0XFF; P1M0 = 0XFF; P2M0 = 0XFF; i=0; flag=0;test =0;Trig=0; /首先拉低脉冲输入引脚TMOD=0x11; /定时器0,定时器1,16位工作方式