| New file |
| | |
| | | /* |
| | | * 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 |
| | | |
| | | 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_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 = 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); |
| | | |
| | | 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); |
| | | |
| | | |
| | | // /*²»Í¬Ò³ÃæµÄÏÔʾÄÚÈÝ*/ |
| | | // 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 = 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_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 |
| | | { |
| | | |
| | | if(only_trigger_once_flag == 0){ |
| | | only_trigger_once_flag =1; |
| | | Lcd_DeInit(); |
| | | } |
| | | } |
| | | |
| | | } |