//宏定义
#define uint unsigned int
#define uchar unsigned char
//LCD管脚声明
sbit LCDRS = P1^1;
sbit LCDEN = P1^2;
//初始画时显示的内容
uchar code Init1[]="Tp:00.0 C Ti:000";
uchar code Init2[]=" Up:00 Down:00 ";
/**************************************************************************************************
*******************************液晶的基本操作程序**************************************************
**************************************************************************************************/
//LCD延时
void LCDdelay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=10;y>0;y--);
}
//写命令
void write_com(uchar com)
{
LCDRS=0;
P0=com;
LCDdelay(5);
LCDEN=1;
LCDdelay(5);
LCDEN=0;
}
//写数据
void write_data(uchar date)
{
LCDRS=1;
P0=date;
LCDdelay(5);
LCDEN=1;
LCDdelay(5);
LCDEN=0;
}
/**************************************************************************************************
***************************************************************************************************
**************************************************************************************************/
/**************************************************************************************************
*****************************1602初始化程序********************************************************
**************************************************************************************************/
//1602初始化
void Init1602()
{
uchar i=0;
write_com(0x01);//清屏
write_com(0x38);//屏幕初始化
write_com(0x0c);//打开显示 无光标 无光标闪烁
write_com(0x06);//当读或写一个字符是指针后一一位
write_com(0x80);//设置位置
for(i=0;i<16;i++)
{
write_data(Init1[i]);
}
write_com(0x80+40);//设置位置
for(i=0;i<16;i++)
{
write_data(Init2[i]);
}
}
/**************************************************************************************************
***************************************************************************************************
**************************************************************************************************/
/**************************************************************************************************
******************************************显示时间温度数据程序*************************************
**************************************************************************************************/
void Display_1602(uint aa,uchar dss,uchar sxx,uchar xxx)
{
//温度显示
write_com(0x80+3);
write_data('0'+aa/100);
write_data('0'+aa/10%10);
write_data('.');
write_data('0'+aa%10);
write_data(0xdf);
//定时显示
write_com(0x80+13);
write_data('0'+dss/100);
write_data('0'+dss/10%10);
write_data('0'+dss%10);
//上限显示
write_com(0x80+40+4);
write_data('0'+sxx/10%10);
write_data('0'+sxx%10);
//下限显示
write_com(0x80+40+13);
write_data('0'+xxx/10%10);
write_data('0'+xxx%10);
}
/**************************************************************************************************
***************************************************************************************************
**************************************************************************************************/
/**************************************************************************************************
*********************************************字符显示程序********************************************
**************************************************************************************************/
void Display_wd()
{
//温度显示
write_com(0x80);
write_data('S');
write_data('e');
write_data('t');
write_data(' ');
write_data('s');
write_data('t');
write_data('a');
write_data('t');
write_data('e');
}
/**************************************************************************************************
***************************************************************************************************
**************************************************************************************************/
为什么显示屏没显示全我代码的所需啊
如果截图是贴出的代码运行的结果,那么说明代码可用,只是写第二行出现问题,可参看这里代码写第一行和第二行的代码。
【相关推荐】