📄 lcd.h~
字号:
#define LCDLIGHT_ON() {DDRG|=0X08;PORTG|=0X08;} //开LCD背光
#define LCDLIGHT_OFF() {DDRG|=0X08;PORTG&=0XF7;} //关LCD背光
#define LCDBCOLOR 0X03 //定义背景色为蓝色
#define LCDFTCOLOR 0xff//0X20 //定义字体颜色为白色
#define LCDFW1COLOR 0x1c//0XE0 //定义边框颜色及按钮颜色为绿色
#define LCDFW2COLOR 0xff//0XE3 //定义不可触摸按钮颜色为白色
#define LCDFSCOLOR 0XFC //定义选择颜色为黄色
unsigned char year,month,day,hour,minute,second;
unsigned int b_dy,b_dl,b_wd,con_wd,soft_bb;
static unsigned char lcd_bcolor@0x8005;
static unsigned char lcd_fcolor@0x8004;
static unsigned char lcd_data@0x8006;
static unsigned char lcd_psw@0x8007;
static unsigned char lcd_xaddrl@0x8000;
static unsigned char lcd_xaddrh@0x8001;
static unsigned char lcd_yaddrl@0x8002;
static unsigned char lcd_yaddrh@0x8003;
unsigned char picture_number; //当前界面编号
unsigned char login_timer; //登录用按键超时定时器
unsigned char key_number;
unsigned char dty[200];
unsigned int v_max,v_min,v_ave,r_max,r_min,r_ave;
unsigned char mm_number;
unsigned char r_dcdy;
unsigned int r_dcjs,r_dtgy,r_dtqy,r_cybj;
unsigned char r_txdz,r_txsl,r_txxy;
unsigned long int r_szmm,r_date,r_time;
eeprom char e_dcdy;
eeprom int e_dcjs,e_dtgy,e_dtqy,e_cybj;
eeprom char e_txdz=0x01;
eeprom char e_txsl=4;
eeprom char e_txxy=1;
eeprom long int e_szmm=12345;
eeprom long int e_date,e_time;
void comm_key(void){
lcd_cls(LCDBCOLOR); //清屏白色
draw(16,8,784,472,LCDFW1COLOR); //显示屏边框
write_word(96,24,32,32,LCDBCOLOR,LCDFTCOLOR,t100); //电
write_word(128,24,32,32,LCDBCOLOR,LCDFTCOLOR,t101); //池
write_word(160,24,32,32,LCDBCOLOR,LCDFTCOLOR,t102); //智
write_word(192,24,32,32,LCDBCOLOR,LCDFTCOLOR,t103); //能
write_word(224,24,32,32,LCDBCOLOR,LCDFTCOLOR,t104); //监
write_word(256,24,32,32,LCDBCOLOR,LCDFTCOLOR,t105); //控
write_word(288,24,32,32,LCDBCOLOR,LCDFTCOLOR,t106); //系
write_word(320,24,32,32,LCDBCOLOR,LCDFTCOLOR,t107); //统
write_word(720,12,16,24,LCDBCOLOR,LCDFTCOLOR,number(day/10+20)); //日
write_word(736,12,16,24,LCDBCOLOR,LCDFTCOLOR,number(day%10+20));
write_word(704,12,16,24,LCDBCOLOR,LCDFTCOLOR,o2);
write_word(672,12,16,24,LCDBCOLOR,LCDFTCOLOR,number(month/10+20)); //月
write_word(688,12,16,24,LCDBCOLOR,LCDFTCOLOR,number(month%10+20));
write_word(656,12,16,24,LCDBCOLOR,LCDFTCOLOR,o2);
write_word(624,12,16,24,LCDBCOLOR,LCDFTCOLOR,number(year/10+20)); //年
write_word(640,12,16,24,LCDBCOLOR,LCDFTCOLOR,number(year%10+20));
write_word(720,40,16,24,LCDBCOLOR,LCDFTCOLOR,number(second/10+20)); //秒
write_word(736,40,16,24,LCDBCOLOR,LCDFTCOLOR,number(second%10+20));
write_word(704,40,16,24,LCDBCOLOR,LCDFTCOLOR,o6);
write_word(672,40,16,24,LCDBCOLOR,LCDFTCOLOR,number(minute/10+20)); //分
write_word(688,40,16,24,LCDBCOLOR,LCDFTCOLOR,number(minute%10+20));
write_word(656,40,16,24,LCDBCOLOR,LCDFTCOLOR,o6);
write_word(624,40,16,24,LCDBCOLOR,LCDFTCOLOR,number(hour/10+20)); //时
write_word(640,40,16,24,LCDBCOLOR,LCDFTCOLOR,number(hour%10+20));
draw(16,68,784,69,LCDFW1COLOR);
draw(592,76,672,124,LCDFW1COLOR); //控制框
write_word(600,84,32,32,LCDBCOLOR,LCDFTCOLOR,t148); //确
write_word(632,84,32,32,LCDBCOLOR,LCDFTCOLOR,t149); //认
draw(688,76,768,124,LCDFW1COLOR); //控制框
write_word(696,84,32,32,LCDBCOLOR,LCDFTCOLOR,t9); //返
write_word(728,84,32,32,LCDBCOLOR,LCDFTCOLOR,t10); //回
draw(576,68,577,472,LCDFW1COLOR);
draw(728,192,776,240,LCDFW1COLOR); //控制框
write_word(744,200,16,32,LCDBCOLOR,LCDFTCOLOR,number(0)); //0
draw(664,192,712,240,LCDFW1COLOR); //控制框
write_word(680,200,16,32,LCDBCOLOR,LCDFTCOLOR,o5); //.
draw(600,192,648,240,LCDFW1COLOR); //控制框
write_word(616,200,16,32,LCDBCOLOR,LCDFTCOLOR,e10); //c
draw(728,256,776,304,LCDFW1COLOR); //控制框
write_word(744,264,16,32,LCDBCOLOR,LCDFTCOLOR,number(3)); //3
draw(664,256,712,304,LCDFW1COLOR); //控制框
write_word(680,264,16,32,LCDBCOLOR,LCDFTCOLOR,number(2)); //2
draw(600,256,648,304,LCDFW1COLOR); //控制框
write_word(616,264,16,32,LCDBCOLOR,LCDFTCOLOR,number(1)); //1
draw(728,320,776,368,LCDFW1COLOR); //控制框
write_word(744,328,16,32,LCDBCOLOR,LCDFTCOLOR,number(6)); // 6
draw(664,320,712,368,LCDFW1COLOR); //控制框
write_word(680,328,16,32,LCDBCOLOR,LCDFTCOLOR,number(5)); // 5
draw(600,320,648,368,LCDFW1COLOR); //控制框
write_word(616,328,16,32,LCDBCOLOR,LCDFTCOLOR,number(4)); //4
draw(728,384,776,432,LCDFW1COLOR); //控制框
write_word(744,392,16,32,LCDBCOLOR,LCDFTCOLOR,number(9)); //9
draw(664,384,712,432,LCDFW1COLOR); //控制框
write_word(680,392,16,32,LCDBCOLOR,LCDFTCOLOR,number(8)); //8
draw(600,384,648,432,LCDFW1COLOR); //控制框
write_word(616,392,16,32,LCDBCOLOR,LCDFTCOLOR,number(7)); //7
}
void comm_intrfice(unsigned char flag){
lcd_cls(LCDBCOLOR); //清屏白色
draw(16,8,784,472,LCDFW1COLOR); //显示屏边框
write_word(96,24,32,32,LCDBCOLOR,LCDFTCOLOR,t100); //电
write_word(128,24,32,32,LCDBCOLOR,LCDFTCOLOR,t101); //池
write_word(160,24,32,32,LCDBCOLOR,LCDFTCOLOR,t102); //智
write_word(192,24,32,32,LCDBCOLOR,LCDFTCOLOR,t103); //能
write_word(224,24,32,32,LCDBCOLOR,LCDFTCOLOR,t104); //监
write_word(256,24,32,32,LCDBCOLOR,LCDFTCOLOR,t105); //控
write_word(288,24,32,32,LCDBCOLOR,LCDFTCOLOR,t106); //系
write_word(320,24,32,32,LCDBCOLOR,LCDFTCOLOR,t107); //统
write_word(720,12,16,24,LCDBCOLOR,LCDFTCOLOR,number(day/10+20)); //日
write_word(736,12,16,24,LCDBCOLOR,LCDFTCOLOR,number(day%10+20));
write_word(704,12,16,24,LCDBCOLOR,LCDFTCOLOR,o2);
write_word(672,12,16,24,LCDBCOLOR,LCDFTCOLOR,number(month/10+20)); //月
write_word(688,12,16,24,LCDBCOLOR,LCDFTCOLOR,number(month%10+20));
write_word(656,12,16,24,LCDBCOLOR,LCDFTCOLOR,o2);
write_word(624,12,16,24,LCDBCOLOR,LCDFTCOLOR,number(year/10+20)); //年
write_word(640,12,16,24,LCDBCOLOR,LCDFTCOLOR,number(year%10+20));
write_word(720,40,16,24,LCDBCOLOR,LCDFTCOLOR,number(second/10+20)); //秒
write_word(736,40,16,24,LCDBCOLOR,LCDFTCOLOR,number(second%10+20));
write_word(704,40,16,24,LCDBCOLOR,LCDFTCOLOR,o6);
write_word(672,40,16,24,LCDBCOLOR,LCDFTCOLOR,number(minute/10+20)); //分
write_word(688,40,16,24,LCDBCOLOR,LCDFTCOLOR,number(minute%10+20));
write_word(656,40,16,24,LCDBCOLOR,LCDFTCOLOR,o6);
write_word(624,40,16,24,LCDBCOLOR,LCDFTCOLOR,number(hour/10+20)); //时
write_word(640,40,16,24,LCDBCOLOR,LCDFTCOLOR,number(hour%10+20));
draw(16,68,784,69,LCDFW1COLOR);
draw(600,416,776,464,LCDFW1COLOR); //控制框
write_word(624,424,32,32,LCDBCOLOR,LCDFTCOLOR,t106); //系
write_word(656,424,32,32,LCDBCOLOR,LCDFTCOLOR,t107); //统
write_word(688,424,32,32,LCDBCOLOR,LCDFTCOLOR,t118); //设
write_word(720,424,32,32,LCDBCOLOR,LCDFTCOLOR,t119); //置
draw(600,360,776,408,LCDFW1COLOR); //控制框
write_word(624,368,32,32,LCDBCOLOR,LCDFTCOLOR,t116); //历
write_word(656,368,32,32,LCDBCOLOR,LCDFTCOLOR,t117); //史
write_word(688,368,32,32,LCDBCOLOR,LCDFTCOLOR,t114); //故
write_word(720,368,32,32,LCDBCOLOR,LCDFTCOLOR,t115); //障
draw(600,304,776,352,LCDFW1COLOR); //控制框
write_word(624,312,32,32,LCDBCOLOR,LCDFTCOLOR,t112); //当
write_word(656,312,32,32,LCDBCOLOR,LCDFTCOLOR,t113); //前
write_word(688,312,32,32,LCDBCOLOR,LCDFTCOLOR,t114); //故
write_word(720,312,32,32,LCDBCOLOR,LCDFTCOLOR,t115); //障
draw(600,248,776,296,LCDFW1COLOR); //控制框
write_word(624,256,32,32,LCDBCOLOR,LCDFTCOLOR,t108); //信
write_word(656,256,32,32,LCDBCOLOR,LCDFTCOLOR,t109); //息
write_word(688,256,32,32,LCDBCOLOR,LCDFTCOLOR,t110); //查
write_word(720,256,32,32,LCDBCOLOR,LCDFTCOLOR,t111); //询
draw(600,192,776,240,LCDFW1COLOR); //控制框
write_word(624,200,32,32,LCDBCOLOR,LCDFTCOLOR,t47); //数
write_word(656,200,32,32,LCDBCOLOR,LCDFTCOLOR,t173); //据
write_word(688,200,32,32,LCDBCOLOR,LCDFTCOLOR,t174); //曲
write_word(720,200,32,32,LCDBCOLOR,LCDFTCOLOR,t175); //线
if(flag!=0){
draw(600,76,680,124,LCDFW1COLOR); //控制框
write_word(608,84,32,32,LCDBCOLOR,LCDFTCOLOR,t128); //上
write_word(640,84,32,32,LCDBCOLOR,LCDFTCOLOR,t130); //页
draw(600,132,680,180,LCDFW1COLOR); //控制框
write_word(608,140,32,32,LCDBCOLOR,LCDFTCOLOR,t129); //下
write_word(640,140,32,32,LCDBCOLOR,LCDFTCOLOR,t130); //页
}
draw(696,76,776,124,LCDFW1COLOR); //控制框
write_word(704,84,32,32,LCDBCOLOR,LCDFTCOLOR,t9); //退
write_word(736,84,32,32,LCDBCOLOR,LCDFTCOLOR,t10); //出
draw(592,68,593,472,LCDFW1COLOR);
}
/**************************************************************************************
主菜单界面
功能:
可以切换的界面:
按<电池智能监控系统>可以切换到picture2:控制界面
**************************************************************************************/
void picture1(void){
unsigned long int i;
lcd_cls(LCDBCOLOR); //清屏白色
draw(16,8,784,472,LCDFW1COLOR); //显示屏边框
draw(240,200,528,264,LCDFW1COLOR); //控制框
write_word(256,216,32,32,LCDBCOLOR,LCDFTCOLOR,t100); //电
write_word(288,216,32,32,LCDBCOLOR,LCDFTCOLOR,t101); //池
write_word(320,216,32,32,LCDBCOLOR,LCDFTCOLOR,t102); //智
write_word(352,216,32,32,LCDBCOLOR,LCDFTCOLOR,t103); //能
write_word(384,216,32,32,LCDBCOLOR,LCDFTCOLOR,t104); //监
write_word(416,216,32,32,LCDBCOLOR,LCDFTCOLOR,t105); //控
write_word(448,216,32,32,LCDBCOLOR,LCDFTCOLOR,t106); //系
write_word(480,216,32,32,LCDBCOLOR,LCDFTCOLOR,t107); //统
write_word(720,24,16,24,LCDBCOLOR,LCDFTCOLOR,number(day/10+20)); //日
write_word(736,24,16,24,LCDBCOLOR,LCDFTCOLOR,number(day%10+20));
write_word(704,24,16,24,LCDBCOLOR,LCDFTCOLOR,o2);
write_word(672,24,16,24,LCDBCOLOR,LCDFTCOLOR,number(month/10+20)); //月
write_word(688,24,16,24,LCDBCOLOR,LCDFTCOLOR,number(month%10+20));
write_word(656,24,16,24,LCDBCOLOR,LCDFTCOLOR,o2);
write_word(624,24,16,24,LCDBCOLOR,LCDFTCOLOR,number(year/10+20)); //年
write_word(640,24,16,24,LCDBCOLOR,LCDFTCOLOR,number(year%10+20));
write_word(720,56,16,24,LCDBCOLOR,LCDFTCOLOR,number(second/10+20)); //秒
write_word(736,56,16,24,LCDBCOLOR,LCDFTCOLOR,number(second%10+20));
write_word(704,56,16,24,LCDBCOLOR,LCDFTCOLOR,o6);
write_word(672,56,16,24,LCDBCOLOR,LCDFTCOLOR,number(minute/10+20)); //分
write_word(688,56,16,24,LCDBCOLOR,LCDFTCOLOR,number(minute%10+20));
write_word(656,56,16,24,LCDBCOLOR,LCDFTCOLOR,o6);
write_word(624,56,16,24,LCDBCOLOR,LCDFTCOLOR,number(hour/10+20)); //时
write_word(640,56,16,24,LCDBCOLOR,LCDFTCOLOR,number(hour%10+20));
}
/***************************************************************************************
主窗口信息
可以切换的界面:
按<信息查询>可以切换到picture3:控制界面
按<当前故障>可以切换到picture9:控制界面
按<历史故障>可以切换到picture10:控制界面
按<系统设置>可以切换到picture5:控制界面
***************************************************************************************/
void picture2(void){
comm_intrfice(0);
write_word(32,72,32,32,LCDBCOLOR,LCDFTCOLOR,t106); //系
write_word(64,72,32,32,LCDBCOLOR,LCDFTCOLOR,t107); //统
write_word(96,72,32,32,LCDBCOLOR,LCDFTCOLOR,t126); //状
write_word(128,72,32,32,LCDBCOLOR,LCDFTCOLOR,t127); //态
write_word(160,80,16,24,LCDBCOLOR,LCDFTCOLOR,o6); //:
write_word(192,72,32,32,LCDBCOLOR,LCDFTCOLOR,t106); //系
write_word(224,72,32,32,LCDBCOLOR,LCDFTCOLOR,t107); //统
write_word(64,136,32,32,LCDBCOLOR,LCDFTCOLOR,t100); //电
write_word(96,136,32,32,LCDBCOLOR,LCDFTCOLOR,t101); //池
write_word(128,136,32,32,LCDBCOLOR,LCDFTCOLOR,t100); //电
write_word(160,136,32,32,LCDBCOLOR,LCDFTCOLOR,t133); //压
write_word(192,144,16,24,LCDBCOLOR,LCDFTCOLOR,o6); //:
write_word(224,136,16,32,LCDBCOLOR,LCDFTCOLOR,number(b_dy/1000));
write_word(240,136,16,32,LCDBCOLOR,LCDFTCOLOR,number((b_dy%1000)/100));
write_word(256,136,16,32,LCDBCOLOR,LCDFTCOLOR,number((b_dy%1000)%100/10));
write_word(272,144,16,24,LCDBCOLOR,LCDFTCOLOR,o5); //.
write_word(288,136,16,32,LCDBCOLOR,LCDFTCOLOR,number((b_dy%1000)%100%10));
write_word(304,136,16,32,LCDBCOLOR,LCDFTCOLOR,e8); // v
write_word(64,184,32,32,LCDBCOLOR,LCDFTCOLOR,t100); //电
write_word(96,184,32,32,LCDBCOLOR,LCDFTCOLOR,t101); //池
write_word(128,184,32,32,LCDBCOLOR,LCDFTCOLOR,t100); //电
write_word(160,184,32,32,LCDBCOLOR,LCDFTCOLOR,t134); //流
write_word(192,192,16,24,LCDBCOLOR,LCDFTCOLOR,o6); //:
write_word(224,184,16,32,LCDBCOLOR,LCDFTCOLOR,number(b_dl/1000));
write_word(240,184,16,32,LCDBCOLOR,LCDFTCOLOR,number((b_dl%1000)/100));
write_word(256,184,16,32,LCDBCOLOR,LCDFTCOLOR,number((b_dl%1000)%100/10));
write_word(272,192,16,24,LCDBCOLOR,LCDFTCOLOR,o5); //.
write_word(288,184,16,32,LCDBCOLOR,LCDFTCOLOR,number((b_dl%1000)%100%10));
write_word(304,184,16,32,LCDBCOLOR,LCDFTCOLOR,e9); // A
write_word(64,232,32,32,LCDBCOLOR,LCDFTCOLOR,t100); //电
write_word(96,232,32,32,LCDBCOLOR,LCDFTCOLOR,t101); //池
write_word(128,232,32,32,LCDBCOLOR,LCDFTCOLOR,t131); //温
write_word(160,232,32,32,LCDBCOLOR,LCDFTCOLOR,t132); //度
write_word(192,240,16,24,LCDBCOLOR,LCDFTCOLOR,o6); //:
write_word(224,232,16,32,LCDBCOLOR,LCDFTCOLOR,number(b_wd/1000));
write_word(240,232,16,32,LCDBCOLOR,LCDFTCOLOR,number((b_wd%1000)/100));
write_word(256,232,16,32,LCDBCOLOR,LCDFTCOLOR,number((b_wd%1000)%100/10));
write_word(272,240,16,24,LCDBCOLOR,LCDFTCOLOR,o5); //.
write_word(288,232,16,32,LCDBCOLOR,LCDFTCOLOR,number((b_wd%1000)%100%10));
write_word(304,232,16,32,LCDBCOLOR,LCDFTCOLOR,e10); // C
write_word(64,280,32,32,LCDBCOLOR,LCDFTCOLOR,t120); //环
write_word(96,280,32,32,LCDBCOLOR,LCDFTCOLOR,t121); //境
write_word(128,280,32,32,LCDBCOLOR,LCDFTCOLOR,t126); //温
write_word(160,280,32,32,LCDBCOLOR,LCDFTCOLOR,t127); //度
write_word(192,288,16,24,LCDBCOLOR,LCDFTCOLOR,o6); //:
write_word(224,280,16,32,LCDBCOLOR,LCDFTCOLOR,number(con_wd/1000));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -