#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 2 //IP+¶Ë¿Ú
|
#define PT_MENU 3
|
#define BH_MENU 4
|
#define BPS_AD_MENU 5
|
|
#define POINT_1 1
|
#define POINT_2 2
|
#define POINT_3 3
|
|
#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_ */
|