//-----微控实验网-www.mcusy.cn-单片机学习开发-----
/***************************************************************
* 程序名称:18B20+LCD1602温度显示实验
* 实验对象:WK-S801实验板
* 硬件说明:MCU采用AT89S51/52,18B20/P3.5输入,LCD1602、P0输出
* 提 示:自己试验在程序中加入控制继电器便可真正实现控制温度功能
****************************************************************/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit DQ=P3^4;//ds18b20与单片机连接口
sbit RS=P2^2;
sbit RW=P2^3;
sbit EN=P2^4;
unsigned char code str1[]={"Temperature = "};
unsigned char code str2[]={" "};
uchar data disdata[5];
uint tvalue;//温度值
uchar tflag;//温度正负标志
/*************************lcd1602程序**************************/
void delay1ms(unsigned int ms)//延时1毫秒
{ unsigned int i,j;
for(i=0;i<ms;i++)
for(j=0;j<100;j++);
}
void wr_com(unsigned char com)//写指令//
{ delay1ms(1);
RS=0;
RW=0;
EN=0;
P0=com; //
delay1ms(1);
EN=1;
delay1ms(1);
EN=0;
}
void wr_dat(unsigned char dat)//写数据//
{ delay1ms(1);
RS=1;
RW=0;
EN=0;
P0=dat; //
delay1ms(1);
EN=1;
delay1ms(1);
EN=0;
}
void lcd_init()//初始化设置//
{ delay1ms(15);
wr_com(0x38);
delay1ms(5);
wr_com(0x08);
delay1ms(5);
wr_com(0x01);
delay1ms(5);
wr_com(0x06);
delay1ms(5);
wr_com(0x0c);
delay1ms(5);
}
- 1
- 2
前往页