抚州市网站建设_网站建设公司_无障碍设计_seo优化
2026/1/7 13:26:46 网站建设 项目流程

摘 要

使用超声波来测距有许多优势,例如不受光强度、色彩和电磁场等外界因素的干扰,而且超声波传感器的价位偏低、结构也比较简单,超声波以声速传播,便于收发与计算。在汽车倒车雷达、移动机器人的避障、尤其是测量距离等诸多方面都已有了十分广泛的运用。
本次毕业设计的超声波测距仪是在STC89C51单片机的基础上设计的,在剖析和了解了超声波的一些长处和特点后,又查阅了使用超声波测距的基本原理。在最后决定使用51单片机系统和超声波传感器一起组成。设计的超声波测距仪的硬件部分主要包括超声波接收模块、单片机与超声波模块组成的超声波发射模块、LED数码显示模块和扩展报警模块、电源及复位模块。软件部分主要包括单片机主程序、根据超声波发射与接收计算距离程序、LED距离显示程序、按键控制程序和蜂鸣器报警程序,这样安排使系统具有模块化的优点。系统易于进行控制,具备可靠地的性能和比较高的测量精度,最关键的是可以对距离进行实时测量。

关键词: 单片机; 超声波传感器; 数码显示; 报警

2 系统总体方案设计

  1. 1 设计要求
    1)可进行距离测量。
    2)采用数码管显示距离数据。
    3)可按键设置距离门限值
    4)具有报警功能

  2. 2 方案选择

    1. 1 单片机的选择
      方案一:使用DSP作为系统控制器。数字信号处理器(DSP)是一种特殊的微处理器,是一种以数字信号处理信息的元件。DSP可以容纳较大范围的元件值,不容易受到装置外部的影响,比如温度等,可集成化程度高,可以一起使用处理器,可以同时段传输多路信号,可以根据情况来自动调整参数,可用于低频信号等。但DSP硬件电路复杂,价格昂贵。数字系统由耗电的有源器件组成,相对于无源设备可靠性略低。
      方案二:采用单片机作为系统控制器。单片机具有可靠性强、性价比高,低电压,低功耗的优点。单片机有很强的计算能力,可以根据想要实现的功能来进行程序设计和编程,灵活性强,自带定时器,计数器,可用于定时和计数,功耗低、体积小、技术成熟、成本低。
      在上述分析的基础上,采用STC89C52单片机作为控制器。

3 系统硬件设计

  1. 1 整体方案设计

    1. 1 系统概述
      STC89C51单片机是这个系统中最为重要的部分,单片机的最小系统就由此部分配合电阻电容晶振等器件构成。单片机最小系统被其它各个模块围绕着展开。测距传感器采用HC-SR04模块,显示设备为共阴数码管,USB 5V作为电源供电,蜂鸣器作为报警部分,按键部分用来设置距离门限值。
    1. 2 系统框图

      3-1 系统框图

  2. 2 最小系统模块

    1. 1 STC89C52简介
      (1)概述
      STC89C52工作电压较低,各项指标优良,是8位的金属氧化物半导体单片机,存储器分别是8k字节的Flash PROM和256字节的RAM,这种型号的单片机是经典的单片机,不易丢失存储内容,生产技术较好,而且适用于各种通用的指令操作,优点就是使用了闪存存储并且有很多通用性设置,可用性很强,在很多中小型结构较大的控制装置中都普遍使用。
      该单片机有左右两列引脚各20个,其中可以进行内外互相传输的端口有32个,剩下由两个中端口,3个定时计数器,都是16bit,可以编程,2个全双工串行通信口,还有一个用于读操作,一个用于写操作的口线组成。多种不同的封装形式也让它适用于各种装置。

(2)主要功能与特性
 ◆适用51系列的各种指令操作;
 ◆8k字节的Flash PROM,非一次性;
 ◆32 内外互相传输的端口;
◆ RAM 为256x8bit;
 ◆3个定时计数器,都是16bit,可编程;
◆2个串行中断;
 ◆时钟频率0-24MHz;
 ◆UART串行通道,可编程;
 ◆ 2个外部中断源;
 ◆3级加密位;
 ◆ 两个口线,一读一写;
 ◆共8个中断源;
 ◆ 两种节电模式;
