AT89C52控制温度传感器DS18B20并在LM016L_LCD上显示
//--------------------------------------------------------
本文引用地址:https://www.eepw.com.cn/article/201807/383597.htm//文 件 名:Temperture_Control
//
//文件简介:AT89C52作为主控,实时获取、处理、发送数据,全局控制;
//DS18B20_Sensor温度(-50 ~ 255℃)数据实时输入;
//LM016L_LCD温度数据实时显示
//
//修改时间:2017.10.24
//
//修改人员:Touch
//--------------------------------------------------------
#includereg52.h
//宏定义、全局变量定义区
#defineuchar unsigned char
#define uint unsigned int
uchar code disp[]=0123456789;//数据显示数组
uchar code disp2[]=Tempreture;//标题栏显示
uchar code disp3[]=^C; //单位显示
//LCD管脚位定义
sbit lcden=P2^0;
sbit lcdrw=P2^1;
sbit lcdrs=P2^2;
sbit tempt=P2^3;
uint u_temp;//定义无符号整型形参
float f_temp;//定义浮点型形参
//----------------------------------------
//函 数 名:delay()
//函数类型:void
//入口参数:unint x
//出口参数:None
//说明:单片机指令周期为---计算延时、//延时500ms程序
//----------------------------------------
void delay(uint x)
{
uint i,j;
for(i=0;i
for(j=0;j130;j++);
}
//----------------------------------------
//函 数 名:write_com
//函数类型:void
//入口参数:uchar com
//出口参数:None
//说明:液晶写命令函数
//----------------------------------------
void write_com(uchar com)
{
lcdrs=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
delay(5);
}
//----------------------------------------
//函 数 名:write_data
//函数类型:void
//入口参数:uchar date
//出口参数:None
//说明:液晶写数据函数
//----------------------------------------
void write_data(uchar date)
{
lcdrs=1;
P0=date;
delay(5);
lcden=1;
delay(5);
评论