#include "menu.h" #include "devicegpioinit.h" #include "1lcd.h" u8 LCD_TYPE_FLAG =0; //Òº¾§ÖÖÀàµÄÅжϱê־λ /*******************???*************/ #define KEY_ESC 0x01 #define KEY_RETURN 0x02 #define KEY_NEXT 0x04 /*****************?????*******************/ #define VB_MENU 0 //±ê¿öÀÛ¼ÆÁ÷Á¿ #define VM_MENU 1 //¹¤¿öÀÛ¼ÆÁ÷Á¿ #define P_MENU 2 //ѹÁ¦ #define T_MENU 3 //ÎÂ¶È #define Time_MENU 4 //ʱ¼ä //#define VOG_MENU 5 //ÆøÌåÁ÷ËÙ //#define SOS_MENU 6 //ÉùËÙ MENU_MODULE_T menu_data; LCDSIGNAL_FLAG LCDSignal_flag_g; u8 Warning_blink=1; u8 Alarm_blink=1; u8 Battery_blink=1; #define MENU_LCD_NOMARL_MODE 0 #define MENU_LCD_NOFLOW_NOSHOW_MODE 1 #define MENU_LCD_ALWAYS_SHOW_MODE 2 // void LCD_first_power_on_up(void) { } void LCD_first_power_on_down(void) { LCDSignal_flag_g.Sleep=1; menu_data.system_tick=0; LCDSignal_flag_g.LCD_first_up = 1; menu_data.system_menulevel = LEVEL_POWER_OFF; LCD_Power_OFF; LCD_Power_lowpower_init(); LCD_GPIO_sleep_mode(); } void LCD_reflash_init(void) { menu_data.system_menulevel = LEVEL1; delay_ms(80); LCD_Clear(); LCD_driver_init(); menu_data.key_num = VB_MENU; LCDSignal_flag_g.LCD_first_up = 0; } #define LCD_FIRST_OPEN 0 #define LCD_OPEN 1 #define LCD_OFF 2 #define ALWAYSPOWER 0 #define BATPOWER 1 void LCD_Type_Select(void) { u8 PC7_State; u8 PC8_State; LCD_Power_Init(); LCD_Power_ON; delay_ms(500); GPIO_C_7_INIT(); delay_ms(500); PC7_State = GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_7);//PCin(7); PC8_State = GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_8);//PCin(8); if((PC7_State==1)&&(PC8_State==0)) { LCD_TYPE_FLAG =1;//ÐÂÒº¾§ I2C } else if((PC7_State==1)&&(PC8_State==1)) { LCD_TYPE_FLAG =0; //Ô­Òº¾§ }else { //ÎÞ·¨ÅжÏʱÔÙÀ´Ò»±é delay_ms(500); GPIO_C_7_INIT(); delay_ms(500); PC7_State = GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_7);//PCin(7); PC8_State = GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_8);//PCin(8); if((PC7_State==1)&&(PC8_State==0)) { LCD_TYPE_FLAG =1;//ÐÂÒº¾§ } else if((PC7_State==1)&&(PC8_State==1)) { LCD_TYPE_FLAG =0; //Ô­Òº¾§ }else { //ÔÙ´ÎÎÞ·¨ÅжϾ͵±×öÐÂÒº¾§ LCD_TYPE_FLAG =1;//ÐÂÒº¾§ } } delay_ms(10); LCD_Power_OFF; delay_ms(10); }