lcd.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. #ifndef __LCD_H
  2. #define __LCD_H
  3. #include "sys.h"
  4. /*
  5. SCL <--------> PA5 (clock)
  6. SDA <--------> PA7 (data)
  7. RES <--------> PA11 (reset)
  8. DC <--------> PA8 (data / cmd)
  9. CS <--------> PA12 (chip select)
  10. BLK <--------> PB3 (background)
  11. */
  12. /*
  13. void gpio_bit_set(uint32_t gpio_periph, uint32_t pin);
  14. void gpio_bit_reset(uint32_t gpio_periph, uint32_t pin);
  15. */
  16. #define USE_HORIZONTAL 0 //设置横屏或者竖屏显示 0或1为竖屏 2或3为横屏
  17. #define LCD_W 240
  18. #define LCD_H 240
  19. #define OLED_DC_Set() gpio_bit_set(GPIOA,GPIO_PIN_8) //DC
  20. #define OLED_DC_Clr() gpio_bit_reset(GPIOA,GPIO_PIN_8)
  21. #define OLED_RES_Clr() gpio_bit_reset(GPIOA,GPIO_PIN_11)//RES
  22. #define OLED_RES_Set() gpio_bit_set(GPIOA,GPIO_PIN_11)
  23. #define OLED_CS_Clr() gpio_bit_reset(GPIOA,GPIO_PIN_12)//CS
  24. #define OLED_CS_Set() gpio_bit_set(GPIOA,GPIO_PIN_12)
  25. #define OLED_SDIN_Clr() gpio_bit_reset(GPIOA,GPIO_PIN_7)//DIN
  26. #define OLED_SDIN_Set() gpio_bit_set(GPIOA,GPIO_PIN_7)
  27. #define OLED_SCLK_Clr() gpio_bit_reset(GPIOA,GPIO_PIN_5)//SCL
  28. #define OLED_SCLK_Set() gpio_bit_set(GPIOA,GPIO_PIN_5)
  29. #define OLED_BLK_Clr() gpio_bit_reset(GPIOD,GPIO_PIN_2)//BLK
  30. #define OLED_BLK_Set() gpio_bit_set(GPIOD,GPIO_PIN_2)
  31. extern u16 BACK_COLOR; //背景色
  32. void LCD_Writ_Bus(u8 dat);
  33. void LCD_WR_DATA8(u8 dat);
  34. void LCD_WR_DATA(u16 dat);
  35. void LCD_WR_REG(u8 dat);
  36. void LCD_Address_Set(u16 x1,u16 y1,u16 x2,u16 y2);
  37. void Lcd_Init(void);
  38. void LCD_Clear(u16 Color);
  39. void LCD_ShowChinese(u16 x,u16 y,u8 index,u8 size,u16 color);
  40. void LCD_DrawPoint(u16 x,u16 y,u16 color);
  41. void LCD_DrawPoint_big(u16 x,u16 y,u16 color);
  42. void LCD_Fill(u16 xsta,u16 ysta,u16 xend,u16 yend,u16 color);
  43. void LCD_DrawLine(u16 x1,u16 y1,u16 x2,u16 y2,u16 color);
  44. void LCD_DrawRectangle(u16 x1, u16 y1, u16 x2, u16 y2,u16 color);
  45. void Draw_Circle(u16 x0,u16 y0,u8 r,u16 color);
  46. void LCD_ShowChar(u16 x,u16 y,u8 num,u8 mode,u16 color);
  47. void LCD_ShowString(u16 x,u16 y,const u8 *p,u16 color);
  48. u32 mypow(u8 m,u8 n);
  49. void LCD_ShowNum(u16 x,u16 y,u16 num,u8 len,u16 color);
  50. void LCD_ShowNum1(u16 x,u16 y,float num,u8 len,u16 color);
  51. void LCD_ShowPicture(u16 x1,u16 y1,u16 x2,u16 y2);
  52. //画笔颜色
  53. #define WHITE 0xFFFF
  54. #define BLACK 0x0000
  55. #define BLUE 0x001F
  56. #define BRED 0XF81F
  57. #define GRED 0XFFE0
  58. #define GBLUE 0X07FF
  59. #define RED 0xF800
  60. #define MAGENTA 0xF81F
  61. #define GREEN 0x07E0
  62. #define CYAN 0x7FFF
  63. #define YELLOW 0xFFE0
  64. #define BROWN 0XBC40 //棕色
  65. #define BRRED 0XFC07 //棕红色
  66. #define GRAY 0X8430 //灰色
  67. //GUI颜色
  68. #define DARKBLUE 0X01CF //深蓝色
  69. #define LIGHTBLUE 0X7D7C //浅蓝色
  70. #define GRAYBLUE 0X5458 //灰蓝色
  71. //以上三色为PANEL的颜色
  72. #define LIGHTGREEN 0X841F //浅绿色
  73. #define LGRAY 0XC618 //浅灰色(PANNEL),窗体背景色
  74. #define LGRAYBLUE 0XA651 //浅灰蓝色(中间层颜色)
  75. #define LBBLUE 0X2B12 //浅棕蓝色(选择条目的反色)
  76. #endif