基于at89c51的温度检测系统程序代码
时间: 2023-08-08 19:04:55 浏览: 45
以下是一个基于AT89C51的温度检测系统的程序代码,代码中使用了DS18B20温度传感器和LCD1602显示屏。
```c
#include<reg51.h>
#include<lcd.h>
#include<ds18b20.h>
#define uchar unsigned char
#define uint unsigned int
sbit DQ = P1^0; // DS18B20数据线连接到P1.0
void Delay10us(void) // 延时函数
{
uchar i;
for(i=0;i<2;i++);
}
void main()
{
float temp;
uchar str[16];
LcdInit(); // 初始化LCD显示屏
while(1)
{
temp = DS18B20_Get_Temp(); // 读取温度值
sprintf(str, "Temp:%.2fC", temp); // 将温度值格式化到字符串中
LcdWriteString(0,0,str); // 在LCD上显示温度值
Delay10us();
}
}
```
其中,DS18B20_Get_Temp()函数是获取温度值的函数,lcd.h和ds18b20.h是自定义的LCD和DS18B20头文件,需要自行编写。需要注意的是,由于AT89C51单片机没有内置的ADC模块,因此我们选择了DS18B20数字温度传感器,需要使用ds18b20.h中的函数进行温度值的读取。同时,LCD1602显示屏的初始化也需要在程序中进行。