📄 lcd.h
字号:
#ifndef LCD_H
#define LCD_H
/*-----------------------------------------------------------------------------
LCD MCU
DB10~DB17 <---> RE0~RE7
CS <---- RD11 chip select signal low : ILI9320 is selected
RS <---- RD10 a register select signal low: index or status register is selected. high: select a control register
WR <---- RD4 a write strobe signal and enables an opreation to write data when the signal is low
RD <---- RD5 a read strobe singal and enables an operation to read data when the signal is low
RESET <---- RD9
周义 08.6.9
-------------------------------------------------------------------------------*/
#define NOP() asm("NOP");
#define DATA_DDR TRISE
#define DATA_PORT PORTE
#define DATA_PIN LATE
#define LCD_CS_DDR TRISDbits.TRISD11
#define LCD_CS_PORT PORTDbits.RD11
#define LCD_CS_PIN LATDbits.LATD11
#define LCD_RS_DDR TRISDbits.TRISD10
#define LCD_RS_PORT PORTDbits.RD10
#define LCD_RS_PIN LATDbits.LATD10
#define LCD_WR_DDR TRISDbits.TRISD4
#define LCD_WR_PORT PORTDbits.RD4
#define LCD_WR_PIN LATDbits.LATD4
#define LCD_RD_DDR TRISDbits.TRISD5
#define LCD_RD_PORT PORTDbits.RD5
#define LCD_RD_PIN LATDbits.LATD5
#define LCD_RST_DDR TRISDbits.TRISD9
#define LCD_RST_PORT PORTDbits.RD9
#define LCD_RST_PIN LATDbits.LATD9
#define DATA_INPUT() DATA_DDR = 0xff
#define DATA_OUTPUT() DATA_DDR = 0x00
#define LCD_CS_H() LCD_CS_PIN = 1
#define LCD_CS_L() LCD_CS_PIN = 0
#define LCD_RS_H() LCD_RS_PIN = 1
#define LCD_RS_L() LCD_RS_PIN = 0
#define LCD_WR_H() LCD_WR_PIN = 1
#define LCD_WR_L() LCD_WR_PIN = 0
#define LCD_RD_H() LCD_RD_PIN = 1
#define LCD_RD_L() LCD_RD_PIN = 0
#define LCD_RST_H() LCD_RST_PIN = 1
#define LCD_RST_L() LCD_RD_PIN = 0
//--------------LCD backlight define---------------------------------------------
#define LCD_BACKLIGHT_DDR() TRISDbits.TRISD1 = 0
#define LCD_BACKLIGHT_H() LATDbits.LATD1 = 1
#define LCD_BACKLIGHT_L() LATDbits.LATD1 = 0
//-----------define color--------------------------------------------------------
#define White 0xFFFF //白
#define Black 0x0000 //黑
#define Grey 0xF7DE //灰
#define Blue 0x001F //蓝
#define Blue2 0x051F
#define Red 0xF800 //红
#define Magenta 0xF81F //洋红
#define Green 0x07E0 //绿
#define Cyan 0x7FFF //蓝绿
#define Yellow 0xFFE0 //黄
#define BLACK (WORD)0b0000000000000000
#define BRIGHTBLUE (WORD)0b0000000000011111
#define BRIGHTGREEN (WORD)0b0000011111100000
#define BRIGHTCYAN (WORD)0b0000011111111111
#define BRIGHTRED (WORD)0b1111100000000000
#define BRIGHTMAGENTA (WORD)0b1111100000011111
#define BRIGHTYELLOW (WORD)0b1111111111100000
#define BLUE (WORD)0b0000000000010000
#define GREEN (WORD)0b0000010000000000
#define CYAN (WORD)0b0000010000010000
#define RED (WORD)0b1000000000000000
#define MAGENTA (WORD)0b1000000000010000
#define BROWN (WORD)0b1111110000000000
#define LIGHTGRAY (WORD)0b1000010000010000
#define DARKGRAY (WORD)0b0100001000001000
#define LIGHTBLUE (WORD)0b1000010000011111
#define LIGHTGREEN (WORD)0b1000011111110000
#define LIGHTCYAN (WORD)0b1000011111111111
#define LIGHTRED (WORD)0b1111110000010000
#define LIGHTMAGENTA (WORD)0b1111110000011111
#define YELLOW (WORD)0b1111111111110000
#define WHITE (WORD)0b1111111111111111
#define GRAY0 (WORD)0b1110011100011100
#define GRAY1 (WORD)0b1100011000011000
#define GRAY2 (WORD)0b1010010100010100
#define GRAY3 (WORD)0b1000010000010000
#define GRAY4 (WORD)0b0110001100001100
#define GRAY5 (WORD)0b0100001000001000
#define GRAY6 (WORD)0b0010000100000100
//-------------------------------------------------------------------------------
#define ARROW_UP 0
#define ARROW_DOWN 1
#define ARROW_LEFT 2
#define ARROW_RIGHT 3
//--------------------------------------------------------------------------------
#define RGB(x,y,z) ((int)(x/8) << 11)| ((int)(y/4) << 5) | ((int)z/8)
typedef enum
{
Image24X24 = 2,
Image9X26 ,
Image22X10,
Image20X26,
Image32X26,
Image33X44,
Image40X26,
Image18X26,
Image56X36,
Image41X45,
Image45X36,
Image43X45,
Image44X44,
Image88X44,
Image146X44,
Image320X26,
Image269X26,
}IMAGESTYLE;
//--------------------------------------------------------------------------------
#define SCREEN_ORIGIN 15
#define SCREEN_LEFT 0
#define SCREEN_TOP 0
#define SCREEN_RIGHT 239
#define SCREEN_BOTTOM 319
//--------------------------------------------------------------------------------
void LCD_WR_REG(unsigned char index,unsigned int val);
unsigned int LCD_RD_REG(unsigned char index);
void LCD_Write_Start();
void LCD_Write_Data(unsigned int val);
void LCD_Write_End();
void LCD_Read_Start();
unsigned int LCD_RD_DATA();
void LCD_Read_End();
void delay_ms(unsigned int iMs);
void Display_ON();
void Display_OFF();
void LCD_Init();
void LCD_SetTextColor(unsigned int Color);
void LCD_BackColor(unsigned int Color);
void LCD_Set_XY(unsigned int x, unsigned int y);
void putpixel(unsigned int x,unsigned int y,unsigned int color);
void fillrect(unsigned int startX,unsigned int startY,unsigned int endX,unsigned int endY,unsigned int color);
//void Clear(unsigned char x_start,unsigned char x_stop,unsigned char y_start,unsigned char y_stop,unsigned int color);
void Clear(unsigned int x_start,unsigned int x_stop,unsigned int y_start,unsigned int y_stop,unsigned int color);
void draw_v_line(int y_start, int y_end, int x,unsigned int color);
void draw_h_line(int x_start, int x_end, int y,unsigned int color);
void Octant0(unsigned int x_bgn, unsigned int y_bgn,unsigned int x_delta, unsigned int y_delta, int XDirection,unsigned int color);
void Octant1(unsigned int x_bgn, unsigned int y_bgn,unsigned int x_delta,unsigned int y_delta, int XDirection,unsigned int color);
void line(int x_bgn, int y_bgn, int x_end, int y_end,unsigned int color);
void rectangle(int left,int top,int right,int bottom,unsigned int color);
void roundrect(int left, int top, int right, int bottom, int a, int b,unsigned int color);
void fillroundrect(int left, int top, int right, int bottom, int a, int b,unsigned int color);
void arrow(int startx,int starty,int baseline,unsigned char direct,unsigned int color);
void bar( int x0, int y0, int width, int height,unsigned color);
void LCD_DrawChar(unsigned int Xpos, unsigned int Ypos, unsigned char *pic);
void outtext(int x,int y,unsigned char *str,int fontsytle ,unsigned int color);
void FontDisplay(int x, int y, unsigned char * FontModule);
void Drawicon16X16(int x, int y, unsigned char * FontModule,unsigned color);
void Drawicon24X24(int x, int y, unsigned char * FontModule,unsigned int color);
void Drawicon32X32(int x, int y, unsigned char * FontModule,unsigned int color);
void Drawicon48X48(int x, int y, unsigned char * FontModule,unsigned int color);
unsigned char LCD_DrawICON(unsigned char startX, unsigned char startY, unsigned int index,const IMAGESTYLE mImage);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -