一:功能介绍:
1、系统组成:采用51单片机+DS18B20温度传感器+超声波传感器+蜂鸣器+LCD1602显示屏
2、通过ds18b20采集温度,显示到LCD1602上面;
3、通过超声波传感器采集测距的距离,显示到LCD1602上面;
4、通过按键设置距离报警范围值;
5、当检测当前距离超出设置范围值,蜂鸣器进行报警提醒;
二:实物演示视频
257-基于51单片机带温度补偿超声波测距
三:程序代码展示(采用C语言编写,使用keil5编译,代码有中文注释,新手容易看懂)
//等待
void delay_key()
{
uchar i,j;
for(i=0;i<200;i++)
for(j=0;j<200;j++);
}
//按键检测
void Key()
{
//功能键按下
if(K1==0)
{
Feng_Start();//蜂鸣器开
delay_key(); //消抖
while(K1==0);//等待松手
Feng_Stop(); //蜂鸣器关闭
mode++; //模式++
if(mode==3) //达到最大限度归为
mode=0;
k=1; //按键标志位
}
//+键
else if(K2==0)
{
Feng_Start();//蜂鸣器开
delay_key(); //消抖
while(K2==0);//等待松手
Feng_Stop(); //蜂鸣器关闭
//最大值调整
if(mode==1) //在最大值调整下
{
Max++; //调整最大值
if(Max==201)//到达201归为200
{
Max=200;
}
}
//最小值
else if(mode==2)//最小模式下调整
{
Min++; //调整最小值
if(Min>Max) //最小值不能大于最大值
{
Min=Max;
}
}
k=1;
}
//-键
else if(K3==0)
{
Feng_Start();
delay_key();
while(K3==0);
Feng_Stop();
//最大值调整
if(mode==1)
{
Max--;
if(Max<Min)
{
Max=Min;
}
}
//最小值
else if(mode==2)
{
Min--;
if(Min==0xff)
{
Min=0;
}
}
k=1;
}
}
四:原理图文件展示(采用AD(Altium Designer)打开)
五:实物图展示:
六: 资料清单展示: