#ifndef __LCD_H #define __LCD_H #include "stm32f10x.h" #include "delay.h" /*****************?????*******************/ // #define BK_FORWARD_MENU 0 //±ê¿ö // #define BK_BACKWARD_MENU 1 //±ê¿ö // #define BK_CALIBRATION_MENU 2 //±ê¿ö // #define BK_ERROR_MENU 3 //±ê¿ö // #define GK_FORWARD_MENU 4 //¹¤¿ö // #define GK_BACKWARD_MENU 5 //¹¤¿ö // #define GK_CALIBRATION_MENU 6 //¹¤¿ö // #define GK_ERROR_MENU 7 //¹¤¿ö /***************¼æÈÝ073ÖØ¶¨ÒåÏÔʾ*********/ //#define BK_FORWARD_MENU 0 //ÕýÏò±ê¿ö //#define GK_FORWARD_MENU 1 //ÕýÏò¹¤¿ö //#define BK_BACKWARD_MENU 2 //·´Ïò±ê¿ö //#define GK_BACKWARD_MENU 3 //·´Ïò¹¤¿ö //#define BK_CALIBRATION_MENU 4 //¼ì¶¨±ê¿ö //#define GK_CALIBRATION_MENU 5 //¼ì¶¨¹¤¿ö //#define BK_FORWARD_ERROR_MENU 6 //ÕýÏò´íÎó±ê¿ö //´íÎóÁ÷Á¿²»ÔÚÒº¾§ÉÏÏÔʾ //#define GK_FORWARD_ERROR_MENU 7 //ÕýÏò´íÎ󹤿ö //#define BK_BACKWARD_ERROR_MENU 8 //·´Ïò´íÎó±ê¿ö //#define GK_BACKWARD_ERROR_MENU 9 //·´Ïò´íÎ󹤿ö /***************ÖØ¶¨ÒåÏÔʾ*********/ //Õý³£Ä£Ê½ #define BK_SH_MENU 0 //Óà¶î+µ¥¼Û #define YE_DJ_MENU 1 //ÕýÏò±ê¿ö+ÕýÏò˲ʱ #define BK_WD_MENU 2 //ÕýÏò±ê¿ö+ÕýÏò˲ʱ #define BK_YL_MENU 3 //ÕýÏò±ê¿ö+ÕýÏò˲ʱ #define GK_SH_MENU 4 //ÕýÏò±ê¿ö+ÕýÏò˲ʱ //²éѯģʽ #define SV_HV_MENU 0 //Óà¶î+µ¥¼Û #define DT_TM_MENU 1 //ÈÕÆÚ+ʱ¼ä #define IP_MENU_SZ 2 //IP+¶Ë¿Ú #define PT_MENU_SZ 3 #define BH_MENU_SZ 4 #define IP_MENU_THR 5 //IP+¶Ë¿Ú #define PT_MENU_THR 6 #define BH_MENU_THR 7 #define BPS_AD_MENU 8 #define POINT_1 1 #define POINT_2 2 #define POINT_3 3 #define FIRST_LINE_DIGIT_POSIGITION 5 #define FIRST_LINE_DIGIT_NUM 9 #define SECOND_LINE_DIGIT_POSIGITION 14 #define SECOND_LINE_DIGIT_NUM 7 #define LCD_BUFFER_LENGTH 35 #define LCD_ADDR_READ 0x7D #define LCD_ADDR_WRITE 0x7C #define LCD_WRITE_MODE 0xF0 #define LCD_READ_MODE 0xF0 /**/ #define LCD_ADDR_CONTROL1 0xE0 #define LCD_ADDR_CONTROL2 0xF0 #define LCD_SDA_PIN_NUM GPIO_Pin_8 // P3.1 IIC SDA ÐźŠ#define LCD_SDA_PIN_GROUP GPIOB #define LCD_CLK_PIN_NUM GPIO_Pin_9 // P3.2 IIC SCA ÐźŠ#define LCD_CLK_PIN_GROUP GPIOB //IO·½ÏòÉèÖà #define LCD_SDA_IN() {GPIOB->CRH&=0XFFFFFFF0;GPIOB->CRH|=8;} #define LCD_SDA_OUT() {GPIOB->CRH&=0XFFFFFFF0;GPIOB->CRH|=3;} #define LCD_IIC_SCL PBout(9) //SCL #define LCD_IIC_SDA PBout(8) //SDA #define LCD_READ_SDA PBin(8) #define LCD_REG_DATA_ADDR 0x80 #define LCD_DRIVE_MODE_COMMAND_ADDR 0x82 #define LCD_DRIVE_MODE_14_13 0x00 // 1/4duty 1/3bias #define LCD_DRIVE_MODE_14_14 0x01 // 1/4duty 1/4bias #define LCD_DRIVE_MODE_18_13 0x02 // 1/8duty 1/3bias 48pinµÄÖ»Ö§³Ö1/8duty£¬µØÖ·¼ÓÔØµ½33H #define LCD_DRIVE_MODE_18_14 0x03 // 1/8duty 1/4bias #define LCD_SYSTEM_MODE_COMMAND_ADDR 0x84 #define LCD_ON_LIGHT_UP LCD_SYSTEM_MODE_ON_ON //#define LCD_OFF LCD_SYSTEM_MODE_OFF_OFF #define LCD_SYSTEM_MODE_OFF_OFF 0x00 // ÄÚ²¿ÏµÍ³Õñµ´Æ÷OFF£¬LCDÏÔʾOFF #define LCD_SYSTEM_MODE_ON_OFF 0x02 // ÄÚ²¿ÏµÍ³Õñµ´Æ÷ON£¬LCDÏÔʾOFF #define LCD_SYSTEM_MODE_ON_ON 0x03 // ÄÚ²¿ÏµÍ³Õñµ´Æ÷ON£¬LCDÏÔʾON #define LCD_FRAME_RATE_COMMAND_ADDR 0x86 #define LCD_FRAME_RATE_80 0x00 //Ö¡ÂÊ80 #define LCD_FRAME_RATE_160 0x01 //Ö¡ÂÊ160 #define LCD_FLICKER_COMMAND_ADDR 0x88 #define LCD_FLICKER_OFF 0x00 // ÉÁ˸¹Ø±Õ #define LCD_FLICKER_2HZ 0x01 // ÉÁ˸2HZ #define LCD_FLICKER_1HZ 0x02 // ÉÁ˸1HZ #define LCD_FLICKER_05HZ 0x03 // ÉÁ˸0.5HZ void LCD_Write(u8 sadd,u8 *buf,u8 len); void LCD_Write_reg(u8 sadd,u8 *buf,u8 len); void LCD_Read(u8 sadd, u8 *buf, u8 len); extern u8 LCD_Buffer[LCD_BUFFER_LENGTH]; void LCD_READ_REG(u8 *reg_value,u8 address,u8 reg_num); void LCD_GPIO_init(void); void LCD_driver_init(void); void LCD_Display(u8 *RAM); void LCD_Clear(void); void LCD_buf_Clear(void); void LCD_DisplaySeg(u16 SegNum); void LCD_ClearSeg(u16 SegNum); void LCD_DisplayDigit(unsigned char Position,unsigned char Digit); void LCD_ClearDigit(unsigned char Position); void LCD_DisplayNum(u8 line,double number,u8 integer_len,u8 flag); void LCD_DisplaySignal(u8 signal); void LCD_DisplayString(unsigned char *string); void LCD_ClearSignal(u8 signal); void LCD_DisplayTime(void); void LCD_DisplayYearTime(void); void LCD_DisplayDefault(void); //Õý³£Ä£Ê½ void LCD_Display_Normal_Mode(u8 showtype); //²éѯģʽ void LCD_Display_Look_Mode(u8 showtype); //¶ÎÂëÐòºÅºê¶¨Òå void LCD_DisplayAll(void); //×ÖÂë¶ÎÊÇ·Ö³ÉÁ½²ãµÄ #define LCD_CS_LOW GPIO_ResetBits(GPIOE, GPIO_Pin_1) #define LCD_CS_HIGH GPIO_SetBits(GPIOE, GPIO_Pin_1) #define LCD_RD_LOW GPIO_ResetBits(GPIOE, GPIO_Pin_0) #define LCD_RD_HIGH GPIO_SetBits(GPIOE, GPIO_Pin_0) #define LCD_WR_LOW GPIO_ResetBits(GPIOB, GPIO_Pin_9) #define LCD_WR_HIGH GPIO_SetBits(GPIOB, GPIO_Pin_9) #define LCD_DATA_LOW GPIO_ResetBits(GPIOB, GPIO_Pin_8) #define LCD_DATA_HIGH GPIO_SetBits(GPIOB, GPIO_Pin_8) #define Read_data PBin(8) //-----Ht1622ÃüÁîºê¶¨Òå----- #define LCD_COMMAND 0x04 //100 #define LCD_WriteModeID 0x05 //101 #define LCD_ReadModeID 0x06 //110 #define LCD_INIT 0xff //¿ªÆôLCDÇý¶¯+1/3bias+4coms #define LCD_ON 0x03 //¿ªÆôƫѹ #define LCD_OSC 0x01 //¿ªÆôÄÚ²¿Õñµ´Æ÷ #define LCDSDA_IN() {GPIOB->CRH&=0XFFFFFFF0;GPIOB->CRH|=8;} #define LCDSDA_OUT() {GPIOB->CRH&=0XFFFFFFF0;GPIOB->CRH|=3;} #define _LCD_BELOW_ZERO_SY 0 #define _LCD_ZONGLIANG_SY 4 //-----Ht1623ÃüÁîºê¶¨Òå--- /************************************************** * S1-S54 **************************************************/ #define _LCD_SIZHULOG_23A 276 //1 #define _LCD_BATTERY_4_23A 278 //3 #define _LCD_BATTERY_3_23A 279 //4 #define _LCD_BATTERY_2_23A 271 //5 #define _LCD_BATTERY_1_23A 270 //6 #define _LCD_BATTERY_SHELL_23A 277 //2 #define _LCD_METER_23A 269 //7 #define _LCD_SIGNAL_COMMUNICATION_23A 268 #define _LCD_VALVE_M_23A 5 #define _LCD_LOCK_23A 6 #define _LCD_OPEN_23A 7 #define _LCD_CLOSE_23A 4 //12 //#define _LCD_HORIZONTALLINE_1_23A 65 //27 //#define _LCD_SINGLEBILL_23A 64 //#define _LCD_LADDERBILL_23A 60 //#define _LCD_HORIZONTALLINE_2_23A 68 //30 //#define _LCD_WORK_CONDITION_23A 76 //31 //#define _LCD_SURPLUSE_23A 67 //#define _LCD_STAND_CONDITION_23A 2 //#define _LCD_TOTAL_23A 3 //34 //#define _LCD_X_23A 1 //#define _LCD_ACCOUNT_23A 0 //#define _LCD_BILLBACK_23A 275 //#define _LCD_LAST_23A 274 //38 //#define _LCD_RECHARGE_23A 273 //#define _LCD_SETTLEMENT_23A 266 //#define _LCD_NOW_23A 267 //41 //#define _LCD_LADDER_23A 260 //#define _LCD_UNIT_PRICE_23A 272 //#define _LCD_N_1_23A 265 //44 //#define _LCD_M3_1_23A 264 //#define _LCD_YUAN_1_23A 139 //#define _LCD_kPa_23A 130 //#define _LCD_oC_23A 131 //#define _LCD_L_pul_23A 140 //#define _LCD_N_2_23A 129//50 //#define _LCD_M3_2_23A 128 //#define _LCD_h_23A 142 //#define _LCD_YUAN_2_23A 135 //#define _LCD_YUAN_M3_23A 134//54 #define _LCD_WIFI_23A 63 //13 #define _LCD_4G_Flag_23A 71 #define _LCD_4G_1_23A 70 #define _LCD_4G_2_23A 69 #define _LCD_4G_3_23A 77 #define _LCD_4G_4_23A 78 #define _LCD_4G_5_23A 79 #define _LCD_WARNING_23A 87 //20 #define _LCD_CONFIGURATION_23A 74 //21 #define _LCD_T_23A 73 #define _LCD_CHARGE_23A 72 //23 Ôö #define _LCD_LOOKUP_23A 80 #define _LCD_BACKSET_23A 75 #define _LCD_K_23A 66 //26 #define _LCD_BOOTTOOTH_23A 65 //27 Ôö #define _LCD_CHECK_23A 64//28 #define _LCD_HORIZONTALLINE_1_23A 60 //29 #define _LCD_SINGLEBILL_23A 68 #define _LCD_LADDERBILL_23A 76 #define _LCD_HORIZONTALLINE_2_23A 67 #define _LCD_WORK_CONDITION_23A 2 //33 #define _LCD_SURPLUSE_23A 3 #define _LCD_STAND_CONDITION_23A 1 #define _LCD_TOTAL_23A 0 #define _LCD_X_23A 275 #define _LCD_ACCOUNT_23A 274 //38 #define _LCD_BILLBACK_23A 273 #define _LCD_LAST_23A 266 #define _LCD_RECHARGE_23A 267 //41 #define _LCD_SETTLEMENT_23A 260 #define _LCD_NOW_23A 272 #define _LCD_LADDER_23A 265 //44 #define _LCD_UNIT_PRICE_23A 264 #define _LCD_N_1_23A 139 //46 #define _LCD_M3_1_23A 130 #define _LCD_YUAN_1_23A 131 #define _LCD_kPa_23A 140 //49 #define _LCD_oC_23A 129//50 #define _LCD_L_pul_23A 128 #define _LCD_N_2_23A 142 #define _LCD_M3_2_23A 135 #define _LCD_h_23A 134//54 #define _LCD_YUAN_2_23A 133//55 #define _LCD_YUAN_M3_23A 132//56 /******************************************************** * ðºÅ ********************************************************/ #define _LCD_POINT1_23A 19 #define _LCD_POINT2_23A 24 #define _LCD_POINT3_23A 258 #define _LCD_POINT4_23A 256 #define _LCD_POINT5_23A 242 #define _LCD_POINT6_23A 240 #define _LCD_POINT7_23A 227 #define _LCD_POINT8_23A 224 #define _LCD_POINT9_23A 211 #define _LCD_POINT10_23A 200 #define _LCD_POINT11_23A 186 #define _LCD_POINT12_23A 184 #define _LCD_POINT13_23A 170 #define _LCD_POINT14_23A 168 #define _LCD_POINT15_23A 155 #define _LCD_POINT16_23A 152 #define _LCD_POINT17_23A 245 #define _LCD_POINT18_23A 247 #define _LCD_POINT19_23A 229 #define _LCD_POINT20_23A 231 #define _LCD_POINT21_23A 212 #define _LCD_POINT22_23A 215 #define _LCD_POINT23_23A 196 #define _LCD_POINT24_23A 191 #define _LCD_POINT25_23A 173 #define _LCD_POINT26_23A 175 #define _LCD_POINT27_23A 157 #define _LCD_POINT28_23A 159 /******************************************************* Êý×Ö *******************************************************/ #define _LCD_1A_23A 15 #define _LCD_1B_23A 23 #define _LCD_1C_23A 21 #define _LCD_1D_23A 12 #define _LCD_1E_23A 13 #define _LCD_1F_23A 14 #define _LCD_1G_23A 22 #define _LCD_2A_23A 31 #define _LCD_2B_23A 62 #define _LCD_2C_23A 61 #define _LCD_2D_23A 28 #define _LCD_2E_23A 20 #define _LCD_2F_23A 30 #define _LCD_2G_23A 29 #define _LCD_3A_23A 95 #define _LCD_3B_23A 94 #define _LCD_3C_23A 93 #define _LCD_3D_23A 92 #define _LCD_3E_23A 84 #define _LCD_3F_23A 86 #define _LCD_3G_23A 85 #define _LCD_4A_23A 88 #define _LCD_4B_23A 81 #define _LCD_4C_23A 83 #define _LCD_4D_23A 91 #define _LCD_4E_23A 90 #define _LCD_4F_23A 89 #define _LCD_4G_23A 82 #define _LCD_5A_23A 11 #define _LCD_5B_23A 18 #define _LCD_5C_23A 16 #define _LCD_5D_23A 8 #define _LCD_5E_23A 9 #define _LCD_5F_23A 10 #define _LCD_5G_23A 17 #define _LCD_6A_23A 59 #define _LCD_6B_23A 58 #define _LCD_6C_23A 57 #define _LCD_6D_23A 56 #define _LCD_6E_23A 25 #define _LCD_6F_23A 27 #define _LCD_6G_23A 26 #define _LCD_7A_23A 251 #define _LCD_7B_23A 243 #define _LCD_7C_23A 249 #define _LCD_7D_23A 248 #define _LCD_7E_23A 257 #define _LCD_7F_23A 259 #define _LCD_7G_23A 250 #define _LCD_8A_23A 235 #define _LCD_8B_23A 226 #define _LCD_8C_23A 225 #define _LCD_8D_23A 232 #define _LCD_8E_23A 241 #define _LCD_8F_23A 234 #define _LCD_8G_23A 233 #define _LCD_9A_23A 219 #define _LCD_9B_23A 210 #define _LCD_9C_23A 208 #define _LCD_9D_23A 216 #define _LCD_9E_23A 217 #define _LCD_9F_23A 218 #define _LCD_9G_23A 209 #define _LCD_10A_23A 195 #define _LCD_10B_23A 194 #define _LCD_10C_23A 193 #define _LCD_10D_23A 192 #define _LCD_10E_23A 201 #define _LCD_10F_23A 203 #define _LCD_10G_23A 202 #define _LCD_11A_23A 179 #define _LCD_11B_23A 171 #define _LCD_11C_23A 177 #define _LCD_11D_23A 176 #define _LCD_11E_23A 185 #define _LCD_11F_23A 187 #define _LCD_11G_23A 178 #define _LCD_12A_23A 163 #define _LCD_12B_23A 154 #define _LCD_12C_23A 153 #define _LCD_12D_23A 160 #define _LCD_12E_23A 169 #define _LCD_12F_23A 162 #define _LCD_12G_23A 161 #define _LCD_13A_23A 147 #define _LCD_13B_23A 138 #define _LCD_13C_23A 136 #define _LCD_13D_23A 144 #define _LCD_13E_23A 145 #define _LCD_13F_23A 146 #define _LCD_13G_23A 137 #define _LCD_14A_23A 252 #define _LCD_14B_23A 253 #define _LCD_14C_23A 254 #define _LCD_14D_23A 255 #define _LCD_14E_23A 263 #define _LCD_14F_23A 261 #define _LCD_14G_23A 262 #define _LCD_15A_23A 236 #define _LCD_15B_23A 228 #define _LCD_15C_23A 238 #define _LCD_15D_23A 239 #define _LCD_15E_23A 246 #define _LCD_15F_23A 244 #define _LCD_15G_23A 237 #define _LCD_16A_23A 220 #define _LCD_16B_23A 213 #define _LCD_16C_23A 214 #define _LCD_16D_23A 223 #define _LCD_16E_23A 230 #define _LCD_16F_23A 221 #define _LCD_16G_23A 222 #define _LCD_17A_23A 204 #define _LCD_17B_23A 197 #define _LCD_17C_23A 199 #define _LCD_17D_23A 207 #define _LCD_17E_23A 206 #define _LCD_17F_23A 205 #define _LCD_17G_23A 198 #define _LCD_18A_23A 180 #define _LCD_18B_23A 181 #define _LCD_18C_23A 182 #define _LCD_18D_23A 183 #define _LCD_18E_23A 190 #define _LCD_18F_23A 188 #define _LCD_18G_23A 189 #define _LCD_19A_23A 164 #define _LCD_19B_23A 156 #define _LCD_19C_23A 166 #define _LCD_19D_23A 167 #define _LCD_19E_23A 174 #define _LCD_19F_23A 172 #define _LCD_19G_23A 165 #define _LCD_20A_23A 148 #define _LCD_20B_23A 141 #define _LCD_20C_23A 143 #define _LCD_20D_23A 151 #define _LCD_20E_23A 158 #define _LCD_20F_23A 149 #define _LCD_20G_23A 150 #define SIZHULOG 0 #define NET_SIG 1 #define POWER_CONNECT 2 #define WARNING_SYM 3 #define BAT_CAP_0 0 #define BAT_CAP_1 1 #define BAT_CAP_2 2 #define BAT_CAP_3 3 #define BAT_CAP_4 4 void LCD_DisplayfisrtLine(u8 pointnum,double number); void LCD_DisplaysecondLine(u8 pointnum,double number); void LCD_DisplayfisrtLineNew(u8 pointnum,double number,u8 DigitNumIN,u8 DigitPosition); void LCD_DisplaysecondLineNew(u8 pointnum,double number,u8 DigitNumIN,u8 DigitPosition); void LCD_DisplayfisrtLine_Look(u8 show_type,u8* showdata); void LCD_DisplaysecondLine_Look(u8 show_type,u8* showdata); void LCD_show_tem(double number); void LCD_show_pre(double number); void show_time(u8 hour, u8 minute); void show_error(u8 error); void show_valvecloseid(u16 valvecloseid); void show_error_sym(u8 sym_index); void clear_error_sym(u8 sym_index); void show_bat_sym(u8 bat_cap); //extern u8 LCD_number_overrun_flag; #endif /* LCD_H_ */