基于51单片机HC-SR04超声波测距带温度补偿

该博客介绍了使用51单片机实现超声波测距的项目,包括温度补偿功能。内容涵盖开发环境(Proteus 8.9+,Keil 4/5,AD),功能说明(液晶显示距离、温度,按键设置报警上下限),程序代码,原理图,元器件清单,PCB设计,并提供完整的资料下载链接。项目中,LCD1602显示温度和距离,当测量值超出预设报警范围时,系统会触发声光报警。
摘要由CSDN通过智能技术生成

1 开发环境

仿真图:proteus8.9以上

程序代码:KEIL4/KEIL5

原理图/PCB:AD

(仿真+代码+原理图PCB+详细讲解)

2 功能说明介绍

基于51单片机的超声波测距(倒车雷达)及温度补偿

具体功能

1、51单片机驱动超声波模块获取超声波测试距离,带有超声波精度温度补偿。

2、LCD1602液晶显示测量的距离和温度;

3、可以通过按键设置距离报警上下限值;

按键功能有:距离加键,距离减键,距离设置键。

4、超过设定的报警上下限值则开始声光报警。

开始仿真

LCD1602第一行显示温度,第二行显示距离209CM,超出了默认的最大报警值200CM,报警模块开始工作,亮红灯,蜂鸣器响。

img

通过按键调整LCD1602的距离为195CM,低于默认的最大报警值200CM,报警模块停止工作,红灯灭,蜂鸣器不响。

img

可以通过按键设置最大最小报警值。

img

3 程序

3.1 工程文件

img

3.2 代码

img

main函数

//宏定义
#define uchar unsigned char 
#define uint unsigned int
#define ULint unsigned long int //温度零上与零下的标志位
char flag=0;				    //超声波
char flags=0;				    //超声波距离
char flag1s=0;				    //计算定时间
uint time=0;				    //计算距离
ULint L_=0;					    //温度
uint t_=0;				        //显示模式  0正常  1最大值调整  2最小值调整
uchar mode=0;

uint Max=200;
uint Min=30; //按键标志
uchar k=0;	  //数值有误
uchar FW=0;	 //头函数
#include <reg51.h>
#include <intrins.h>
#include "BJ_Key.h"	   	 //报警按键
#include "display.h"			 //显示头函数
#include "ultrasonic_wave.h"//超声波头函数
#include "DS18B20.h"	   	 //温度传感器头函数

//函数声明
void delayms(uint ms);
//主函数
v
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值