18b20温度检测及其lcd显示_51单片机DS18B20在LCD1602上显示(无其他效果,给初学者)...
时间: 2024-03-01 15:51:04 浏览: 30
好的,这是一个关于使用51单片机和DS18B20温度传感器来进行温度检测,并在LCD1602上进行显示的教程。以下是具体步骤:
1. 准备材料:
- 51单片机开发板
- DS18B20温度传感器
- LCD1602液晶显示屏
- 杜邦线若干
2. 连接电路:
将DS18B20温度传感器连接到51单片机的P2.7引脚,LCD1602显示屏接口连接到51单片机的P1口。
3. 编写程序:
首先需要定义一些变量和引入头文件,如下:
```
#include<reg52.h>
#include<intrins.h>
#include<ds18b20.h>
#include<lcd1602.h>
sbit DQ = P2^7; //DS18B20数据线接口
sbit LED = P0^0; //LED灯
unsigned char temp[20]; //存放温度值
unsigned char flag; //定义标志位
```
然后在主函数中初始化LCD1602显示屏和DS18B20温度传感器,并通过LCD1602显示屏显示当前温度值,如下:
```
void main()
{
LcdInit(); //初始化LCD1602液晶显示屏
while(DS18B20Init()); //检测DS18B20是否存在
while(1)
{
flag = DS18B20Start(); //启动DS18B20,开始温度转换
if(flag == 0) //如果启动成功
{
LED = 0;
DS18B20ReadTemp(); //读取温度值
sprintf(temp,"Temperature:%d.%dC",ds18b20_temp/10,ds18b20_temp%10); //将温度值存放到temp数组中
LcdShowString(0,0,temp); //在LCD1602上显示温度值
}
else
{
LED = 1;
}
delay_ms(1000); //延时1秒
}
}
```
4. 进行烧录:
将编写好的程序通过编译器烧录到51单片机中。
5. 运行程序:
将DS18B20温度传感器连接到需要检测的物体上,开启51单片机,便可以在LCD1602显示屏上实时显示当前温度值。
希望这个教程对你有所帮助!