1 开发环境
仿真图:proteus8.9以上
程序代码:KEIL4/KEIL5
原理图/PCB:AD
(仿真+代码+原理图PCB+详细讲解)
2 功能说明介绍
基于51单片机的超声波测距(倒车雷达)及温度补偿
具体功能
1、51单片机驱动超声波模块获取超声波测试距离,带有超声波精度温度补偿。
2、LCD1602液晶显示测量的距离和温度;
3、可以通过按键设置距离报警上下限值;
按键功能有:距离加键,距离减键,距离设置键。
4、超过设定的报警上下限值则开始声光报警。
开始仿真
LCD1602第一行显示温度,第二行显示距离209CM,超出了默认的最大报警值200CM,报警模块开始工作,亮红灯,蜂鸣器响。
通过按键调整LCD1602的距离为195CM,低于默认的最大报警值200CM,报警模块停止工作,红灯灭,蜂鸣器不响。
可以通过按键设置最大最小报警值。
3 程序
3.1 工程文件
3.2 代码
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