欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

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

    • 资源ID:30679938       资源大小:1,003.54KB        全文页数:53页
    • 资源格式: DOC        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    基于51单片机的超声波测距仪设计摘 要利用超声波进行测距有许多优点比方不受光强度、色彩和电磁场等外界因素的影响,而且超声波传感器的价位较低、结构也较为简单,超声波以声速传播,方便收发与计算。在汽车倒车雷达、移动机器人的避障、特别是测量距离等许多方面都已有了非常普遍的应用。本次毕业设计的超声波测距仪是在STC89C51单片机的根底上设计的,在分析和了解了超声波的一些优点和特性后,又查看了利用超声波测距的根本原理。最后决定使用51单片机系统和超声波传感器共同组成。设计的超声波测距仪的硬件局部主要包括电源及复位模块、单片机与超声波模块组成的超声波发射模块、超声波接收模块、LED数码显示模块和扩展报警模块。软件局部主要包括单片机主程序、根据超声波发射与接收计算距离程序、LED距离显示程序、按键控制程序和蜂鸣器报警程序,这样安排使得系统具有模块化的特点。系统容易进行控制,具有可靠地的性能,具有较高的测量精度,最重要的是能对距离进行实时测量。关键词:单片机,测距仪,超声波,实时测量Design of Ultrasonic Distance Meter Based on 51 MCMABSTRACTUsing 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仅供学习参考目 录摘 要I目 录III第1章 绪 论11.1 研究背景11.2 研究的主要意义1第2章 系统电路设计32.1 系统结构设计32.2 电路总体设计方案32.2.1 发射与接收电路设计方案32.2.2 显示电路设计方案52.2.3 报警电路设计方案62.2.4 系统复位电路设计6第3章 系统硬件设计93.1 单片机概述93.1.1 STC89C51主要性能93.1.2 STC89C51外部结构及特性93.1.3 STC89C51内部组成113.2 超声波测距模块133.2.1 超声波传感器介绍133.2.2 HC-SR04超声波测距芯片的性能特点133.2.3 超声波时序图153.3 驱动显示电路及报警电路163.3.1 LED数码管显示电路163.3.2 蜂鸣器报警电路173.4 HC-RS04超声波测距原理183.5 按键设置电路19第4章 系统软件设计214.1 系统主程序214.2 显示距离子程序224.3 报警子程序224.4 按键子程序24第5章 系统仿真255.1 系统仿真环境Proteus255.2 仿真255.3 误差及特性分析27结论28谢 辞29参考文献30 第1章 绪 论1.1 研究背景超声波测距法是通过超声波测量从位置到被测物体外表的距离的利用超声波的方法。超声波也是一种机械波,是一种频率在20kHz以上的声波。超声波测距是人们根据蝙蝠通过超声波反射进行捕食的方法发现的,也是仿生学中非常知名的例子,对生产领域产生了很大的影响。跟着电子测量技术的不断飞速开展,已经可以利用超声波实现精准测量了。测量技术在经济的不断开展下得到了越来越广的应用,因此超声波凭借着性能稳定、本钱低廉、精度高等优点得到了重视。机器人技术在出现后开展迅猛,机器人的用途也不在局限在工业生产而是进入了人们的日常生活。普遍的应用对于增加群众对机器人技术的认识变得非常重要。机器人能够通过特有的感知系统感知并确定前面障碍物的位置和周围的环境以完成躲避障碍物、自动寻路、测距等功能。超声波测距具有其他的测距技术没有的特点,比方测量精度高,本钱低廉,对环境的要求低,使用简便等。将红外、灰度等传感器和超声波结合在一起将可以共同作用使机器人实现自动寻路和绕开障碍等功能。超声波由于传播方向较稳定、并且在介质里传播时能量削减缓慢,能够发送很远的距离,所以在测量距离的时候经常用到。超声波最普遍的应用是在汽车倒车雷达、物位测量仪、测距仪、研发移动机器人以及一些特殊工业现场等场合。以后超声波传感器很可能将会智能化、自动化,实现更加方便高效的测距仪器。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时,接收端能收到的强度最强的信号,因此计算的距离也就最大,但如果偏移中心频率时,测量距离就会产生缩短,这一点是本次设计的可能忽略的关键点。如何生成一个40KHz的驱动信号,有多种方法,可以选择用电感、电容振荡器件做出一个产生信号的发生器,不过这种方式产生的信号频率稳定性较差,调准比拟难,所以很难制作成功。而此次设计中,选择用单片机产生一个稳定信号,因为使用了频率稳定性较好的晶振元件作为系统的时钟,所以系统频率有极高的稳定性,也能产生频率非常平稳的驱动信号,当编入的程序的要求不同的时候,也能够轻松地取到需要的频率。电路中决定前面是否被障碍物阻挡是根据接收到的信号强度值的,所以本设计制作成功非常关键性的一点就是起控点的选择。由于反射回来的超声波信号的强弱受环境因素的影响,因此需要很细心的进行调试。这时还要仔细观察随着距离的变化,电路中的直流控制电压的变化,从而选择出最适宜的电压比拟的起控点,这样才能实现当距离到达设置好的值时进行报警。超声波测距仪开始测量距离时,单片机便开始执行相应程序。此时P01口产生10us的TTL,51单片机也开始不断循环生成八个40kHz的脉冲信号,通过自身自动放大,而且将连续发射200us。当P32口收到信号的时候会产生一个回响信号,此回响信号和测量的距离是有一个固定的比例关系。使用51单片机执行程序后,P01端会发出一个40kHz的脉冲信号,然后使用三极管进行放大用来驱动超声波模块的发射端,发出超声波信号。之后接收端要和发射端匹配,就收后需要把超声波进行调制转换成交变电压型信号。之后在进行运算放大器的两级放大,电路内部的中心频率为f0=1/1.1的压控震荡器,电容的作用是选择锁定带宽。输入信号那么放大25mv,输出端P32的电平也会有高变化成低,然后用来当中断请求的信号,在放到单片机内部去处理。当超声波发射端翻开的时候单片机的内部T0定时器也同时翻开,然后根据定时器自身的计数功能计出超声波从发射到接收一共用了多长时间。每次接收到反射回来的超声波时,接收电路的输出端就会发生负跳变,这时还会发生一个请求信号去请求中断,单片机接收到此外部请求中断后便会主动执行外部中断对应的效劳子程序,并读出超声波发射接收时间差在据此计算距离。图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显示器,防止刚上电时数码管闪烁。2.2.3 报警电路设计方案系统报警电路需要有运算放大电路和蜂鸣器等原件。其中放大电路用PNP三极管完成。放大电路采用负反应方式,也就是反相比例运算电路,反相比例运算电路主要的特点,就是输入信号是从反向输入端进行输入的,而且输入端还要接地处理。因此由于“虚短和“虚断电路具有的特性,就是=,=0。其中常说的“虚短就是使用理想的集成运放原理:,因此能够看成是两个输入端中间的差模电势差根本是0,也就是d=0,即=,不过是确实有值的。因为两个输入端之间的电势差等于0,但是又真的不是短路,所以叫做“虚短。而“虚短是根据理想的集成运放中输入的电阻Rid,因此也可以当成输入端没有电流,即=0,这样的话输入端又等于是断路,不过又没有断开,这就成了“虚断。在电路里,反相输入端和接地端的电位一样,不过又没有真的进行接地,把这种方法叫做“虚地。所以可以通过这种方法进行放大。2.2.4 系统复位电路设计在平常使用单片机的时候,单片机系统除了会正常初始化,有时也会因为程序在运行时发生错误,或者人员操作时失误都有可能让系统变成锁死的状态。所以需要有复位电路让系统能够重新开启来解决系统锁死的问题。可见,系统中复位电路是非常必要的而且很重要。单片机系统根本是全部使用外部的电路来进行复位的,在单片机时钟电路正常工作的时候,如果单片机上的RST端口上出现了连续的24个以上的时钟振荡脉冲产生的高电平,这时单片机就会进行复位变成初始化的状态。设计制作复位电路的时候需要提供非常稳定的复位,也就是必须让RST端处于高电平。需要注意的是如果RST端口的高电平一直不变,那么单片机就会出现重复复位。单片机系统的复位电路一般使用下面的三种方式:1上电自动复位在系统通电的一瞬间,因为RC电路会进入充电状态,所以RST端口就能够一直保持高电平,这样就能让单片机稳定的复位。图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公司的高密度、非易失性存储技术生产而成,能够和标准的MCS51指令系统以及8052系列产品的引脚相兼容,芯片还内置了通用的8位中央处理器CPU和Flash存储单元。STC89C51单片机凭借着强大的功能在各种各样的复杂的场合都有得到广泛的使用Error! Reference source not found.。3.1.2 STC89C51外部结构及特性STC89C51的封装外形有两种形式:一种是双列直插式的40脚封装DIP,另一种是方形的44脚封装PLCC,其中直插式40 脚封装DIP结构如图3-1所示,外部的总线分布如图3-2所示。图3-1 STC89C51引脚排列图3-2 仿真结构STC89C51的4个8位I/O口的功能说明如下:1P0口:P0口可以当成通用的I/O口使用,能够输入和输出数据。当成输出口使用时,每一位可以驱动8个TTL逻辑电平。当P0端口被写入“1时,引脚就会被用作高阻抗输入口。在进行外部程序访问和数据存储器时,P0口也可以被当成是低8位的地址/数据复用端。在这种使用模式下,P0就会有内部上拉电阻,不在是漏极开路。在flash编程时,P0口又可以用来接收指令字节;当程序进行校验时,输出对应指令字节。但是此时就要在外部加上上拉电阻了Error! Reference source not found.。2P1口:P1口不在内置上拉的FET,但是却有一个上拉电阻。只是这个上拉电阻的阻值比拟大,所以他的上拉驱动能力很弱,如果不是应用系统需要有很低的功耗这种特殊要求,其他还是再外接个10K左右的上拉电阻比拟好。P1内部的下拉FET还有,所以当P1当做输入使用时,依旧需要首先对端口的数据锁存器发出1,让输出驱动FET变为截止,确保数据在读入时的正确性。另外,P1.0和P1.2两个端口也能作位定时器/计数器方式2的外部计数输入,也可以作为定时器/计数器2的触发输入。当进行flash编程或校验的过程中,P1口能够进行低8位地址字节的接收。3P2口:P2口也是一个内部拥有上拉电阻的8位双向I/O口。当向P2端口写入“1的时候,上拉电阻就会把端口拉高,这样P2口就能用来数据的输入了。P2口当输入口使用时,引脚会让给外部电路拉低,因为内置的电阻缘故,会输出电流。当单片机访问外部的程序存储器或用16位地址进行读取外部的数据存储器的时候,P2口就会输出高八位的地址。当这样使用的时候,P2口就会利用内置的上拉电阻发出“1。当进行flash编程或校验的时候,P2口也能接收到高8位的地址字节和局部控制信号0。 4P3口:P3口也是内置了上拉电阻的8位双向I/O口,跟P2口比拟类似。而且P3口还能实现AT89C52的一些独特的作用,如下所示。l 表3-1 P3口对应功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INTO(外部中断0 输入口)P3.3INT1(外部中断 1 输入口)P3.4TO(定时器 0 外部输入)P3.5TI(定时器 1 外部输入)P3.6WR(片外数据存储器写选通)P3.7RD(片外数据存储器读选通)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所示,通过内部总线将各个模块进行连接。振荡器及定时电路51CPU 8K程序 存储器 256K 数据存储器看门狗 3个16位定时器/计数器64K总线扩展控制可编程I/O可编程串行口中断控制并行I/O口串行输入串行输出频率基准源计数器中断图3-3 STC89C51单片机框图3.2 超声波测距模块3.2.1 超声波传感器介绍超声波传感器是根据仿生学的超声波原理制作出来的一种传感器。超声波也是机械波,他是比声波的震动频率还要高的波。通过电压对换能芯片的触发使其震动并发出超声波。具有许多优点,如高频率、不容易发生散射、波长较短,还有最重要的特点就是方向性非常好,所以能够形成固定方向发射的信号。超声波的穿透能力也非常好,不仅能在空气中传播,还能在固体和液体中传播,特别是一些不透光的固体,超声波能够传送几十米这么远。超声波在传播过程中如果遇到了物质分界面或一些杂质都会形成较明显的反射波,如果是遇到了运动的物体还会发生多普勒现象。由于超声波的这些特性,所以在国防、医学和工业生产中都得到了普遍的使用。要想让超声波作为测量等操作的条件,就必须能够产生超声波并能够接收到超声波。通常将能够满足这种要求的设备叫做超声波传感器,有时候也叫做超声探头。超声波传感器是用压电晶片构成的,不仅能够进行超声波的发射,而且还能对超声波进行接收。功率较小的超声传感器一般用来探测。且拥有很多不一样的结构,比方可分直探头纵波、斜探头横波等。3.2.2 HC-SR04超声波测距芯片的性能特点1. 管脚简介HC-SR04超声波传感器共有四个引脚,一个超声波发射头和一个超声波接收头组成。四个引脚的作用分别是:1VCC为5V电源;2GND为地线;3TRIG信号输入;4ECH0输出回响信号。管脚排列情况如图3-4所示。VCCTRIGECH0HC-SR04GND图3-4外形及管脚排列图以下图是超声波传感器的实物图,跟上图的管脚排列一一对应。图3-5 超声波传感器2. HC-SR04的电气参数HC-SR04超声波元件是以在直流5V为正常工作电压。电流15毫安。频率为40赫兹。有效使用范围在2cm5cm。测量角度为15度。当有得到10us的高平电信号的TTL脉冲时,便能有回响信号出现。规格尺寸为45*20*15mm。详细的参数如表3-1。表3-2电气参数电气参数HC-SR04超声波模块工作电压DC5V工作电流15mA工作频率40Hz最远射程4.5m最近射程2cm测量角度15度输入触发信号10us的TTL脉冲输出回响信号输出TTL电平信号,与射程成比例规格尺寸45*20*15mm3.2.3 超声波时序图观察下面的超声波传感器的时序图,可以发现需要有一个10us以上的脉冲对系统传感器进行触发,这样传感器内部才能够自己产生8个40KHZ的周期电平并且对发射波进行接收。当接收端发现有反射波时就会产生回响信号。测量的距离跟回响信号的脉冲宽度是成正比的。然后就能够根据统计发射信号发出到接收到回响信号的时间差算出实际的测量距离了。由于统计的是一个来回的时间所以需使用公式:距离=高电平时间*声速/2触发信号模块内部发出信号输出回响信号10us的TTL循环发出8个40KHz脉冲回响电平输出与检测距离成比例图3-6 时序图需要注意的是:超声波器件应尽量防止带电连接,如果必须带电连接,就必须先将器件的GND端做接地处理,不然将对器件的正常工作产生不好的影响。测量距离的时候,需要测量的物体外表需要尽量大于0.6平方米而且让被测面尽可能的平坦,不然测量出来的距离会不稳定或产生误差。3.3 驱动显示电路及报警电路3.3.1 LED数码管显示电路超声波测距仪的显示局部使用了一个4位的8段LED二极管,主要是在显示测量距离时和设置警报值时使用。数码管采用了共阴极的方式,共阴方式就是把LED二极管的所有阴极全部都接到一块,作为一个公共的阴极。所以在使用共阴形LED数码管时必须把公共的阴极与GND相联。哪一个二极管需要发光就让他的的阳极变成高电平。在显示数据时使用动态扫描的方式进行显示,使用前先把LED数码管的8个对应位的端口ag和dp的名字一样的连在一起,然后让I/O口对每个LED的公共阴极COM分别进行驱动。当单片机输出端进行字形码输出的时候,每个LED都能够得到这个字形码,但是具体是让哪个LED亮,就要看COM端的电平了。用单片机的I/O口与COM口接在一块。这时单片时机把位选码发送到I/O口上,决定究竟是哪一个LED需要发光。利用这种方法逐个输出字符时,每一个LED亮的时间都是非常短的,不过人眼是分辨不出来的,所以看起来好似是每一位都一直在显示,没有熄灭过。这样也能表达出动态显示方式很省电的优点,因为动态显示的时候一个时间点只能有一个LED是发光的。具体的原理图如图3-7。图3-7 显示电路3.3.2 蜂鸣器报警电路蜂鸣器是使用直流电压进行供电的使用整体结构的电子发声器,在计算器、儿童玩具、车辆电子设备、固定 、 机、打印机、各类报警器、定时装置等产品的发声模块中都有非常普遍的使用,使用较多的蜂鸣器有两种,一种是压电式蜂鸣器,另一种是电磁式蜂鸣器。压电式蜂鸣器的结构包括压电蜂鸣片、多谐振荡器、阻抗匹配器及共鸣箱、外壳等。多谐振荡器是用集成电路跟晶体管做成的。当直流工作电源接到蜂鸣器上后,多谐振荡器由于开始震动便能产生一个1.5到2.5kHz的声音信号,然后阻抗匹配器就会促使压电蜂鸣片震动发声。还有一种用电磁线圈、振动膜片、振荡器、磁铁和外壳做成的蜂鸣称为电磁式蜂鸣器。当电源接在电磁式蜂鸣器上时,由振荡器发出的音频电流信号就会进入到电磁线圈中,使电磁圈发出磁场。由于磁铁和电磁线圈的共同影响,振动膜片会产生周期性的震动并发出声音。这次超声波测距仪用的就是电磁式蜂鸣器,蜂鸣器会在测量距离到达设置好的报警值或超出测量距离时发出报警声。根据电磁式蜂鸣器的工作原理可以知道,要想让他发出声音,必须有一个特定的驱动电流驱动他。然而如果用单片机I/O口电流进行驱动的话明显太小,应为单片机接口的TTL输出电平太小不够驱动蜂鸣器,所以这时就需要添加一个用来放大的电流的电路,可以使用PNP型三极管8550作为放大电路驱动蜂鸣器。放大电路原理图3-8。图3-8 蜂鸣器驱动电路3.4 HC-RS04超声波测距原理超声波测距就是根据超声波模块不断发出接收脉冲统计时间完成的。假设信号从超声波发射端发出到接收端接收到一共用了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,单片机上电后,平时不按下按键时让这个I/O口保持高电平,一旦按下这个按键,对应的I/O口便被短路,此时这个I/O口便成了低电平。当按键一松开,由于单片机内部的上拉电阻,此I/O口就会再次回到高电平状态。程序运行时为了知道某个按键是否有动作,需要找到对应的I/O口的电平上下。还有当单片机对键盘进行处理时需要有一个非常重要的环节,也就是键盘去抖动。键盘抖动也就是设备机械的抖动,键盘在按下刚触碰的到的时候会产生不稳定的电压,属于正常。这种情况即使操作时很小心也不能躲避的。抖动的时间根本在10到200毫秒内,这么短的抖动时间对单片机内以微秒为单位的时钟电路来说是非常慢的,单人们缺感觉不到。所以需要利用软件对抖动时间进行处理,过滤掉较短的抖动时间,当按键按下稳定时在处理请求,也就是去抖动。也可以利用电路对抖动进行处理,不过会增加系统冗余度。在比拟后选用了软件去抖动的方法。具体实现方法是当按键对应的I/O口出现低电平时,立马开始延迟20毫秒,当延迟结束时判断此I/O口的电平,如果这次获取的是高电平说明I/O口处于低电平的时间较短,即为抖动现象,可以无视;如果获取的是低电平说明I/O口一直处于低电平,即按键确实被按下了,之后就可以处理相应的请求。电路如图3-10所示。图3-10按键电路图19 第4章 系统软件设计4.1 系统主程序主程序的主要作用是把每个功能模块进行联系,读取出并计算HC-RS04的测量的长度、测量距离的显示、通过按键控制有效距离限制、当测量的值超过了最大测量值时,蜂鸣产生长响的报警声。当测量距离小于报警距离时,蜂鸣器根据距离的大小产生频率不一样的声音。如图4-1所示的是主程序流程图。开始初始化调用显示子程序障碍物存在读出距离值并显示结束NY图4-1主流程图4.2 显示距离子程序显示距离子程序的功能是把超声波模块测量出的时间差经过计算后得到的距离值传到单片机内,单片机通过处理把距值动态输出到4位LED数码管上,每次显示一位,逐位显示。如图4-2所示是显示距离子程序的流程图。开始获取距离参数赋值显示结束图4-2 LED显示距离子程序流程图4.3 报警子程序报警子程序的主要作用是在测量距离超出预设的最大测量距离时发出报警,蜂鸣器会一直发出声音;当测量距离小于设置好的报警距离时,蜂鸣器会出现断续响的报警声,并且蜂鸣器发出声音的频率跟距离成比例,距离小频率就高,也就是报警声越急促。图4-3所示的是报警子程序的流程图。开始蜂鸣器报警到达最大距离YN蜂鸣器报警小于报警距离YN结束图4-3报警子流程图4.4 按键子程序按键子程序的功能是调节测量的报警距离,按功能键进入设置模式,进入后按增加按键就能够上调预设警报距离值,按下减小按键可以下调报警距离。每次按一下增加按键或减小按键只能增加或减小报警距离值1厘米。在设置模式下按下功能按键时离开设置模式。按键子程序的流程图如图4-4所示。开始N按下功能键Y设置报警距离N按下功能键Y结束图4-4按键子流程图第5章 系统仿真5.1 系统仿真环境ProteusProteus 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按钮,进行仿真并观察结论。图5-1系统仿真原理图图5-2 单片机设置对话框5.3 误差及特性分析由于超声波的一些特点,所以必须在满足特定条件是进行测量,否那么会才出现误差:1. 必须让被测物体与超声波测距仪尽量保持垂直;2. 测量的物体外表应该尽量是平面;3. 在超声波测距仪进行测量的时候旁边不能有其它能够反射超声波的东西影响。所以在用测距仪去测量距离的时候应该留心这些条件,否那么容易造成接收到的信号有误差以至于测量结果不稳定或者直接测量不出结果。测量距离在小于2厘米时时间差太短,因而无法测量。又由于发射的超声波的功率强度有限,超声波测距仪测量不出6m以上的距离。27 结论我的毕业设计的做出一个基于单片机的超声波测距仪,需要完成的最终要求就是能够利用超声波进行距离的测量,并且通过LED以数字的形式显示出测量的结果。超声波测距是通过得到超声波从发射到接收的时间差计算出测量距离,从而确定测量距离。在硬件电路中需要有超声波传感器作为超声波发声和接受的元件,还要有显示器对结果进行显示,当到达报警距离时需要有蜂鸣器发出报警声。在最后经过调试,实现了可测量范围和允许误差内距离测量成功。虽然此次毕业设计完成的还算顺利,但还是遇到了一些问题,主要在程序方面,如蜂鸣器

    注意事项

    本文(基于51单片机超声波测距仪.doc)为本站会员(可****阿)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开