LCD_Driver.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #ifndef __LCD_DRIVER__H
  2. #define __LCD_DRIVER__H
  3. #include "pika_bsp.h"
  4. #define ST7735_NOP 0x00
  5. #define ST7735_SWRESET 0x01
  6. #define ST7735_RDDID 0x04
  7. #define ST7735_RDDST 0x09
  8. #define ST7735_SLPIN 0x10
  9. #define ST7735_SLPOUT 0x11
  10. #define ST7735_PTLON 0x12
  11. #define ST7735_NORON 0x13
  12. #define ST7735_INVOFF 0x20
  13. #define ST7735_INVON 0x21
  14. #define ST7735_DISPOFF 0x28
  15. #define ST7735_DISPON 0x29
  16. #define ST7735_CASET 0x2A
  17. #define ST7735_RASET 0x2B
  18. #define ST7735_RAMWR 0x2C
  19. #define ST7735_RAMRD 0x2E
  20. #define ST7735_PTLAR 0x30
  21. #define ST7735_COLMOD 0x3A
  22. #define ST7735_MADCTL 0x36
  23. #define ST7735_FRMCTR1 0xB1
  24. #define ST7735_FRMCTR2 0xB2
  25. #define ST7735_FRMCTR3 0xB3
  26. #define ST7735_INVCTR 0xB4
  27. #define ST7735_DISSET5 0xB6
  28. #define ST7735_PWCTR1 0xC0
  29. #define ST7735_PWCTR2 0xC1
  30. #define ST7735_PWCTR3 0xC2
  31. #define ST7735_PWCTR4 0xC3
  32. #define ST7735_PWCTR5 0xC4
  33. #define ST7735_VMCTR1 0xC5
  34. #define ST7735_RDID1 0xDA
  35. #define ST7735_RDID2 0xDB
  36. #define ST7735_RDID3 0xDC
  37. #define ST7735_RDID4 0xDD
  38. #define ST7735_PWCTR6 0xFC
  39. #define ST7735_GMCTRP1 0xE0
  40. #define ST7735_GMCTRN1 0xE1
  41. #define RED 0x00f8
  42. #define GREEN 0xe007
  43. #define BLUE 0x1f00
  44. #define WHITE 0xffff
  45. #define BLACK 0x0000
  46. #define YELLOW 0xE0FF
  47. #define GRAY0 0x7DEF //灰色0 3165 00110 001011 00101
  48. #define GRAY1 0x1084 //灰色1 00000 000000 00000
  49. #define GRAY2 0x0842 //灰色2 1111111111011111
  50. #define LCD_CTRLA GPIOA //定义TFT数据端口
  51. #define LCD_CTRLB GPIOB //定义TFT数据端口
  52. #define LCD_SCL GPIO_Pin_1 /* A1 */
  53. #define LCD_SDA GPIO_Pin_2 /* A2 */
  54. #define LCD_CS GPIO_Pin_1 /* B1 */
  55. #define LCD_RS GPIO_Pin_5 /* A5 */
  56. #define LCD_RST GPIO_Pin_3 /* A3 */
  57. //#define LCD_CS_SET(x) LCD_CTRL->ODR=(LCD_CTRL->ODR&~LCD_CS)|(x ? LCD_CS:0)
  58. //液晶控制口置1操作语句宏定义
  59. #define LCD_SCL_SET LCD_CTRLA->BSRR = LCD_SCL
  60. #define LCD_SDA_SET LCD_CTRLA->BSRR = LCD_SDA
  61. #define LCD_CS_SET LCD_CTRLB->BSRR = LCD_CS
  62. #define LCD_RS_SET LCD_CTRLA->BSRR = LCD_RS
  63. #define LCD_RST_SET LCD_CTRLA->BSRR = LCD_RST
  64. //液晶控制口置0操作语句宏定义
  65. #define LCD_SCL_CLR LCD_CTRLA->BRR = LCD_SCL
  66. #define LCD_SDA_CLR LCD_CTRLA->BRR = LCD_SDA
  67. #define LCD_CS_CLR LCD_CTRLB->BRR = LCD_CS
  68. #define LCD_RST_CLR LCD_CTRLA->BRR = LCD_RST
  69. #define LCD_RS_CLR LCD_CTRLA->BRR = LCD_RS
  70. void LCD_GPIO_Init(void);
  71. void LCD_WriteIndex(u8 Index);
  72. void LCD_Write_u8(u8 Data);
  73. void LCD_WriteReg(u8 Index, u8 Data);
  74. void LCD_Reset(void);
  75. void LCD_Init(void);
  76. void LCD_Clear(u16 Color);
  77. void LCD_SetXY(u16 x, u16 y);
  78. void LCD_DrawPoint(u16 x, u16 y, u16 Data);
  79. void LCD_SetRegion(u16 x_start, u16 y_start, u16 x_end, u16 y_end);
  80. void LCD_Write_u16(u16 Data);
  81. void LCD_DrawRegin(u16 x_start, u16 y_start, u16 x_end, u16 y_end, u16* pData);
  82. void LCD_Fill(u16 x0,u16 y0,u16 hight,u16 wight,u16 color);
  83. #endif