/* * 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 "lcd_cfg_api.h" #include "gpio.h" #include "sundry.h" #include "string.h" #include "power_manage.h" #include "billing.h" #include "master_slave_inter.h" #include "gprs.h" #include "low_pwr_test.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 = { .temp_sys_mode_flag = CNV_NONE, .sys_and_display_mode = (SYS_DISPLAY_MODE)SYS_MODE_DEFAULT, .display_page_status = { .normal_page_status = SC_INSTANT_TOTAL, .para_page_status = METER_NUM } }; /*ÓÃÓÚ¾¯¸æÏÔʾµÄ״̬×Öid*/ SYS_ALARM_VALVE_T sys_show_state_bytes_id_g = AV_NORMAL; SYS_ALARM_VALVE_T sys_clear_state_bytes_id_g = AV_NORMAL; // Çå³ý±¨¾¯ÏÔʾ /* 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) { I2c0_GPIO_Clk_Init(); LCD_PWR_ON; LCD_BACKLIGHT_SELECT(__SYS_STATUS_BYTES_GET(alka_low)); 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(SYS_DISPLAY_PAPA_T *sys_display_para_p, ErrorStatus_STM32 *pCnv_result_flag) { 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); /*Ìõ¼þÅжϵÄÏÔʾÄÚÈÝ£¨·§¿Ø ±¨¾¯ Ô¶´« ÆøÌå½éÖÊ ÏÔʾģʽ ¼Æ·Ñģʽ ÄæÁ÷ ¿ª»§±êÖ¾ É豸/ºǫ́½áËãģʽ£©*/ // 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); if (*pCnv_result_flag == ERROR_1) // ģʽÇл»´íÎó { Lcd_SuccErrPage(ERROR_1); ErrorShow_TxtendTimer_Clk_Init(); ETx_CR_CEN_Setable(ET1,ENABLE); if( ETx_ISR_OVIF_Chk(ET1)==SET) { ETx_ISR_OVIF_Clr(ET1); ETx_CR_CEN_Setable(ET1,DISABLE); *pCnv_result_flag = SUCCESS_0; } } else { /*²»Í¬Ò³ÃæµÄÏÔʾÄÚÈÝ*/ 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)); }