基于单片机的超声波测距设计说明书.doc

上传人:小** 文档编号:23632670 上传时间:2021-06-10 格式:DOC 页数:50 大小:6.37MB
返回 下载 相关 举报
基于单片机的超声波测距设计说明书.doc_第1页
第1页 / 共50页
基于单片机的超声波测距设计说明书.doc_第2页
第2页 / 共50页
基于单片机的超声波测距设计说明书.doc_第3页
第3页 / 共50页
点击查看更多>>
资源描述
摘要摘要超声波是频率高于20KHZ的声波具有指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在液位、井深、管道长度的测量、移动机器人定位和避障等领域得到了广泛的应用。基于此,本次设计尝试使用AT89S52与HC-SR04模块来实现超声波的测量,结合外围电路模块实现距离显示及报警构成超声波测距系统。本次超声波测距系统由单片机计时及控制电路、超声波发射接收模块、测量距离显示电路、报警电路等部分组成。详细介绍了超声波测距模块及AT89S52单片机的测距原理。以HC-SR04超声波测距模块为核心实现超声波的发射与接收。显示电路采用数码管以及三极管显示控制,报警电路由蜂鸣器与三极管组成。整体电路结构简单,成本低廉,工作稳定,测量精度也达到实际应用要求。关键词:超声波 测距 单片机 HC-SR04AbstractAbstractUltrasound is sound waves with frequency higher than 20KHz, it has strong directivity and consumes energy slowly, at the same time it spreads farther in the same medium. Therefore ultrasound is often used for distance measurement, such as the range finder and level measurement and so on can be achieved by it. Use of ultrasonic detection tends to be quickly, convenient and simple calculation, easy to do real-time control. In the measurement precision it can reach industry practical requirement. So in liquid level, well depth, pipe length measurement, mobile robot localization and obstacle avoidance, etc a wide range of applications.This ultrasonic ranging system consists of the single-chip microcomputer timer and control circuit, ultrasound transmitting and receiving modules, the distance display circuit, alarm circuits and other components. Detailed introduces the ultrasonic ranging module and AT89S52 MCU range finder principle. HC-SR04 is the core of the ultrasonic transmitter and receiver. The result displays with digital tube and controlled by transistor. And the alarm circuit is composed by buzzer and transistor. The whole circuit is simple structure, low cost, stable work and the measurement accuracy reached the application requirements.Key words: ultrasonic wave ranging MCU HC-SR04目录目录前言1第1章 测距仪现状及意义分析21.1国内外现状21.2本课题研究意义31.3主要内容及思路3第2章 总体设计42.1总体设计要求42.2总体设计思路4第3章 硬件电路63.1单片机及其基本电路63.1.1单片机介绍63.1.2 AT89S52介绍63.1.3单片机基本电路93.2 HC-SR04模块93.2.1 HC-SR04模块使用器件103.2.2超声波发射电路133.2.3超声波接收电路143.2.4 HC-SR04模块工作原理143.3显示电路163.3.1 LED结构与显示方式163.3.2显示模块电路183.3.3显示子程序183.4报警模块193.4.1蜂鸣器及其原理193.4.2报警电路及子程序20第4章 程序开发环境及流程图234.1 程序语言及开发环境234.2主程序流程图254.3测距程序流程图27第5章 硬件使用说明305.1 硬件电源说明305.2 硬件操作说明31总结32致谢33参考文献34附录一 超声波测距仪原理图附录二 超声波测距PCB图附录三 源程序I前言前言随着经济和科学技术的发展,汽车这项代步工具也走近越来越多的家庭,与此同时交通拥挤的状况也越来越严重。伴随着汽车带来方便的同时,各种事故也层出不穷,其中追尾、倒车碰撞则占据了很大一部分比例。而在汽车上安装一个测距防撞报警系统则能很好的帮助解决这一问题。超声波具有指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,性价比很高。因此在液位、井深、管道长度的测量、移动机器人定位和避障等领域得到了广泛的应用。因此可以将超声波测距系统应用到汽车防撞中。在汽车尾部安装一个超声波测距系统,泊车时,系统检测汽车与障碍物的距离并且利用LED显示,当距离达到某设定值时实施声音报警来提醒驾驶人员。1第1章 测距仪现状及意义分析第1章 测距仪现状及意义分析1.1国内外现状1.国内现状随着传感器和单片机控制技术的不断发展,非接触式检测技术已被广泛应用于多个领域。目前,典型的非接触式测距方法有超声波测距、CCD 探测、雷达测距、激光测距等。其中,CCD 探测具有使用方便、无需信号发射源、同时获得大量的场景信息等特点,但视觉测距需要额外的计算开销。雷达测距具有全天候工作,适合于恶劣的环境中进行短距离、高精度测距的优点,但容易受电磁波干扰。激光测距具有高方向性、高单色性、高亮度、测量速度快等优势,尤其是对雨雾有一定的穿透能力,抗干扰能力强,但其成本高、数据处理复杂。与前几种测距方式相比,超声波测距具有以下优势:1、与声波相比,超声波具有指向性强、能量消耗缓慢、在介质中传播距离较远、反射能力强等优势。2、和光学方法相比,声音传播速度小,可以直接测量较近的目标,纵向分辨率高,适用范围广,并具备不受光线、烟雾、电磁干扰等因素影响,因此对于测量处于黑暗、电磁干扰等比较恶劣环境中的物体具有很强的适应能力,且覆盖面较大等优点。3、超声波测距系统具有体积小、结构简单、价格低廉,测距迅速、方便、计算简易、易于做到实时控制。国内的早期测距仪是基于机械原理的,但随着世界的电子技术的发展,国内位移测距仪在各方面不甘落后,甚至在某一方面科技含量领先世界。国内对超声波回报信号处理方法、新型超声波换能器研发、超声波发射脉冲选取等方面进行了大量理论分析与研究,并针对超声波测距的常见影响因素提出温度补偿、接收回路串入自动增益调节环节等提高超声波测距精度的措施。随着科学技术的不断进步,超声波的应用也越来越广泛。但就目前技术水平来说,人们利用超声波的技术还十分有限,因此,这是一个正在不断发展而又前景良好的技术。目前,超声波测距系统可以广泛应用于建筑施工工地以及一些工业现场的位置监控,如液位、井深、管道长度的测量、移动机器人定位和避障等领域。与此同时对其的精度要求也越来越高,伴随着经济技术的发展,超声波测距应用的范围也会日益扩大。2.国外现状国外测距仪表早期大多采用机械原理,但近年来随着电子技术的应用,逐步向机电一体化发展,并且总结了许多新的测量原理。在传统原理中渗透了电子技术及微机技术,结构有了很大的改善,功能有了很大的提高。从国外测距仪发展的技术动向看,当前国外测距仪新技术普遍应用,普遍采用电子设计自动化、计算机辅助测试、数字信号处理、专用集成电路及表面贴装技术等。呈现出智能化测距仪、非接触式测量方式的测距仪、新原理的小型测距。1.2本课题研究意义接触式测量存在测量费用较高,探头易磨损,测量速度慢,在测量一些内部元件有先天的限制,故欲求得物体真实外形则需要对探头半径进行补偿,因此可能会导致修正误差的问题,而利用超声波测距则可以实现非接触式测量,解决上述问题。与其他测位方法相比,超声波测量具有结构简单、接触、安装和维护方便、性能稳定可靠且环境适应性强等优势。在现代生活中,机动车的倒车位置监控也广泛运用超声波测距系统。随着汽车拥有量的增长,汽车的安全和使用便捷性能受到了空前的关注。由于存在视觉盲区,人们在倒车时无法看清楚车子后面的障碍物,很容易刮伤汽车或发生事故。通过在车身前后安装超声测距传感器可以有效测量车身距障碍物间距离,解除了驾驶员泊车、倒车和起动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了视野死角和视线模糊的缺陷,提高驾驶的安全性。因此研究超声波测距系统的原理具有很大的现实意义,对于本课题的研究还能进一步提高自身对单片机及电路设计的理解应用。1.3主要内容及思路本次设计选用HC-SR04超声波模块,该模块使用的是T40-16T/R超声波传感器。根据其原理设计超声波测距系统的硬件结构电路,对设计的电路进行分析能够控制其产生超声波,实现对超声波的发送和接收,从而利用超声波测距的原理来实现对物体间距离的测量。具体设计包括基于单片机控制超声波发射和接收、LED显示、蜂鸣器报警等电路。36第2章 总体设计超声波测距的原理是通过超声波发射装置发出超声波,根据接收器接到超声波时的时间差就可以知道距离了,这与雷达测距原理相似。 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2。第2章 总体设计本设计采用52单片机为主控,集测量、显示、报警于一体,要求电路结构简单、操作方便、成本低廉适于实际应用。2.1总体设计要求1、测量范围0.21.5m;2、测量精度1cm;3、LED显示测量结果;4、机动车挂入“R”档,系统工作;5、在1.5m、1m时,以及1m每0.1m蜂鸣器短鸣提示;6、在0.2m时蜂鸣器长鸣示警;7、超声波收发传感器与被测障碍物之间无直接接触。2.2总体设计思路在本次设计中,以52单片机为主控芯片,各部分功能用外部电路来完成,其中包括超声波测距模块HC-SR04、显示电路、报警电路,各部分关系如图2-1所示。HC-SR04AT89S52电源 显示电路 报警电路图2-1 设计思路框图在实物制作测试过程中,由电脑的USB接口为电路板提供电源,在测试完成后则最终由3节干电池供电。显示电路将测量距离时时动态输出到数码管上显示。HC-SR04由单片机触发发射超声波,接收到回波信号后给高电平,由单片机计得出时间。报警电路由单片机与三极管控制在设定的距离内启动蜂鸣器报警。各部分工作流程如图2-2所示。开始单片机触发HC-SR04工作接收引脚扫描计得时间单片机数据处理报警显示数据有回波图2-2 各部分工作流程当对应按钮按下时单片机开始工作,对应I/O端口输出14us的高电平,HC-SR04模块开始工作发射超声波,单片机扫描对应I/O口,当对应I/O口变成高电平时开始计时,直到I/O口变成低电平计时结束再调用计算子程序处理数据,最后由显示子程序处理显示最终结果,如果超出测量范围则显示“999”。第3章 硬件电路第3章 硬件电路主要包括单片机基本电路、HC-SR04模块、显示电路、报警电路。3.1单片机及其基本电路3.1.1单片机介绍单片微型计算机简称单片机。它是在一块芯片上集成了中央处理器(CPU)、一定容量的RAM和ROM(或EPROM、Flash ROM)、定时/计数器及I/O接口电路等部件,构成一个完整的微型计算机。由于单片机的结构及其所采用的半导体工艺,使之具有显著特点,其主要特点可以归纳如下:优异的性能价格比。集成度高、体积小、有很高的可靠性,由于其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。控制功能强大。一般单片机的指令系统中均含有丰富的转移指令、I/O口逻辑指令及位处理功能。低功耗、低电压,便于生产便携式产品。外部总线增加了I2C及SPI等串行总线方式,进一步缩小了体积,简化了结构。单片机系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。3.1.2 AT89S52介绍AT89S52是一个低功耗,高性能CMOS8位单片机,具有8K在系统可编程Flash存储器,使用Atmel公司高密度非易失性存储器技术制造,与工业8031、80C51产品指令引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。其具有以下标准功能:8K字节Flash、256字节RAM、32位I/O口线、看门狗定时器、2个数据指针、3个16位定时器/计数器、1个6向量2级中断结构、全双工串行口、片内晶振及时钟电路。另外,AT89S52可降至0HZ静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89S52引脚如图3-1所示。图3-1 AT89S52引脚图引脚说明:P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0不具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验 时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8 位双向I/O口,p1输出缓冲器能驱动4 个 TTL 逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。 此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2 的触发输入(P1.1/T2EX)。 在flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能:P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出。P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)。P1.5 MOSI(在系统编程用)。P1.6 MISO(在系统编程用)。P1.7 SCK(在系统编程用)。P2口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3口:P3 口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。P3口亦作为AT89S52特殊功能(第二功能)使用。在flash编程和校验时,P3口也接收一些控制信号。端口引脚第二功能:P3.0 RXD(串行输入口)、P3.1 TXD(串行输出口)、P3.2 INTO(外中断0)、P3.3 INT1(外中断1)、P3.4 TO(定时/计数器0)、P3.5 T1(定时/计数器1)、P3.6 WR(外部数据存储器写选通)、P3.7 RD(外部数据存储器读选通)。此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN: 程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。3.1.3单片机基本电路单片机最小系统如图3-2,其作用主要是为了保证单片机系统能正常工作。主要由AT89S52单片机、外部振荡电路、复位电路和+5V电源组成。单片机的XTAL1和XTAL2管脚分别接至由12MHZ晶振和两个30PF电容构成的振荡电路两侧。在复位电路中,单片机RESET管脚一方面经10uF的电容接至电源正极,实现上电自动复位,另一方面经开关S1接电源。当程序出错或系统处于锁死状态时,可以通过复位键重新启动。图3-2 单片机最小系统3.2 HC-SR04模块HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,其结构简单,使用单片机控制电路简单容易,而且价格便宜。该模块包括超声波发射、接收与控制电路。实物如图3-3。图3-3 HC-SR04模块实物图3.2.1 HC-SR04模块使用器件该模块主要由Em78p153单片机、MAX232、TL074、超声波传感器:T40-16、R40-16组成。1、Em78p153单片机概况描述Em78p153是采用高速CMOS工艺制造的8位单片机。其内部有512*13位一次性ROM(OTPROM)。因此,用户可以方便改进完善程序。程序代码可用EMC编程器写入芯片。有13位选项位可满足用户要求,其中的保护位可用来防止程序被读出。功能特点工作电压范围:2.0V6.0V;工作温度范围:070;工作频率范围:DC8MHz;51213位片内ROM;328位片内寄存器(SDRAM);片内有4MHz校准RC振荡器;2个双向I/O端口;8位实时定时/计数器(TCC),信号源、触发沿可编程选择,溢出产生中断;掉电模式(SLEEP模式);3个中断源:TCC溢出中断、输入引脚状态变化中断、外部中断;EM78P153为14脚封装;封装形式:SOP、SSOP和DIP。引脚分配Em78p153单片机引脚分配如图3-4。图3-4 Em78p153引脚图2、MAX232MAX232芯片是美信(MAXIM)公司专为RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。此处用于对T40-16激励电压的放大。MAX232引脚图芯片引脚如图3-5。图3-5 MAX232引脚图引脚介绍第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道;8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。第三部分是供电。15脚GND、16脚VCC(+5v)。3、TL074常用的低噪声JFET输入四运算放大器,引脚如图3-6。图3-6 TL074引脚图1、2、3脚是通道1的输出端、反相输入端、同相输入端,5、6、7脚是通道2的同相输入端、反相输入端、输出端,8、9、10脚是通道3的输出端、反相输入端、同相输入端,12、13、14脚是通道4的同相输入端、反相输入端、输出端,4脚是正电源,11脚是负电源。TL074内部组件数量如下表3-1所示。表3-1 TL074组件电阻44晶体管56JFET6二极管4电容4epi-FET44、T40-16与R40-16为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上讲,超声波发生器可以分为两大类:1电气方式产生超声波, 主要包括压电型、磁致伸缩型和电动型等;2. 机械方式产生超声波,主要包括加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。目前较为常用的是压电式超声波发生器。压电式超声波发生器实际上是利用压电晶体的谐振来工作的。其内部有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波 时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。模块使用T40-16T/R超声波换能器即为压电型。器件说明名 称:压电陶瓷超声传感器;型 号:T40-16T/R;类 别:通用型;中心频率:40KHZ;外 径:16mm;使用方式:T为发射头,R为接收头,TR为收发兼用;适用范围:家用电器及其它电子设备的超声波遥控装置;超声波测距及汽车倒车防撞装置;液面探测;超声波接近开关及其它应用的超声波发射与接收。器件性能1. 标称频率(KHz):40KHz;2. 发射电压at10V(0dB=0.02mPa):110dB;3. 接收灵敏度at40KHz(0dB=V/ubar):-70dB;4. 静电容量at1KHz,1V(PF):200030%;5. 探测距离(m):0.02-10。传感器实物如图3-7所示。图3-7 传感器实物图3.2.2超声波发射电路HC-SR04模块内部超声波发射电路如图3-8所示,主要由Em78p153单片机、MAX232及超声波发射头T40组成。图3-8 超声波发射电路3.2.3超声波接收电路HC-SR04模块内部超声波接收电路如图3-9所示,主要由TL074运算放大器及超声波接收探头R40组成。图3-9 超声波接收电路3.2.4 HC-SR04模块工作原理1、基本工作原理采用IO口TRIG触发测距,给至少10us的高电平信号;模块自动发送8个40khz的方波,自动检测是否有信号返回;有信号返回,通过IO口ECHO输出一个高电平,高电平持续时间就是超声波从发射到返回的时间。2、 电气参数HC-SR04模块参数如下表3-2所示。表3-2 模块参数电气参数HC-SR04超声波模块工作电压DC 5V续表工作电流15mA工作频率40khz最远射程4m最近射程2cm测量角度15输入触发信号10us的TTL脉冲输入回响信号输出TTL电平信号,与射程成比例规格尺寸45*20*15cm3、超声波时序图超声波时序图如图3-10所示图3-10 超声波时序图以上时序图表明只需要提供一个10us以上脉冲信号,该模块内部将发出8个40khz周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与测量的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离:距离=高电平时间*声速(340m/s)/2。为防止发射信号对回响信号的影响,测量周期一般要60ms以上。3.3显示电路单片机应用系统中,常用的显示器件有LED(发光二极管显示器)和LCD(液晶显示器)。这两种器件都具有成本低廉,配置灵活,与单片机接口方便的特点。但相对而言LCD的接口较复杂,成本也比数码管高,数码管消耗电力比液晶多一点,但是数码管显示更加清晰,更加适合在白天等强光条件下显示。液晶极其省电,但是使用有温度范围限制,且因是反光式的,在外界光线很明亮的情况下很容易看不清楚。因此本次设计采用数码管显示。3.3.1 LED结构与显示方式1、LED显示器结构与原理LED显示块是由发光二极管显示字段的显示器件,也可称为数码管。在单片机应用系统中通常使用的是7段LED。这种显示块有共阴极与共阳极两种。共阴极LED显示块的发光二极管阴极共地,如图3-11(a)所示,当某个发光二极管的阳极为高电平时,发光二极管点亮;共阳极LED显示块的发光二极管共阳极并接(在系统中,接驱动电源),如图3-11(b)所示,当某个发光二极管的阴极为低电平时,发光二极管亮。通常7段LED显示块中有8个发光二极管,其中7个发光二极管构成7笔字形“8”,一个发光二极管构成小数点“.” 共计8段,因此提供给LED显示器的字形数据正好一个字节。LED显示块与单片机接口非常容易,只要将一个8位并行输出口与显示块的发光二极管引脚相连即可。引脚配置如图3-11(c)所示。8位并行输出口输出不同的字节数据可显示不同的数字或字符,如表3-3所示。通常将控制发光二极管的8位字节数称为段选码或称字形代码,公共极称为位选线。共阳极与共阴极的段选码互为补数。表3-3 7段LED的段选码显示字符共阴极段选码共阳极段选码03FHC0H106HF9H25BHA4H34FHB0H466H99H56DH92H67DH82H707HF8H87FH80H96FH90HdbGND10dp689321547eGNDcdpedcgafbagf图3-11(c) 引脚配置+5Vdabcefgdp图3-11(b) 共阳极图3-11(a) 共阴极edcabfgdp2、LED显示器与显示方式在单片机应用系统中,经常要使用LED显示块构成N位LED显示器。N位LED显示器有N根位选线和8N根段选线。根据显示的方式不同,位选线与段选线的连接方法不同。段选线控制要显示什么用的字符,而位选线则控制要在哪一位上显示这个字符。LED显示器有静态显示和动态显示两种显示方式:LED静态显示方式。所谓静态显示,就是当显示器显示某一字符时,相应段的发光二极管恒定地导通或截至,并且显示器的各位可同时显示。静态显示时,较小的驱动电流就能得到较高的显示亮度。但与此同时N位静态显示器则要求有N8根I/O口线,占用I/O口线资源较多。故在位数较多时不采用静态显示,而采用动态显示。LED动态显示方式。所谓动态显示就是一位一位地轮流点亮显示器的各个位,对于显示器的每一位而言,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。多位LED动态显示电路只需要一个8位I/O口来控制段选,然后几位LED对应几个I/O口控制位选即可。3.3.2显示模块电路本次设计要求测量范围为20cm-150cm,误差为1cm,所以采用3位共阳数码管动态显示,显示电路如图3-12所示,有P0口控制段选,P2.1-P2.3控制位选。图3-12显示模块电路3.3.3显示子程序计算得到结果后,分别将米、分米、厘米位的值存放到40H-42H中,然后调用显示子程序将结果显示到数码管上。显示子程序如下: DISPLAY:MOV R0,#2 DISSP:MOV DPTR,#TAB MOV A,40H; /40H-42H分别对应米、分、厘米位/ MOVC A,A+DPTR MOV P0,A CLR P2.1; /开米位显示/ LCALL DEL; /调用延时程序/ SETB P2.1; /关米位显示/ MOV A,41H; /分米位/ MOVC A,A+DPTR MOV P0,A CLR P2.2 LCALL DEL SETB P2.2 MOV A,42H; /厘米位/ MOVC A,A+DPTR MOV P0,A CLR P2.3 LCALL DEL SETB P2.3 DJNZ R0,DISSP RET; /子程序返回/TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H; /共阳极数码管位选/3.4报警模块报警方式主要分为光报警和声报警。光报警主要通过点亮不同颜色的LED灯光来实施报警提醒。本次设计要求在汽车与物体距离为1.5m、1m时,以及1m每0.1m蜂鸣器短鸣提示;在0.2m时蜂鸣器长鸣示警。3.4.1蜂鸣器及其原理1.蜂鸣器的介绍蜂鸣器的作用:蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器的分类:蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器的电路图形符号:蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。2.蜂鸣器的结构原理压电式蜂鸣器:压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或集成电路构成。当接通电源后(1.515V直流工作电压),多谐振荡器起振,输出1.52.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。电磁式蜂鸣器:电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。3.有源与无源蜂鸣器区别这里的“源”不是指电源。而是指震荡源。也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫,必须用2K-5K的方波去驱动它。有源蜂鸣器又称为直流蜂鸣器具有驱动、控制简单的特点,但价格比无源的略高。无源蜂鸣器又称为交流蜂鸣器,其优点是:1成本低;2发声频率可调整,可以做出“多来米发索拉西”的效果。综上,有源蜂鸣器价格只比无源的略高,而且电路设计简单,本次设计也只需有声报警无需多种频率声音,因此采用型号为HYT-1205的有源蜂鸣器,所需驱动电压为5V,具体参数如表3-4所示。表3-4 蜂鸣器参数型号HYT-1205是否有源是驱动方式电磁式尺寸12*9.5mm材质PPO ROHS种类蜂鸣器(片)3.4.2报警电路及子程序1.报警电路本次采用由一三极管来控制蜂鸣器实施报警,报警模块电路如图3-13所示,PNP三极管与单片机P2.7连接,当P2.7为低电平时,三极管导通,蜂鸣器报警。图3-13 报警模块电路2报警子程序将计算得到的结果存于A中,再依次与21,150,100做比较判断是否要实施报警 MOV A,44H CJNE A,#21,L5 ;/判断距离是否21/ L5:JNC L6 ;/小于21实施报警/ CLR P2.7 LCALL DEL2 ;/报警延时/ SETB P2.7 AJMP L11 ;/报警结束子程序返回/ L6:CJNE A,#150,L7 ;/距离为150、100实施短鸣报警/ CLR P2.7 LCALL DEL2 SETB P2.7 AJMP L11 L7:CJNE A,#100,L8 CLR P2.7 LCALL DEL2 SETB P2.7 AJMP L11 L8:JNC L12 MOV B,#10 ;/为90、80、70.20实施短鸣报警/ DIV AB MOV A,B CJNE A,#0,L12 CLR P2.7 LCALL DEL2 SETB P2.7 AJMP L11 L12:LCALL DEL2 L11:RET ;/子程序返回/第4章 程序开发环境及流程图第4章 程序开发环境及流程图本次程序编写在MedWin环境下采用汇编编程。单片机控制HC-SR04模块发射超声波,有信号返回,通过IO口ECHO输出一个高电平,单片机打开定时器计数功能计得高电平持续时间就是超声波从发射到返回的时间,然后调用子程序计算出距离,接着通过程序处理输出到P0口显示。4.1 程序语言及开发环境1.程序语言汇编语言(Assembly Language)是面向机器的程序设计语言。汇编语言比机器语言易于读写、易于调试和修改,同时也具有机器语言执行速度快,占内存空间少等优点。其特点可以归纳如下:1.面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。2.保持了机器语言的优点,具有直接和简捷的特点。3.可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。4.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。5.经常与高级语言配合使用,应用十分广泛。因此本次设计采用汇编。2.开发环境MedWin是万利电子有限公司Insight 系列仿真开发系统的高性能集成开发环境。集编辑、编译/ 汇编、在线及模拟调试为一体,VC 风格的用户界面,内嵌自主版权的宏汇编器和连接器,并完全支持Franklin/Keil C 扩展OMF 格式文件,支持所有变量类型及表达式,配合Insight 系列仿真器,是开发80C51 系列单片机的理想开发工具。MedWin集成开发环境的特点:1.完美的Windows 版集成开发环境MedWin;2.内嵌自主版权的宏汇编器A51 和连接器L51,并支持Keil/Franklin 编译、连接工具;3.具有分别独立控制项目文件的工程项目管理器;4.在工程项目管理下,实现多模块和混合语言编程调试;5.VC风格的窗口停驻、窗口切分和工作簿模式界面;6.在线编辑、编译/汇编、连接下载运行和错误关联定位;7.符合编程语言语法的彩色文本显示;8.完全的表达式分析,支持所有数据类型变量的观察;9.无须点击的感应式鼠标提示功能;10.外部功能部件编程向导;11.不限制打开数据区观察窗口的数目;12.调试状态下用户程序自动重装功能;13.提供真实的软件模拟仿真开发环境。3.MedWin界面介绍在完成程序编写后,通过编译可以查看程序存在的一些错误,本次设计程序编写经过几次改正后无错误,软件界面如图4-1所示。图4-1 MedWin界面图程序完成后输出hex文件,再通过相关软件即可把程序输入到单片机中,如图4-2所示。图4-2 hex文件输出界面4.2主程序流程图图4-3 主程序流程图根据HC-SR04的工作触发原理,当定时器T0中断响应,其中断子程序执行完时定义的标志位置1同时该模块触发工作,定时器开始计时,计时结束后判断T0是否超过范围,如无则调用数据处理子程序,否则直接显示999。其流程如图4-3所示,主程序如下:ORG 0000HLJMP STARTORG 000BHLJMP INTT0START:JB P3.3,START ;/判断按钮是否按下/LPP0: MOV SP,#5FH MOV R0,#40H MOV R1,#04H CLRDP:MOV R0,#0 ;/清0/ INC R0 DJNZ R1,CLRDP MOV P0,#00H MOV P2,#0FFH CLR P1.3 CLR P3.2 MOV TMOD,#01H ;/T0工作在模式1/START0:MOV TH0,#63H ;/定时40ms/ MOV TL0,#0C0H SETB ET0 ;/开中断/ SETB EA SETB TR0 LCALL DEL2 LCALL DEL2 ;/调用显示子程序/ START1:JNB 20H,START1 ;/判断标志位是否为1即计时完成/ CLR 20H ;/标志位清0/ CLR EA CLR ET0 CLR TR0 MOV A,R3 CJNE A,#0,TT1 ;/判断是否超范围/ MOV A,R2 CJNE A,#174,TT0 TT0:JNC TT1 ;/过小则显示000/ MOV 40H,#0 MOV 41H,#0 MOV 42H,#0 CLR P2.7 LCALL DEL2 LCALL DEL2 SETB P2.7 LJMP START0 TT1:LCALL FMULA ;/调用数据处理及报警子程序/ MOV TH0,#63H ;/重装载/ MOV TL0,#0C0H SETB TR0 SETB EA SETB ET0 LCALL DEL2 LCALL DEL2 LJMP START14.3测距程序流程图图4-4 测距流程图本次设计要求测量距离范围为0.2m到1.5m,根据距离测量公式可知T0值不超过8850,当T0未超过测量范围时进行数据处理:由于T0可达到14位,已经超过8位,因此程序计算时先取14位的高6位,左移两位后与低8位的高两位相加再除以58,然后将所得到的余数左移两位再加上低8位的次高两位再除58,然后将得到的商加上上次得到的左移两位的商,以此类推求出最后的商即为结果,最后判断是否满足报警条件,其流程如图4-4所示,具体程序如下: MOV A,R3 CJNE A,#23H,JS5;/判断是否超出范围/ JS5:JNC JS4 CJNE A,#22H,JS3 MOV A,R2 CJNE A,#147,JS2 JS2:JC JS1 JS4:MOV 40H,#9 ;/超出范围显示999/ MOV 41H,#9 MOV 42H,#9 LCALL DEL2 LJMP L12 JS1:MOV A,R3 JS3:ANL A,#3FH ;/取高8位的低6位/ RL A RL A MOV 49H,#0 MOV 48H,#0 MOV 45H,A MOV 47H,R2 MOV R6,#5 SS1:DJNZ R6,SS2 ;/一共需要循环计算4次/ LJMP SS3 SS2:MOV A,49H ADD A,48H RL A RL A MOV 49H,A MOV A,47H ;/取低8位的高2位与前面6位组成8位/ ANL A,#0C0H RL A RL A ORL A,45H MOV B,#58 DIV AB MOV 48H,A MOV A,B RL A RL A MOV 45H,A MOV A,47H RL A RL A MOV 47H,A LJMP SS1 SS3:MOV A,48H ADD A,49H ADD A,#2 L9:MOV 44H,A L10:MOV B,#100 ;/数据处理将结果存到40-42H/ DIV AB MOV 40H,A MOV A,B MOV B,#10 DIV AB MOV 41H,A MOV A,B MOV 42H,A LCALL DISPLAY ;/调用显示子程序/ MOV A,44H CJNE A,#21,L5 ;/判断距离是否21/ L5:JNC L6 CLR P2.7 LCALL DEL2 SETB P2.7 AJMP L11 L6:CJNE A,#150,L7 CLR P2.7 LCALL DEL2 SETB P2.7 AJMP L11 L7:CJNE A,#100,L8 ;/距离是否=100/ CLR P2.7 LCALL DEL2 SETB P2.7 AJMP L11 L8:JNC L11 MOV B,#10 ;/距离是否为90、80.20/ DIV AB MOV A,B CJNE A,#0,L12 CLR P2.7 LCALL DEL2 SETB P2.7 AJMP L11 L12:LCALL DEL2 L11:RET ;/子程序返回/第5章 硬件使用说明第5章 硬件使用说明5.1 硬件电源说明硬件电源采用3节干电池串联供电,电源实物如图5-1(a)所示,图5-1(b)中蓝色按钮为电源的开关按钮,其导出引线红色为电源正极,蓝色为电源负极。图5-1(a
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 临时分类 > 人力资源


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!