◆程序设定工作或不工作情况。
3. 2. 2 最小系统电路
如图3-2所示是STC89C52的最小系统,最小系统由晶振电路部分、复位电路部分、电源电路三个部分组成。
晶体振荡器电路由2个30pf电容C2和C3和12M晶振X1组成。这里的电容器的作用是发挥振动的作用,使晶振更容易起振,范围15-33pf。晶体振荡器的值也可以为24M,晶振取值越高单片机执行速度越快。在电路的设计中,晶振部分与单片机越近越好。
单片机复位电路就像计算机的重启功能,计算机死机时,重启会使程序从电脑内从头开始。在单片机中也如此,当单片机系统在运行时,按复位键,内部程序就会从头开始自动启动。
复位电路由10uF的极性电容C1和10K的电阻R4构成。因为电容电压不能被突破,所以当系统上电时,复位引脚将在较高工作电压下,高电压出现的时间长短取决于振荡电路RC乘积。通常经过24个时钟周期之后,复位引脚将变为低电平,电路复位,所以要计算出适合的RC乘积。
下面计算高电平持续时长,在RC振荡电路中,取C和R的值分别为10微发和10千欧。所以将电容充电到3.5V也就是电路电源电压的70%,仅需要CR值为0.1秒。可以得出,在电路启动这个时间后,电容的电压变化范围是从0迅速到 3.5V,而复位端电压从5V减少相应的值,即1.5。即在这个时间内变为低电平,因为规定51单片机低于1.5V就是工作在低电压的情况。所以,电路系统开机时间很快,为0.1秒(自动复位所需时间为0.1s)。
电源部分是5V的USB直接供电,可以用手机充电器、USB插口和移动电源直接供电。

图3-2 单片机最小系统

4 软件设计

  1. 1 程序语言及开发环境
    C语言作为一种通俗易懂的直接性命令计算机的语言,不但具备汇编语言的特性,也具备高级语言的特性。这种语言首先在美国的一个实验室中推广,20世纪70年代后,大、中、小和微型机上就先后开始使用C语言。C语言功能强大,数据处理能力非常强,使用范围很广泛,因为C语言可以实现各种编译控制作用,一种是可以不直接涉及计算机的硬件部分程序,一种是建立一种工作系统应用软件设计,设置可以编写有关多维的图形和Flash操作,在单片机的程序设计部分也是广泛应用。这些优点使C语言在软件开发和各种科研领域都应用广泛。
    Keil C51是将C语言程序烧入单片机中的一个起连接功能的软件,该软件具有较强兼容性。它有一系列完整的仿真修改过程,包括编译、汇编、连接、生成中间文件等过程,这些功能都是通过大环境集成联系在一起的。可以在多种Windows操作系统中运行该软件.可以说,凡是汇编语言能够解决的问题,C语言都可以解决,在给用户更良好的阅读体验,程序设计结构清晰方面也比汇编语言要好,C语言也更易于维护上手更为简单。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统,它的集成环境方便易用,软件仿真调试工具也十分强大,所以使用C语言编程那么Keil C51最为合适。
  2. 2 程序流程图设计
    1. 1 超声波模块程序流程图设计

图4-1 超声波模块程序流程图

