一、硬件设计
在现实的生活生产中,测距的应用比较多,比如汽车倒车时到障碍物的距离、水塔中顶部到液面的距离等很多方面都需要使用到测距,伴随着电子技术的迅速发展,超声波的出现为测距提供了良好的实现方法,利用超声波发射出超声波,到超声波遇到障碍物反射回来的时间差,乘以超声波在空气中的速度,就可以得到超声波到障碍物的距离,从而实现距离的测量。
二、设计功能
本设计以单片机最小系统为核心,采用数码管作为显示单元,采用超声波模块HR-04作为超声波的发送和接受单元,采用蜂鸣器作为报警单元,采用按键作为信息输入单元,可以通过按键设置超声波的报警距离,当超声波的测量得到的距离小于设置的距离时,蜂鸣器报警,从而启动提示的作用,这就是整个系统的设计的整理思路。本设计的整个设计都是围绕这思路来确定硬件选型,软件设计,系统的调试,从而制作出来实物,对实物的各个功能进行验证,从而完成整个设计的开发设计工作。
三、设计原理图
四、软件程序
1、软件流程图
2、主程序源码
#include <reg52.h>
#include <intrins.h>
#include "eepom52.h"
#define uchar unsigned char
#define uint unsigned int
//数码管段选定义 0 1 2 3 4 5 6 7 8 9
uchar code smg_du[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff}; //断码
//数码管位选定义
uchar code smg_we[]={0xe0,0xd0,0xb0,0x70};
uchar dis_smg[8] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};
sbit smg_we1 = P3^4; //数码管位选定义
sbit smg_we2 = P3^5;
sbit smg_we3 = P3^6;
sbit smg_we4 = P3^7;
sbit c_send = P3^2; //超声波发射
sbit c_recive = P3^3; //超声波接收
uchar flag_hc_value; //超声波中间变量
bit flag_key_b_en,flag_key_set_en; //按键蜂鸣器使能
uchar smg_i = 3; //显示数码管的个位数
bit key_500ms ;
完整资料:超声波测距仪设计制作