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

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
  • 7
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值