5 硬件组装与调试

  1. 1 元器件的选择与测量
    该装置所需要元器件是:STC89C52单片机、晶振、电阻、电容、按键、开关、电源座、数码管等。要确保这些选择的元器件可以相互匹配合理,每个器件应该选择什么型号都要进行精确对比分析。还要考虑它们的可获得性和性价比高低等综合因素。其中焊接时要注意元件正负极性,电阻电容大小、芯片引脚顺序等细节。一般电阻的大小可以通过色环读取,或直接用万用表进行测量;电容和晶振等的大小会标准在元件本身;元件的正负可以遵循长正短负的原则,一些特殊元件可以通过查找资料获知正负极。
  2. 2 元件的焊接与组装
    安装电路元器件有多种方法,分别是直接焊接和直接插在电路板上。两种方法都应细读以下注意事项:
    (1)首先要确保电路中的硬件部分即元器件是完好的,因此要对它们进行安装前的必要的测试。
    (2)元器件的摆放位置要形成一致的规矩,方向相同等,便于进行后续的接线操作。
    (3)对于必须区别正反方向的某些器件,要将标志刚好显示在外面以便于后续的检查工作。这些器件主要有电容器件、二级管和三极管,接线一定要注意接好正负极,以免造成最后的显示错误还找不出电路存在的问题。
    (4)为了方便焊接整齐以及后续的电路检查工作,属于同一种类型的元件接线需要用同一种颜色。如可以按惯例选择黄线用作信号线,红线接电路中的所有正极,蓝线接负极,黑线作为接地线,这些操作并不是硬性规定。
    (5)在焊接过程中,布线要尽量做到简单美观,依照最短路径原则,尽量不要跨过电路元器件,因为有时可能会刮导线表皮而导致一些短路问题,连线也不能相互叠加,过于复杂而导致后续难以检查电路连线方面的问题。
    (6)为了方便电路后续的调试以及操作的便捷性,将所有地线接在一块,形成一个公共接线端。如果能事先画出安装的方案图,这样美观整齐的布线格局,可以使操作起来更加有序,也方便了后续的检查工作,也大大提高工作效率。
  3. 3 电路的调试
    在安装工作完成后,下一步就是进行调试,即对电路的有问题模块进行调整改进。首先要对整个电路的工作情况和每个器件和模块进行状态检测,之后如果发现检测的那个部分出现了问题就要进行数值设置方面的改正,从而进一步完善整个电路。在进行这个工作以前就要知道如何整个测试需要的测试装置以及测试具体哪些模块,流程和方法,这样才能保证工作有序进行。
    1. 1 调试方法
      总体来说,有部分法和整体法两种电路调试方法。部分法就是安装与测试过程是以模块为单位先后进行的,即安装好一部分就要对这个部分进行调试,然后就可以按照同样的方式进行下一个模块单元的处理,最终就可以完成整个电路的测试。整体法就是在电路中元器件全部安装完好后,才进行测试。两者各有适用范围,相对于后一种方法,前一种更适合较为复杂的电路。
    1. 2 调试步骤
      (1)通电前检查
      在整个电路硬件安装完成后,不能直接接通电源,要先检查一遍确保无接线错误,主要是防止电路出现的一边接对,而另一边错误,或者是遗忘有些接线,还有本来不存在的线接上了,或者是因为操作不规范造成的近距离接线处短接,这些都可以直接通过对照引脚接线是否与应该连接数一致来验证。检查方式就是用指针万用表,在欧姆最小档位进性检测,要接器件引脚部位,可以发现接触不太良好的地方。
      (2)通电观察
      排除电路硬件及单纯接线问题的影响后,就可以进行通电观察。通电后,首先要做的是观察整个电路的各个模块是否正常运行,包括器件表面温度是否过高,是否有短路、短路等常见的电路问题,然后就可以进行测试了。测试过程要及时感应到电路的不正常测量结果,电路各个引脚,或是器件两端电压都要测试,一旦有问题,立即断电,然后对问题模块进行调整,之后再次通电。直到整个电源最终可以正常运行而没有故障发生。
      (3)单元电路调试
      用部分法对电路机进行调试时,应该按照电路图设计中进行有序地调试,通常是按照信号流向进行,就是安装与测试过程是以模块为单位先后进行的,即安装好一部分就要对这个部分进行调试,最终就可以完成整个电路的测试。
      这个调试又包括静态与动态两个过程。静态调试方法就是这个设备没有通电的情况下进行检查。通过自己观察和推理设想之后判断元器件或电路可能会出现的问题(短路等)。对上一步可能存在问题的地方可以用万用表进行检查,然后加电检测。动态调试适用于信号产生电路的测试,是整个设备在运行的时候对采用部分排除的方法进行调试,将不是问题电路的部分删除,这时就要求整个电路分块进行检测,可以更深入的检查静态方式检查不到的问题。两个过程要相互结合,才能形成一个完整的电路检测过程。
      (4)整机联调
      对各个模块的电路调试好之后,就要对组成的整个电路状态进行测试和调试。整体调试就不用再进行静态调试,而主要是对动态运行的情况进行查看,测试是否达到最初预期的效果,对不理想情况的具体电路参数或是器件进行修正调整,直到整个电路运行全部达标。

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询