#include "head_file.h" unsigned char i; //定义局部变量 unsigned char table[]="27'c " ; //显示的字母 unsigned char code table1[5][30]={"status: NO Wind", "status: Ordinary", "status: Natural", "status: Sleep", "status: auto"} ; unsigned int temp = 27; void LCD1206_config()//LED初始化 { unsigned char i; //定义局部变量 init(); write_com(0x80); //指针的位置 for(i=0;i<16;i++) //显示 { write_dat(table[i]); delay(50); //延时,用于调节速度不匹配 } write_com(0x80+0x40); for(i=0;i<16;i++) { write_dat(table1[i]); delay(50); } } /****************延时子函数 ********************/ void delay(unsigned char x) { unsigned char i,j; for(i=x;i>0;i--) for(j=110;j>0;j--); } /****************写指令子函数********************/ void write_com(unsigned char com) { //根据1602液晶显示器协议编写 P1=com; lcde=0; lcdrs=0; lcdwr=0; delay(2); lcde=1; delay(2); lcde=0; } /*****************写数据子函数********************/ void write_dat(unsigned char dat) { P1=dat; lcde=0; lcdrs=1; lcdwr=0; delay(2); lcde=1; delay(2); lcde=0; } /*****************初始化子函数********************/ void init() { write_com(0x01); //清屏 write_com(0x3f); //功能设置 write_com(0x0f); //显示控制 write_com(0x06); //输入方式设置 } void set_temp(){ //改13,14位置 table[0] = (temp/10) + '0'; table[1] = (temp%10) + '0'; if(times >= 0 && times != -1){ table[10] = (times/1000)/10 + '0'; table[11] = (times/1000)%10 + '0'; table[12] = 's'; }else{ table[10] = ' '; table[11] = ' '; table[12] = ' '; } } void ShowLcd() { if(1){ init(); write_com(0x80); //指针的位置 set_temp(); for(i=0;i<16;i++) //显示 { write_dat(table[i]); //delay(50); //延时,用于调节速度不匹配 } write_com(0x80+0x40); for(i=0;i<16;i++) { write_dat(table1[flag_com][i]); //delay(50); } //delay(50); } }