| | |
| | | #include "gpio.h" |
| | | #include "string.h" |
| | | #include "system_general_para.h" |
| | | |
| | | #include "sizhu_ctrl_word.h" |
| | | #include "system_mem_para.h" |
| | | #include "linked_list.h" |
| | | |
| | | uint8_t LCD_DRIVE_MODE_14_13[1] = {0}; // 1/4duty 1/3bias |
| | | uint8_t LCD_DRIVE_MODE_14_14[1] = {1}; // 1/4duty 1/4bias |
| | |
| | | uint8_t LCD_SYSTEM_MODE_ON_OFF[1] = {2}; // ÄÚ²¿ÏµÍ³Õñµ´Æ÷ON£¬LCDÏÔʾOFF |
| | | uint8_t LCD_SYSTEM_MODE_ON_ON[1] = {3}; // ÄÚ²¿ÏµÍ³Õñµ´Æ÷ON£¬LCDÏÔʾON |
| | | |
| | | uint8_t lcd_wake_up_flag_g = 0; |
| | | FlagStatus lcd_wake_up_flag_g = RESET; //ΪÁ˰´¼üÏÔʾûÓÐÑӳٸР|
| | | FlagStatus lcd_first_wake_up_flag_g = SET; //³õʼҪΪSET£¬ÆÁÁÁ |
| | | |
| | | |
| | | SYS_DISPLAY_PAPA_T sys_display_para_g ={ \ |
| | | .sys_and_display_mode = NORMAL_MODE, \ |
| | | .display_page_status.normal_page_status = TOTAL_SC_BALANCE, \ |
| | | .display_page_status.para_page_status = METER_NUM, \ |
| | | }; |
| | | |
| | | // LCD³õʼ»¯ |
| | | void Lcd_Init(void) |
| | |
| | | { |
| | | // LCD_ALL_DISPLAY; |
| | | Lcd_Write(LCD_SYSTEM_MODE_COMMAND_ADDR, LCD_SYSTEM_MODE_OFF_OFF, 1); |
| | | LCD_BACKLIGHT_OFF; |
| | | // LCD_BACKLIGHT_OFF; |
| | | LCD_PWR_OFF; |
| | | } |
| | | /************************************** |
| | |
| | | delay_ms(1); |
| | | // LCD_ALL_CLEAR; |
| | | Lcd_Init(); |
| | | lcd_wake_up_flag_g = 1; |
| | | // lcd_wake_up_flag_g = 1; |
| | | } |
| | | /**************************************** |
| | | Ãû³Æ£ºLcd_Display_AllTest(void) |
| | |
| | | LCD_DISPLAY_SEG(_LCD_YUAN_2_23A); |
| | | LCD_DISPLAY_SEG(_LCD_YUAN_M3_23A); |
| | | |
| | | LCD_DISPLAY_SEG(_LCD_POINT1_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT2_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT3_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT4_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT5_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT6_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT7_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT8_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT9_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT10_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT11_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT12_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT13_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT14_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT15_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT16_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT17_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT18_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT19_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT20_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT21_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT22_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT23_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT24_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT25_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT26_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT1_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT2_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT3_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT4_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT5_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT6_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT7_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT8_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT9_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT10_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT11_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT12_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT13_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT14_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT15_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT16_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT17_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT18_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT19_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT20_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT21_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT22_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT23_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT24_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT25_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_POINT26_23A); |
| | | |
| | | Lcd_DisplayDigit_23A(1 + i, 8); |
| | | Lcd_DisplayDigit_23A(2 + i, 8); |
| | | Lcd_DisplayDigit_23A(3 + i, 8); |
| | | Lcd_DisplayDigit_23A(4 + i, 8); |
| | | Lcd_DisplayDigit_23A(5 + i, 8); |
| | | Lcd_DisplayDigit_23A(6 + i, 8); |
| | | Lcd_DisplayDigit_23A(7 + i, 8); |
| | | Lcd_DisplayDigit_23A(8 + i, 8); |
| | | Lcd_DisplayDigit_23A(9 + i, 8); |
| | | Lcd_DisplayDigit_23A(10 + i, 8); |
| | | Lcd_DisplayDigit_23A(11 + i, 8); |
| | | Lcd_DisplayDigit_23A(12 + i, 8); |
| | | Lcd_DisplayDigit_23A(13 + i, 8); |
| | | Lcd_DisplayDigit_23A(14 + i, 8); |
| | | Lcd_DisplayDigit_23A(15 + i, 8); |
| | | Lcd_DisplayDigit_23A(16 + i, 8); |
| | | Lcd_DisplayDigit_23A(17 + i, 8); |
| | | Lcd_DisplayDigit_23A(18 + i, 8); |
| | | // Lcd_DisplayDigit_23A(1 + i, 8); |
| | | // Lcd_DisplayDigit_23A(2 + i, 8); |
| | | // Lcd_DisplayDigit_23A(3 + i, 8); |
| | | // Lcd_DisplayDigit_23A(4 + i, 8); |
| | | // Lcd_DisplayDigit_23A(5 + i, 8); |
| | | // Lcd_DisplayDigit_23A(6 + i, 8); |
| | | // Lcd_DisplayDigit_23A(7 + i, 8); |
| | | // Lcd_DisplayDigit_23A(8 + i, 8); |
| | | // Lcd_DisplayDigit_23A(9 + i, 8); |
| | | // Lcd_DisplayDigit_23A(10 + i, 8); |
| | | // Lcd_DisplayDigit_23A(11 + i, 8); |
| | | // Lcd_DisplayDigit_23A(12 + i, 8); |
| | | // Lcd_DisplayDigit_23A(13 + i, 8); |
| | | // Lcd_DisplayDigit_23A(14 + i, 8); |
| | | // Lcd_DisplayDigit_23A(15 + i, 8); |
| | | // Lcd_DisplayDigit_23A(16 + i, 8); |
| | | // Lcd_DisplayDigit_23A(17 + i, 8); |
| | | // Lcd_DisplayDigit_23A(18 + i, 8); |
| | | LCD_ALL_DISPLAY; |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | void Lcd_Show_MenuProcess(void) |
| | | void Lcd_Show_MenuProcess(void)//? ÐèÒªÍêÉÆ |
| | | { |
| | | lcd_wake_up_flag_g = 0; |
| | | /*ʼÖÕÐèÒªµÄÏÔʾÄÚÈÝ£¨¹«Ë¾LOGO µç³ØµçÁ¿ ˮƽÏߣ©*/ |
| | | // if(__SYS_FUNC_CFG_BYTES_GET(logo_display_set) == 0) |
| | | // LCD_DISPLAY_SEG(_LCD_SIZHULOG_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_HORIZONTALLINE_1_23A); |
| | | // LCD_DISPLAY_SEG(_LCD_HORIZONTALLINE_2_23A); |
| | | // Lcd_Battery(pwr_vol_g.alka_vcc, pwr_vol_g.lith_vcc); |
| | | // lcd_wake_up_flag_g = RESET; |
| | | /*ʼÖÕÐèÒªµÄÏÔʾÄÚÈÝ£¨¹«Ë¾LOGO µç³ØµçÁ¿µÈµÈ£©*/ |
| | | if(__SYS_FUNC_CFG_BYTES_GET(no_show_logo) == RESET) |
| | | LCD_DISPLAY_SEG(_LCD_SIZHULOG_23A); |
| | | LCD_DISPLAY_SEG(_LCD_HORIZONTALLINE_1_23A); |
| | | LCD_DISPLAY_SEG(_LCD_HORIZONTALLINE_2_23A); |
| | | Lcd_Battery(pwr_vol_g); |
| | | if(__SYS_STATUS_BYTES_GET(power_state) == SET) |
| | | LCD_DISPLAY_SEG(_LCD_CHARGE_23A); |
| | | |
| | | // /*Ìõ¼þÅжϵÄÏÔʾÄÚÈÝ£¨·§¿Ø ±¨¾¯ Ô¶´« ÆøÌå½éÖÊ ÏÔʾģʽ ¼Æ·Ñģʽ ÄæÁ÷ ¿ª»§±êÖ¾ É豸/ºǫ́½áËãģʽ£©*/ |
| | | //// sys_admin_g.sys_admin.state_bytes.media_status = AIR; |
| | | // Lcd_MediumShow((MEDIA_STATUS)sys_admin_g.sys_admin.state_bytes.media_status); |
| | | // Lcd_BacksetShow(sys_admin_g.sys_admin.state_bytes.flow_direction); |
| | | // Lcd_ValveShow((VALVE_STATE_T)sys_admin_g.sys_admin.state_bytes.valve_state, op_cl_valve_cause_id, |
| | | // sys_admin_g.sys_admin.state_bytes.valve_lock); |
| | | // Lcd_WaringShow_New(alarm_list_cnt,calendar_g.Second); |
| | | //// Lcd_WarningShow(&sys_show_state_bytes_id_g, &sys_clear_state_bytes_id_g); |
| | | // Lcd_GprsShow(sys_admin_g.sys_admin.state_bytes.gprs_status, NB_OR_4G_FLAG, gprs_protocol_head_tail_g.gprs_protocol_normal_data_head.signal_intensity); |
| | | // Lcd_BillingShow(sys_admin_g.sys_admin.state_bytes.billing_type, 1, ladder_price_cfg_para_true_g.set_price_type_mode); |
| | | // Lcd_ModeFlagActiveShow(&sys_some_flag_g); |
| | | // if (sys_admin_g.sys_admin.state_bytes.account_state) |
| | | // LCD_DISPLAY_SEG(_LCD_ACCOUNT_23A); |
| | | Lcd_ValveShow(save_valve_para_g.valve_status, save_valve_para_g.valve_close_ID, save_valve_para_g.valve_lock_state); |
| | | Lcd_WrcShow(sys_fun_run_ctrl_g.wrc_ctrl_flag.running_flag,wrc_ctrl_para_g.wrc_result_flag,link_info_g.SIM_Type,link_info_g.net_signal_intensity); |
| | | |
| | | Lcd_WaringShow(alarm_list_cnt,sys_clockBCD_g.sec); |
| | | |
| | | Lcd_BillingShow(__SYS_FUNC_CFG_BYTES_GET(billing_type), save_realtime_data_g.realtime_billing_data_s.ladder_now); |
| | | |
| | | if (__SYS_STATUS_BYTES_GET(account_state)==SET) |
| | | LCD_DISPLAY_SEG(_LCD_ACCOUNT_23A); |
| | | |
| | | |
| | | // /*²»Í¬Ò³ÃæµÄÏÔʾÄÚÈÝ*/ |
| | |
| | | |
| | | void lcdDisplayPro(void) |
| | | { |
| | | if(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0) |
| | | static uint8_t only_trigger_once_flag = 0; |
| | | |
| | | lcd_wake_up_flag_g = RESET; |
| | | |
| | | if((__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0)||(__SYS_STATUS_BYTES_GET(lcd_mode) == LDM_ALWAYS_AWAKEN)||(__SYS_STATUS_BYTES_GET(power_state) == SET)) |
| | | { |
| | | if(LCD_PWR_IO_READ==Bit_RESET) |
| | | if(lcd_first_wake_up_flag_g == SET) |
| | | { |
| | | lcd_first_wake_up_flag_g = RESET; |
| | | //Ê×´ÎÉϵç³õʼ»¯ |
| | | Lcd_Sys_Init(); |
| | | }else |
| | |
| | | //Ö»¸üÐÂÏÔʾÄÚÈÝ |
| | | } |
| | | Lcd_Show_MenuProcess(); |
| | | only_trigger_once_flag =0; |
| | | |
| | | }else |
| | | { |
| | | Lcd_DeInit(); |
| | | |
| | | if(only_trigger_once_flag == 0){ |
| | | only_trigger_once_flag =1; |
| | | Lcd_DeInit(); |
| | | } |
| | | } |
| | | |
| | | } |