⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd.h~

📁 这是电池检测仪的程序
💻 H~
📖 第 1 页 / 共 5 页
字号:

#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 + -