forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-05-29 6c7e61a54ef9b96f79704f0b965664e89f57dd52
Function/LCD/lcd.c
New file
@@ -0,0 +1,578 @@
/*
 * File      : lcd.c
 * This file is part of Sizhu Ultrasonic Gas-Meter
 * COPYRIGHT (C) 2022,Sizhu Ultrasonic Gas-Meter Development Team
 *
 * Brief     : This file displays a specific LCD.
 * http://www.ideacreated.com/
 *
 * Change Logs:
 * Date           Author            Notes
 * 2022-08-22     Sizhu_J1anG       the first version
 * 2022-08-30     Sizhu_Ye          targeted modification
 */
#include "lcd.h"
#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_DRIVE_MODE_18_13[1] = {2};    //   1/8duty  1/3bias   48pinµÄÖ»Ö§³Ö1/8duty£¬µØÖ·¼ÓÔØµ½33H
uint8_t LCD_DRIVE_MODE_18_14[1] = {3};    //   1/8duty  1/4bias
uint8_t LCD_SYSTEM_MODE_OFF_OFF[1] = {0}; //  ÄÚ²¿ÏµÍ³Õñµ´Æ÷OFF£¬LCDÏÔʾOFF
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;  //ΪÁ˰´¼üÏÔʾûÓÐÑÓ³Ù¸Ð
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_Write(LCD_DRIVE_MODE_COMMAND_ADDR,(uint8_t *)LCD_DRIVE_MODE_18_14,1);
  Lcd_Write(LCD_SYSTEM_MODE_COMMAND_ADDR, LCD_SYSTEM_MODE_ON_ON, 1);
}
void Lcd_DeInit(void)
{
//  LCD_ALL_DISPLAY;
  Lcd_Write(LCD_SYSTEM_MODE_COMMAND_ADDR, LCD_SYSTEM_MODE_OFF_OFF, 1);
//   LCD_BACKLIGHT_OFF;
  LCD_PWR_OFF;
}
/**************************************
Ãû³Æ£ºLcd_Sys_Init(void)
¹¦ÄÜ£ºLcd³õʼ»¯
ʱ¼ä£º220822
**************************************/
void Lcd_Sys_Init(void)
{
   Lcd_GPIO_Init();
  LCD_PWR_ON;
  delay_ms(1);
  // LCD_ALL_CLEAR;
  Lcd_Init();
//   lcd_wake_up_flag_g = 1;
}
/****************************************
Ãû³Æ£ºLcd_Display_AllTest(void)
¹¦ÄÜ£ºÈ«²¿µãÁÁ
ʱ¼ä£º220818
****************************************/
void Lcd_Display_AllTest(void)
{
   uint8_t i = 0;
#ifdef LCD_NEW
   i = 1;
   LCD_DISPLAY_SEG(_LCD_POINT27_23A);
  LCD_DISPLAY_SEG(_LCD_POINT28_23A);
  Lcd_DisplayDigit_23A(1, 8);
  Lcd_DisplayDigit_23A(20, 8);
   LCD_DISPLAY_SEG(_LCD_CHARGE_23A);
  LCD_DISPLAY_SEG(_LCD_BOOTTOOTH_23A);
#endif
   LCD_DISPLAY_SEG(_LCD_SIZHULOG_23A);
  LCD_DISPLAY_SEG(_LCD_BATTERY_SHELL_23A);
  LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A);
  LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A);
  LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A);
  LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A);
  LCD_DISPLAY_SEG(_LCD_METER_23A);
  LCD_DISPLAY_SEG(_LCD_SIGNAL_COMMUNICATION_23A);
  LCD_DISPLAY_SEG(_LCD_VALVE_M_23A);
  LCD_DISPLAY_SEG(_LCD_LOCK_23A);
  LCD_DISPLAY_SEG(_LCD_OPEN_23A);
  LCD_DISPLAY_SEG(_LCD_CLOSE_23A);
  LCD_DISPLAY_SEG(_LCD_WARNING_23A);
  LCD_DISPLAY_SEG(_LCD_WIFI_23A);
  LCD_DISPLAY_SEG(_LCD_4G_Flag_23A);
  LCD_DISPLAY_SEG(_LCD_4G_1_23A);
  LCD_DISPLAY_SEG(_LCD_4G_2_23A);
  LCD_DISPLAY_SEG(_LCD_4G_3_23A);
  LCD_DISPLAY_SEG(_LCD_4G_4_23A);
  LCD_DISPLAY_SEG(_LCD_4G_5_23A);
  LCD_DISPLAY_SEG(_LCD_LOOKUP_23A);
  LCD_DISPLAY_SEG(_LCD_T_23A);
  LCD_DISPLAY_SEG(_LCD_CONFIGURATION_23A);
  LCD_DISPLAY_SEG(_LCD_CHECK_23A);
  LCD_DISPLAY_SEG(_LCD_K_23A);
  LCD_DISPLAY_SEG(_LCD_BACKSET_23A);
  LCD_DISPLAY_SEG(_LCD_HORIZONTALLINE_1_23A);
  LCD_DISPLAY_SEG(_LCD_SINGLEBILL_23A);
  LCD_DISPLAY_SEG(_LCD_LADDERBILL_23A);
  LCD_DISPLAY_SEG(_LCD_HORIZONTALLINE_2_23A);
  LCD_DISPLAY_SEG(_LCD_WORK_CONDITION_23A);
  LCD_DISPLAY_SEG(_LCD_SURPLUSE_23A);
  LCD_DISPLAY_SEG(_LCD_STAND_CONDITION_23A);
  LCD_DISPLAY_SEG(_LCD_TOTAL_23A);
  LCD_DISPLAY_SEG(_LCD_X_23A);
  LCD_DISPLAY_SEG(_LCD_ACCOUNT_23A);
  LCD_DISPLAY_SEG(_LCD_BILLBACK_23A);
  LCD_DISPLAY_SEG(_LCD_LAST_23A);
  LCD_DISPLAY_SEG(_LCD_RECHARGE_23A);
  LCD_DISPLAY_SEG(_LCD_SETTLEMENT_23A);
  LCD_DISPLAY_SEG(_LCD_NOW_23A);
  LCD_DISPLAY_SEG(_LCD_LADDER_23A);
  LCD_DISPLAY_SEG(_LCD_UNIT_PRICE_23A);
  LCD_DISPLAY_SEG(_LCD_N_1_23A);
  LCD_DISPLAY_SEG(_LCD_M3_1_23A);
  LCD_DISPLAY_SEG(_LCD_YUAN_1_23A);
  LCD_DISPLAY_SEG(_LCD_kPa_23A);
  LCD_DISPLAY_SEG(_LCD_oC_23A);
  LCD_DISPLAY_SEG(_LCD_L_pul_23A);
  LCD_DISPLAY_SEG(_LCD_N_2_23A);
  LCD_DISPLAY_SEG(_LCD_M3_2_23A);
  LCD_DISPLAY_SEG(_LCD_h_23A);
  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_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;
}
/****************************************
Ãû³Æ£ºLcd_Clear_AllTest(void)
¹¦ÄÜ£ºÈ«²¿Ï¨Ãð
ʱ¼ä£º220818
****************************************/
void Lcd_Clear_AllTest(void)
{
  memset(LCD_Buffer, 0, sizeof(LCD_Buffer));
  LCD_ALL_DISPLAY;
}
/****************************************
Ãû³Æ£ºLcd_Show_Loop(void)
¹¦ÄÜ£ºÑ­»·µãÁÁ
µ±ÐèÏÔʾµÄÊý×ÖΪżÊýʱ£¬ÆäÓàÈ«µãÁÁ£»µ±ÐèÏÔʾµÄÊý×ÖÎªÆæÊýʱ£¬ÆäÓàȫϨÃð
ʱ¼ä£º220818
****************************************/
void Lcd_Show_Loop(void)
{
  for (int i = 0; i <= 9; i++)
  {
    for (int n = 1; n <= 18; n++)
    {
      Lcd_DisplayDigit_23A(n, i);
    }
    if (i % 2 == 0)
    {
      LCD_DISPLAY_SEG(_LCD_SIZHULOG_23A);
      LCD_DISPLAY_SEG(_LCD_BATTERY_SHELL_23A);
      LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A);
      LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A);
      LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A);
      LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A);
      LCD_DISPLAY_SEG(_LCD_METER_23A);
      LCD_DISPLAY_SEG(_LCD_SIGNAL_COMMUNICATION_23A);
      LCD_DISPLAY_SEG(_LCD_VALVE_M_23A);
      LCD_DISPLAY_SEG(_LCD_LOCK_23A);
      LCD_DISPLAY_SEG(_LCD_OPEN_23A);
      LCD_DISPLAY_SEG(_LCD_CLOSE_23A);
      LCD_DISPLAY_SEG(_LCD_WARNING_23A);
      LCD_DISPLAY_SEG(_LCD_WIFI_23A);
      LCD_DISPLAY_SEG(_LCD_4G_Flag_23A);
      LCD_DISPLAY_SEG(_LCD_4G_1_23A);
      LCD_DISPLAY_SEG(_LCD_4G_2_23A);
      LCD_DISPLAY_SEG(_LCD_4G_3_23A);
      LCD_DISPLAY_SEG(_LCD_4G_4_23A);
      LCD_DISPLAY_SEG(_LCD_4G_5_23A);
      LCD_DISPLAY_SEG(_LCD_LOOKUP_23A);
      LCD_DISPLAY_SEG(_LCD_T_23A);
      LCD_DISPLAY_SEG(_LCD_CONFIGURATION_23A);
      LCD_DISPLAY_SEG(_LCD_CHECK_23A);
      LCD_DISPLAY_SEG(_LCD_K_23A);
      LCD_DISPLAY_SEG(_LCD_BACKSET_23A);
      LCD_DISPLAY_SEG(_LCD_HORIZONTALLINE_1_23A);
      LCD_DISPLAY_SEG(_LCD_SINGLEBILL_23A);
      LCD_DISPLAY_SEG(_LCD_LADDERBILL_23A);
      LCD_DISPLAY_SEG(_LCD_HORIZONTALLINE_2_23A);
      LCD_DISPLAY_SEG(_LCD_WORK_CONDITION_23A);
      LCD_DISPLAY_SEG(_LCD_SURPLUSE_23A);
      LCD_DISPLAY_SEG(_LCD_STAND_CONDITION_23A);
      LCD_DISPLAY_SEG(_LCD_TOTAL_23A);
      LCD_DISPLAY_SEG(_LCD_X_23A);
      LCD_DISPLAY_SEG(_LCD_ACCOUNT_23A);
      LCD_DISPLAY_SEG(_LCD_BILLBACK_23A);
      LCD_DISPLAY_SEG(_LCD_LAST_23A);
      LCD_DISPLAY_SEG(_LCD_RECHARGE_23A);
      LCD_DISPLAY_SEG(_LCD_SETTLEMENT_23A);
      LCD_DISPLAY_SEG(_LCD_NOW_23A);
      LCD_DISPLAY_SEG(_LCD_LADDER_23A);
      LCD_DISPLAY_SEG(_LCD_UNIT_PRICE_23A);
      LCD_DISPLAY_SEG(_LCD_N_1_23A);
      LCD_DISPLAY_SEG(_LCD_M3_1_23A);
      LCD_DISPLAY_SEG(_LCD_YUAN_1_23A);
      LCD_DISPLAY_SEG(_LCD_kPa_23A);
      LCD_DISPLAY_SEG(_LCD_oC_23A);
      LCD_DISPLAY_SEG(_LCD_L_pul_23A);
      LCD_DISPLAY_SEG(_LCD_N_2_23A);
      LCD_DISPLAY_SEG(_LCD_M3_2_23A);
      LCD_DISPLAY_SEG(_LCD_h_23A);
      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);
    }
    else if (i % 2 == 1)
    {
      LCD_CLEAR_SEG(_LCD_SIZHULOG_23A);
      LCD_CLEAR_SEG(_LCD_BATTERY_SHELL_23A);
      LCD_CLEAR_SEG(_LCD_BATTERY_1_23A);
      LCD_CLEAR_SEG(_LCD_BATTERY_2_23A);
      LCD_CLEAR_SEG(_LCD_BATTERY_3_23A);
      LCD_CLEAR_SEG(_LCD_BATTERY_4_23A);
      LCD_CLEAR_SEG(_LCD_METER_23A);
      LCD_CLEAR_SEG(_LCD_SIGNAL_COMMUNICATION_23A);
      LCD_CLEAR_SEG(_LCD_VALVE_M_23A);
      LCD_CLEAR_SEG(_LCD_LOCK_23A);
      LCD_CLEAR_SEG(_LCD_OPEN_23A);
      LCD_CLEAR_SEG(_LCD_CLOSE_23A);
      LCD_CLEAR_SEG(_LCD_WARNING_23A);
      LCD_CLEAR_SEG(_LCD_WIFI_23A);
      LCD_CLEAR_SEG(_LCD_4G_Flag_23A);
      LCD_CLEAR_SEG(_LCD_4G_1_23A);
      LCD_CLEAR_SEG(_LCD_4G_2_23A);
      LCD_CLEAR_SEG(_LCD_4G_3_23A);
      LCD_CLEAR_SEG(_LCD_4G_4_23A);
      LCD_CLEAR_SEG(_LCD_4G_5_23A);
      LCD_CLEAR_SEG(_LCD_LOOKUP_23A);
      LCD_CLEAR_SEG(_LCD_T_23A);
      LCD_CLEAR_SEG(_LCD_CONFIGURATION_23A);
      LCD_CLEAR_SEG(_LCD_CHECK_23A);
      LCD_CLEAR_SEG(_LCD_K_23A);
      LCD_CLEAR_SEG(_LCD_BACKSET_23A);
      LCD_CLEAR_SEG(_LCD_HORIZONTALLINE_1_23A);
      LCD_CLEAR_SEG(_LCD_SINGLEBILL_23A);
      LCD_CLEAR_SEG(_LCD_LADDERBILL_23A);
      LCD_CLEAR_SEG(_LCD_HORIZONTALLINE_2_23A);
      LCD_CLEAR_SEG(_LCD_WORK_CONDITION_23A);
      LCD_CLEAR_SEG(_LCD_SURPLUSE_23A);
      LCD_CLEAR_SEG(_LCD_STAND_CONDITION_23A);
      LCD_CLEAR_SEG(_LCD_TOTAL_23A);
      LCD_CLEAR_SEG(_LCD_X_23A);
      LCD_CLEAR_SEG(_LCD_ACCOUNT_23A);
      LCD_CLEAR_SEG(_LCD_BILLBACK_23A);
      LCD_CLEAR_SEG(_LCD_LAST_23A);
      LCD_CLEAR_SEG(_LCD_RECHARGE_23A);
      LCD_CLEAR_SEG(_LCD_SETTLEMENT_23A);
      LCD_CLEAR_SEG(_LCD_NOW_23A);
      LCD_CLEAR_SEG(_LCD_LADDER_23A);
      LCD_CLEAR_SEG(_LCD_UNIT_PRICE_23A);
      LCD_CLEAR_SEG(_LCD_N_1_23A);
      LCD_CLEAR_SEG(_LCD_M3_1_23A);
      LCD_CLEAR_SEG(_LCD_YUAN_1_23A);
      LCD_CLEAR_SEG(_LCD_kPa_23A);
      LCD_CLEAR_SEG(_LCD_oC_23A);
      LCD_CLEAR_SEG(_LCD_L_pul_23A);
      LCD_CLEAR_SEG(_LCD_N_2_23A);
      LCD_CLEAR_SEG(_LCD_M3_2_23A);
      LCD_CLEAR_SEG(_LCD_h_23A);
      LCD_CLEAR_SEG(_LCD_YUAN_2_23A);
      LCD_CLEAR_SEG(_LCD_YUAN_M3_23A);
      LCD_CLEAR_SEG(_LCD_POINT1_23A);
      LCD_CLEAR_SEG(_LCD_POINT2_23A);
      LCD_CLEAR_SEG(_LCD_POINT3_23A);
      LCD_CLEAR_SEG(_LCD_POINT4_23A);
      LCD_CLEAR_SEG(_LCD_POINT5_23A);
      LCD_CLEAR_SEG(_LCD_POINT6_23A);
      LCD_CLEAR_SEG(_LCD_POINT7_23A);
      LCD_CLEAR_SEG(_LCD_POINT8_23A);
      LCD_CLEAR_SEG(_LCD_POINT9_23A);
      LCD_CLEAR_SEG(_LCD_POINT10_23A);
      LCD_CLEAR_SEG(_LCD_POINT11_23A);
      LCD_CLEAR_SEG(_LCD_POINT12_23A);
      LCD_CLEAR_SEG(_LCD_POINT13_23A);
      LCD_CLEAR_SEG(_LCD_POINT14_23A);
      LCD_CLEAR_SEG(_LCD_POINT15_23A);
      LCD_CLEAR_SEG(_LCD_POINT16_23A);
      LCD_CLEAR_SEG(_LCD_POINT17_23A);
      LCD_CLEAR_SEG(_LCD_POINT18_23A);
      LCD_CLEAR_SEG(_LCD_POINT19_23A);
      LCD_CLEAR_SEG(_LCD_POINT20_23A);
      LCD_CLEAR_SEG(_LCD_POINT21_23A);
      LCD_CLEAR_SEG(_LCD_POINT22_23A);
      LCD_CLEAR_SEG(_LCD_POINT23_23A);
      LCD_CLEAR_SEG(_LCD_POINT24_23A);
      LCD_CLEAR_SEG(_LCD_POINT25_23A);
      LCD_CLEAR_SEG(_LCD_POINT26_23A);
    }
    LCD_ALL_DISPLAY;
    delay_ms(5 * 1000);
  }
}
void Lcd_Show_MenuProcess(void)//? ÐèÒªÍêÉÆ
{
//  lcd_wake_up_flag_g = 0;
   /*ʼÖÕÐèÒªµÄÏÔʾÄÚÈÝ£¨¹«Ë¾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_ValveShow(valve_ctrl_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);
//   /*²»Í¬Ò³ÃæµÄÏÔʾÄÚÈÝ*/
//   if (sys_display_para_p->sys_and_display_mode == NORMAL_MODE)
//   {
//      if(sys_display_para_p->display_page_status.normal_page_status == PRICE_BALANCE &&
//            __SYS_FUNC_CFG_BYTES_GET(balance_display_set) == 1 && __SYS_FUNC_CFG_BYTES_GET(price_display_set) == 1)
//         sys_display_para_p->display_page_status.normal_page_status++;
//      switch (sys_display_para_p->display_page_status.normal_page_status) // Õý³£ÏÔÊ¾Ò³Ãæ
//      {
//      case SC_INSTANT_TOTAL:
//         Lcd_NormalPage_1(sys_realtime_data_g.measure_para_s.instant_sc, sys_realtime_data_g.measure_para_s.forward_cumulate_sc);
//         break;
//      case PRICE_BALANCE:
//         Lcd_NormalPage_2(billing_real_para_g.price_now * 0.0001f, billing_real_para_g.balance_now, ladder_price_cfg_para_true_g.set_price_type_mode);
//         break;
//      case TEMP_SC_TOTAL:
//         Lcd_NormalPage_3(sys_realtime_data_g.measure_para_s.temperature, sys_realtime_data_g.measure_para_s.forward_cumulate_sc);
//         break;
//      case PRESS_SC_TOTAL:
//         Lcd_NormalPage_4(sys_realtime_data_g.measure_para_s.pressure, sys_realtime_data_g.measure_para_s.forward_cumulate_sc);
//         break;
////         case WC_INSTANT_TOTAL:
////            Lcd_NormalPage_5(sys_realtime_data_g.measure_para_s.instant_wc, sys_realtime_data_g.measure_para_s.forward_cumulate_wc);
////            break;
//      default:
//         break;
//      }
//   }
//   else if (sys_display_para_p->sys_and_display_mode == DISPLAY_PARA)
//   {
//      LCD_DISPLAY_SEG(_LCD_LOOKUP_23A);                                 // ²éÕÒͼ±ê
//      switch (sys_display_para_p->display_page_status.para_page_status) // ²ÎÊýÏÔÊ¾Ò³Ãæ
//      {
//      case METER_NUM:
//         Lcd_ParaPage_MeterNum(master_basic_papa_g.factory_number);
//         break;
//      case OTHER_METER_NUM:
//         Lcd_ParaPage_ThirdParty_MeterNum(0,NULL);
//         break;
//      case DATE_TIME:
//         Lcd_Show_time(Bcd_2_Hex(calendar_g.Year), Bcd_2_Hex(calendar_g.Month), Bcd_2_Hex(calendar_g.Date),
//                              Bcd_2_Hex(calendar_g.Hour), Bcd_2_Hex(calendar_g.Minute), Bcd_2_Hex(calendar_g.Second));
//         break;
//      case IP_PORT:
//         Lcd_ParaPage_IpPort(gprs_network_cfg_para_g.gprs_ip_1, &gprs_network_cfg_para_g.gprs_port_1);
//         break;
//      case OTHER_IP_PORT:
//         Lcd_ParaPage_ThirdParty_IpPort(0,gprs_network_cfg_para_g.gprs_ip_1, &gprs_network_cfg_para_g.gprs_port_1);
//         break;
//      case SW_VER:
//         Lcd_ParaPage_SoftVer(master_soft_hard_para_g.master_firmware_ver);
//         break;
//      case HW_VER:
//         Lcd_ParaPage_HardVer(master_soft_hard_para_g.master_hardware_ver);
//         break;
//    case SOUND_VEL:
//         Lcd_ParaPage_SoundVel(sys_realtime_data_g.state_para_s.sound_vel);
//          break;
//      case SEC_CORR_NOW:
//         Lcd_SecCorr_FixedShow(SEC_CORR_NOW);
//         break;
//      case SEC_CORR_NOW_PARA_1:
//         Lcd_SecCorr_ParaShow(SEC_CORR_NOW_PARA_1,&sec_order_corr_set_g);
//         break;
//      case SEC_CORR_NOW_PARA_2:
//         Lcd_SecCorr_ParaShow(SEC_CORR_NOW_PARA_2,&sec_order_corr_set_g);
//         break;
//      case SEC_CORR_NOW_PARA_3:
//         Lcd_SecCorr_ParaShow(SEC_CORR_NOW_PARA_3,&sec_order_corr_set_g);
//         break;
//      case SEC_CORR_NOW_PARA_4:
//         Lcd_SecCorr_ParaShow(SEC_CORR_NOW_PARA_4,&sec_order_corr_set_g);
//         break;
//      case SEC_CORR_NOW_PARA_5:
//         Lcd_SecCorr_ParaShow(SEC_CORR_NOW_PARA_5,&sec_order_corr_set_g);
//         break;
//      case SEC_CORR_OLD:
//         Lcd_SecCorr_FixedShow(SEC_CORR_OLD);
//         break;
//      case SEC_CORR_OLD_PARA_1:
//         Lcd_SecCorr_ParaShow(SEC_CORR_OLD_PARA_1,&sec_order_corr_set_g);
//         break;
//      case SEC_CORR_OLD_PARA_2:
//         Lcd_SecCorr_ParaShow(SEC_CORR_OLD_PARA_2,&sec_order_corr_set_g);
//         break;
//      case SEC_CORR_OLD_PARA_3:
//         Lcd_SecCorr_ParaShow(SEC_CORR_OLD_PARA_3,&sec_order_corr_set_g);
//         break;
//      case SEC_CORR_OLD_PARA_4:
//         Lcd_SecCorr_ParaShow(SEC_CORR_OLD_PARA_4,&sec_order_corr_set_g);
//         break;
//      case SEC_CORR_OLD_PARA_5:
//         Lcd_SecCorr_ParaShow(SEC_CORR_OLD_PARA_5,&sec_order_corr_set_g);
//         break;
//      default:
//         break;
//      }
//   }
//   else if (sys_display_para_p->sys_and_display_mode == CALIB_MODE)
//   {
//      LCD_DISPLAY_SEG(_LCD_CHECK_23A); // ¼ì¶¨Í¼±ê
//      Lcd_CalibPage(cal_display_exit_data_g, sys_realtime_data_g.measure_para_s.cal_cumulate_reserve[1]);
//   }
//   else if (sys_display_para_p->sys_and_display_mode == SET_PARA_MODE)
//   {
//      LCD_DISPLAY_SEG(_LCD_CONFIGURATION_23A); // ÉèÖÃͼ±ê
//      Lcd_SuccErrPage(SUCCESS_0);
//   }
   /*È«²¿Êä³öÏÔʾ*/
   LCD_ALL_DISPLAY;
   /*Çå³ýÏÔʾÊý×é,ÓÃÓÚÏÂÒ»´ÎÌî³ä*/
   memset(LCD_Buffer, 0, sizeof(LCD_Buffer));
}
void lcdDisplayPro(void)
{
   static uint8_t only_trigger_once_flag = 0;
   lcd_wake_up_flag_g = 0;
   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)
      {
         //Ê×´ÎÉϵç³õʼ»¯
         Lcd_Sys_Init();
      }else
      {
         //Ö»¸üÐÂÏÔʾÄÚÈÝ
      }
      Lcd_Show_MenuProcess();
      only_trigger_once_flag =0;
   }else
   {
      if(only_trigger_once_flag == 0){
         only_trigger_once_flag =1;
         Lcd_DeInit();
      }
   }
}