#ifndef __MYLCD_H #define __MYLCD_H /* Includes ------------------------------------------------------------------*/ #include "stm32f10x.h" #define MAX_COLUMN_COUNT 192 #define MAX_PAGE_COUNT 12 typedef enum{ IM_NOMALE = 0, // IM_INVERSE = 1, // }inverseMode_te; typedef enum{ IMG_SRC_VOLLGO = 0, // }imageSrc_te; typedef enum{ CMDT_EXT_CMD1 = 0x30, // CMDT_EXT_CMD2 = 0x31, // CMDT_EXT_CMD3 = 0x38, // CMDT_EXT_CMD4 = 0x39, // }commandType_te; typedef enum{ HORIZONTAL_LEFT = 0x101, // HORIZONTAL_CENTER = 0x102, // HORIZONTAL_RIGHT = 0x103, // }displayHorizontalMode_te; typedef enum{ VERTICAL_LEFT = 0x101, // VERTICAL_CENTER = 0x102, // VERTICAL_RIGHT = 0x103, // }displayVerticalMode_te; typedef struct { uint16_t width; uint16_t heigth; uint8_t *imageSrc; }imageParams_ts; /** * ����ָ�� 0 һ��Ҫ���� @CMDT_EXT_CMD1 ��������չָ�� 0 */ #define LCD_CMD_DISPLAY_ON 0XAF #define LCD_CMD_DISPLAY_OFF 0XAE #define LCD_CMD_INVERSE_DISPLAY_ON 0XA7 #define LCD_CMD_INVERSE_DISPLAY_OFF 0XA6 #define LCD_CMD_ALL_PIXEL_ON 0X23 #define LCD_CMD_ALL_PIXEL_OFF 0X22 #define LCD_CMD_DISPLAY_CONTROL 0XCA //BYTE1������ CL ����Ƶ�ʣ� CLD=0 //BYTE2����ձȣ�Duty=128 //BYTE3��֡���� #define LCD_CMD_POWER_SAVE_OFF 0X94 #define LCD_CMD_POWER_SAVE_ON 0X95 #define LCD_CMD_PAGE_ADDR_SETTING 0X75 //BYTE1����ʼҳ��ַ,00h�Q YS�Q 28h //BYTE2������ҳ��ַ,YS�Q YE�Q 28hÿ 4 ��Ϊ 1 ҳ #define LCD_CMD_CLUMN_ADDR_SETTING 0X15 //BYTE1����ʼ�е�ַ 00h�Q XS�Q FFh //BYTE2�������е�ַ XS�Q XE�Q FFh #define LCD_CMD_SCAN_DIRECTION 0XBC //BYTE1��0X00��MX��MY=Normal #define LCD_CMD_WRITE_DISPLAY_DATA 0X5C //BYTE1��8 λ��ʾ���� #define LCD_CMD_READ_DISPLAY_DATA 0X5D //BYTE1��8 λ��ʾ���� #define LCD_CMD_PARTIAL_DISPLAY 0XA8 //BYTE1����ʼ�����ַ��00h��PTS��A1h //BYTE2�����������ַ��00h��PTE��A1h #define LCD_CMD_PARTIAL_DISPLAY_OFF 0XA9 #define LCD_CMD_READ_CHANGE_WRITE_ENABLE 0XE0 #define LCD_CMD_READ_CHANGE_WRITE_DISABLE 0XEE #define LCD_CMD_SCROLL_AREA_DISPLAY 0XAA //������������ //BYTE1��TL[7:0]:��ʼ�����ַ //BYTE2��BL[7:0]:���������ַ //BYTE3��NSL[7:0]:ָ������ //BYTE4��SCM[1:0]:��ʾģʽ typedef enum{ SDM_MODE_CENTER = 0, // SDM_MODE_TOP = 1, // SDM_MODE_BOTTOM = 2, // SDM_MODE_WHOLE = 3, // }scrollDisplayMode_te; #define LCD_CMD_SCROLL_AREA_DISPLAY_INIT 0XAB //������ʼ��ʼ������ //BYTE1��00h��SL��A1h #define LCD_CMD_OSCIL_CIRCUL_ON 0XD1 //���ڲ���· #define LCD_CMD_OSCIL_CIRCUL_OFF 0XD1 //���ڲ���· #define LCD_CMD_POWER_CONTROL 0X20 //��Դ���� //BYTE1��0X0B�� VB��VF��VR=1 #define LCD_CMD_SET_VOP 0X81 //���öԱȶ� //BYTE1��OX26:���Աȶ�,��Χ OX00-OXFF //BYTE2��OX04:�ֵ��Աȶ�,��Χ OX00-0X07�����ٴֵ���˳���ܱ� #define LCD_CMD_VOP_CONTROL_INC0_04 0XD6 //Һ���ڲ���ѹ����,VOP ÿ������ 0.04V #define LCD_CMD_VOP_CONTROL_DEC0_04 0XD7 //Һ���ڲ���ѹ����,VOP ÿ����� 0.04V #define LCD_CMD_READ_REG_VALUE_05 0X7C //���Ĵ���ֵ Vop[5:0] #define LCD_CMD_READ_REG_VALUE_68 0X7D //���Ĵ���ֵ Vop[8:6] #define LCD_CMD_NOP 0X25 //�ղ��� // #define LCD_CMD_READ_STATUS_REG 0X-- //��״̬�ֽ� // #define LCD_CMD_READ_STATUS_REG 0X-- //��״̬�ֽ� #define LCD_CMD_DATA_FORMAT_D7_D0 0X08 //���ݸ�ʽѡ��,���� D7��D0 #define LCD_CMD_DATA_FORMAT_D0_D7 0X0C //���ݸ�ʽѡ��,���� D0��D7 #define LCD_CMD_DISPLAY_MODE 0XF0 //��ʾģʽ typedef enum{ DM_MONO_MODE = 0x10, //�ڰ�ģʽ DM_4GRAY_MODE = 0x11, //�Ҽ���ģʽ }displayMode_te; #define LCD_CMD_ICON_RAM_ENABLE 0X77 //���� ICON RAM #define LCD_CMD_ICON_RAM_DISABLE 0X76 //���� ICON RAM #define LCD_CMD_SET_DIVCE_ROLE_MASTER 0X6E //��ģʽ(ʹ����ģʽ) #define LCD_CMD_SET_DIVCE_ROLE_SLAVER 0X6F // ��ģʽ /** * ����ָ�� 1 һ��Ҫ���� @CMDT_EXT_CMD2 ��������չָ�� 1 */ #define LCD_CMD_SET_GRAY_LEVEL 0X20 //BYTE1�� //... //BYTE16�� #define LCD_CMD_SET_LCD_OFFSET_VOL 0X32 //BYTE1�� //BYTE2��BE0,BE1,0X01�� ��ѹ����Ƶ�� //BYTE3��BS0,BS1,BS1,0X02�� ƫѹ�ȣ�BIAS=1/12 #define LCD_CMD_BOOSTER_LEVEL 0X51 //�ڽ���ѹ�������� //BYTE1��0X7B:10 �� #define LCD_CMD_VOLTAGE_SELECT_INT 0X41 //LCD �ڲ���ѹ // #define LCD_CMD_VOLTAGE_SELECT_XXX 0X40 //δ֪ // #define LCD_CMD_AUTO_READ 0XD7 //δ֪ #define LCD_CMD_SET_OTP_RW 0XE0 //����OTP��д //BYTE1��0x00,WR/RD=0��ʹ�� OTP �� // 0x20,WR/RD=1��ʹ�� OTP д #define LCD_CMD_SET_OTP_OUT 0XE1 //���� OTP �� #define LCD_CMD_SET_OTP_WRITE 0XE2 //д OTP #define LCD_CMD_SET_OTP_READ 0XE3 //�� OTP #define LCD_CMD_SET_OTP_SELECT 0XE4 //OTP ѡ����� //BYTE1��Ctrl=1�� 0xc9�� ��ʹ�� OTP // Ctrl=0�� 0x89�� ʹ�� OTP void myLCD_init(void); void myLCD_setSdaMode(GPIOMode_TypeDef GPIO_Mode); void myLCD_resetLcd(void); void myLCD_setGrayLevel(uint8_t level_b, uint8_t level_d); void myLCD_setVop(uint16_t value); void myLCD_displayDot(int x, int y); void myLCD_clearFull(void); void myLCD_displayBlock(int x,int y); void myLCD_8x16(inverseMode_te inverseMode, int column, int page, char *text); void myLCD_str8x16(inverseMode_te inverseMode, int column, int page, char *fmt, ...); void myLCD_16x16(inverseMode_te inverseMode, uint8_t column, uint8_t page, char *text); void myLCD_displayImage(inverseMode_te inverseMode, int x, int y, imageSrc_te index); void myLCD_scroll(scrollDisplayMode_te mode, uint8_t startAddr, uint8_t endAddr, uint8_t pages); void myLCD_scrollLine(uint8_t pages); int SHT3X_getPresentValue(int *pTemp, int *pHumit, unsigned char decimalPlaces); #endif