1、 课程设计报告课程设计报告 设计名称:设计名称: 超声波测距超声波测距 班班 级:级: 学学 号:号: 姓姓 名:名: 指导教师:指导教师: 基于单片机的基于单片机的超声波测距设计超声波测距设计 1 设计目的设计目的 我所设计的基于 ATMEL 公司 AT89C52 单片机的超声波测距,是利用该 51 单片机和 HC-SR04 超声波模块来测量距离。 超声波是只频率高于 20kHz以上的声波,它属于机械波。遵循一般机械波 在弹性介质种的传播规律,如在介质的分界面处发生反射和折射的现象,在进入 介质后被介质吸收而发生衰减等。正是因为这些性质,使得超声波可以被用于距 离的测量中。超声测距是一种非接
2、触检测技术,不受光线,被测对象的颜色等的 影响,抗干扰能力强。利用超声波检测往往比较迅速、方便、计算简单、易于实 现实时控制,并且在测量精度方面能达到工业实用的指标要求,因而超声波测距 被广泛的应用于生活中的各个方面, 甚至于很多机器人能及时避开障碍物也是用 的超声波测距。 因此研究超声波测距是非常有意义的。 基于市面上单片机成本低、 精度高、易于控制、操作简单,故本设计采用 AT89C52 单片机和 HC-SR04 超声 波模块来测量距离。 2 设计方案设计方案 本设计采用以 AT89C52 单片机为核心的低成本、高精度、微型化数字显示超声 波测距仪的硬件电路和软件设计方法。整个电路采用模块
3、化设计,由主程序、预 置子程序、发射子程序、接收子程序、显示子程序等模块组成。各探头的信号经 单片机综合分析处理,实现超声波测距仪的各种功能。在此基础上设计了系统的 总体方案,最后通过硬件和软件实现了各个功能模块。 基本工作原理: (1)采用 IO 口 TRIG 触发测距,给最少 10us 的高电平信呈。 (2)模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回; (3)有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声 波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S)/2; 1)硬件设计: 超声波测距按模块可化分为: 1 单片机主控
4、芯片 2 超声波发射部分(包括功率驱动电路、超声波发生器) 3 超声波接收部分(包括超声波接受器、放大电路、锁相环电路) 4 显示部分 (显示电路 LCD1602) * 5 超声波是一种声波,属于机械波,其速度和使用环境的温度及空气的湿度、 是否有尘埃物质都有较大的响,所以若要测量得更加精确,则必须要相关的传感 器来检测使用的环境。此处只列出温度的影响情况。 LCD1602 此处可加温湿度传感器和 空气种颗粒物含量传感 器,用以来补偿或估测环 境引起的误差 2)软件设计 1 主程序设计: 主程序对整个单片机系统进行初始化后,先 将超声波的回波接受标志位置位并且使单片 机P2.1端口输出一个低电
5、平用来启动超声波 发射电路,同时将定时器 T0 启动,然后调 用距离计算的子程序, 再根据定时器 T0 记录 的时间计算出所需要测量的距离,然后再调 用显示子程序,再将测出的距离以十进制的 形式送至 LCD1206 液晶显示屏显示。 最后主 程序通过对回拨信号的接收,完成后续的工 作,假如标志位清 0 则说明接受到了回波信 号,那么主程序就返回到初始端重新将回拨 接收标志置位并且在单片机的P2.0端口上发 送低电平到超声波的发射电路,就这样连续 不断的来运行,循环不断的工作用来实现测距。 2 显示程序 初始化写命令写数据 *将各类函数声明都写到同一个头文件中,方便查看各个函数的参数以及功能。
6、3 硬件电路硬件电路 HC-SR04 超声波测距模块说明书 产品特点: HC-SR04 超声波测距模块可提供 2cm-400cm 的非接触式距离感测功能,测距精度可达高到 3mm;模块包括超声波发射器、接收器与控制电路。 注:1、此模块不宜带电连接,若要带电连接,则先让模块的 GND 端先连接,否则会影响 模块的正常工作。 单片机主控芯片原理图: LCD1602 液晶屏显示电路图: HC-SR04 模块硬件电路: 4 软件程序软件程序 1 1 主程序(主程序(main.cmain.c) #include#include #include#include #include“lcd.h“#include“lcd.h“ sbit Trig = P21;sbit Trig = P21; sbit Echo = P20;sbit Echo = P20; unsigned char Us=“Ultrasonic Range“;unsign