平头哥CDK W806-KIT单片机技术交流组
直播中

jinglixixi

8年用户 1640经验值
擅长:嵌入式技术 光电显示 接口/总线/驱动 控制/MCU
私信 关注
[经验]

【联盛德W806-KIT开发板试用体验】TFT 屏的显示驱动

前面已介绍过一种基于SPI接口的0.96寸彩色OLED屏的显示驱动,这次再介绍一种基于SPI接口的2.2寸TFT屏的显示驱动。为了引脚连接上的方便,该显示屏与开发板的连接关系为:
CS ---PB12
RST -PB13
DC ---PB14
SDA ---PB15
SCL ---PB16
BLK---3.3V
这里值得指出的是,TFT屏的背光引脚BLK原本是打算由GPIO口以输出高电平来点亮,但可能是受引脚工作威廉希尔官方网站 的影响,它并不能点亮TFT屏的背光。为此只好直接由3.3V电源点亮,此外由于开发板只提供了一个3.3V的输出引脚,在使用时需要自行加以扩展。
实现高低电平的输出其语句定义如下:
#define LCD_CS_High()     HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12,GPIO_PIN_SET) //CS
#defineLCD_CS_Low()     HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET)
#defineLCD_REST_High()  HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, GPIO_PIN_SET) //RES
#defineLCD_REST_Low()   HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, GPIO_PIN_RESET)
#defineLCD_DC_High()    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_SET) //DC
#defineLCD_DC_Low()     HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_RESET)
#defineLCD_SDI_High()    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15, GPIO_PIN_SET) //DIN
#defineLCD_SDI_Low()    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_15, GPIO_PIN_RESET)
#defineLCD_SCK_High()   HAL_GPIO_WritePin(GPIOB, GPIO_PIN_16, GPIO_PIN_SET) //CLK
#defineLCD_SCK_Low()     HAL_GPIO_WritePin(GPIOB,GPIO_PIN_16, GPIO_PIN_RESET)
相应的引脚功能配置函数为:
  1. void App_TFtinit(void)
  2. {
  3. GPIO_InitTypeDef GPIO_InitStruct = {0};
  4. __HAL_RCC_GPIO_CLK_ENABLE();
  5. GPIO_InitStruct.Pin = GPIO_PIN_12 | GPIO_PIN_13 | GPIO_PIN_14| GPIO_PIN_15 | GPIO_PIN_16;
  6. GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT;
  7. GPIO_InitStruct.Pull = GPIO_NOPULL;
  8. HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  9. }

该显示屏的初始化函数为:
  1. void LCD_Init(void)
  2. {
  3. LCD_REST_Low();
  4. HAL_Delay(20);
  5. LCD_REST_High();
  6. HAL_Delay(20);
  7. LCD_CS_Low();
  8. LCD_WR_REG(0xCB);
  9. LCD_WR_DATA8(0x39);
  10. LCD_WR_DATA8(0x2C);
  11. LCD_WR_DATA8(0x00);
  12. LCD_WR_DATA8(0x34);
  13. LCD_WR_DATA8(0x02);
  14. LCD_WR_REG(0xCF);
  15. LCD_WR_DATA8(0x00);
  16. LCD_WR_DATA8(0XC1);
  17. LCD_WR_DATA8(0X30);
  18. LCD_WR_REG(0xE8);
  19. LCD_WR_DATA8(0x85);
  20. LCD_WR_DATA8(0x00);
  21. LCD_WR_DATA8(0x78);
  22. LCD_WR_REG(0xEA);
  23. LCD_WR_DATA8(0x00);
  24. LCD_WR_DATA8(0x00);
  25. LCD_WR_REG(0xED);
  26. LCD_WR_DATA8(0x64);
  27. LCD_WR_DATA8(0x03);
  28. LCD_WR_DATA8(0X12);
  29. LCD_WR_DATA8(0X81);
  30. LCD_WR_REG(0xF7);
  31. LCD_WR_DATA8(0x20);
  32. LCD_WR_REG(0xC0);
  33. LCD_WR_DATA8(0x23);
  34. LCD_WR_REG(0xC1);
  35. LCD_WR_DATA8(0x10);
  36. LCD_WR_REG(0xC5);
  37. LCD_WR_DATA8(0x3e);
  38. LCD_WR_DATA8(0x28);
  39. LCD_WR_REG(0xC7);
  40. LCD_WR_DATA8(0x86);
  41. LCD_WR_REG(0x36);
  42. LCD_WR_DATA8(0x48);
  43. LCD_WR_REG(0x3A);
  44. LCD_WR_DATA8(0x55);
  45. LCD_WR_REG(0xB1);
  46. LCD_WR_DATA8(0x00);
  47. LCD_WR_DATA8(0x18);
  48. LCD_WR_REG(0xB6);
  49. LCD_WR_DATA8(0x08);
  50. LCD_WR_DATA8(0x82);
  51. LCD_WR_DATA8(0x27);
  52. LCD_WR_REG(0xF2);
  53. LCD_WR_DATA8(0x00);
  54. LCD_WR_REG(0x26);
  55. LCD_WR_DATA8(0x01);
  56. LCD_WR_REG(0xE0);
  57. LCD_WR_DATA8(0x0F);
  58. LCD_WR_DATA8(0x31);
  59. LCD_WR_DATA8(0x2B);
  60. LCD_WR_DATA8(0x0C);
  61. LCD_WR_DATA8(0x0E);
  62. LCD_WR_DATA8(0x08);
  63. LCD_WR_DATA8(0x4E);
  64. LCD_WR_DATA8(0xF1);
  65. LCD_WR_DATA8(0x37);
  66. LCD_WR_DATA8(0x07);
  67. LCD_WR_DATA8(0x10);
  68. LCD_WR_DATA8(0x03);
  69. LCD_WR_DATA8(0x0E);
  70. LCD_WR_DATA8(0x09);
  71. LCD_WR_DATA8(0x00);
  72. LCD_WR_REG(0XE1);
  73. LCD_WR_DATA8(0x00);
  74. LCD_WR_DATA8(0x0E);
  75. LCD_WR_DATA8(0x14);
  76. LCD_WR_DATA8(0x03);
  77. LCD_WR_DATA8(0x11);
  78. LCD_WR_DATA8(0x07);
  79. LCD_WR_DATA8(0x31);
  80. LCD_WR_DATA8(0xC1);
  81. LCD_WR_DATA8(0x48);
  82. LCD_WR_DATA8(0x08);
  83. LCD_WR_DATA8(0x0F);
  84. LCD_WR_DATA8(0x0C);
  85. LCD_WR_DATA8(0x31);
  86. LCD_WR_DATA8(0x36);
  87. LCD_WR_DATA8(0x0F);
  88. LCD_WR_REG(0x11);
  89. HAL_Delay(120);
  90. LCD_WR_REG(0x29);
  91. LCD_WR_REG(0x2c);
  92. }
实现图片显示函数为:
  1. void LCD_Pictureb(void)
  2. {
  3. int i;
  4. Address_set(0,0,239,319);
  5. for(i=0;i<76800;i++)
  6. {
  7. LCD_WR_DATA8(gImage_123[i*2]);
  8. LCD_WR_DATA8(gImage_123[i*2+1]);
  9. }
  10. }
实现的效果如图1至图4所示:
1.jpg
图1 显示图片效果
2.jpg
图2 显示图片效果
4.jpg
图3 显示图片效果
3.jpg
图4 显示字符与图片


更多回帖

发帖
×
20
完善资料,
赚取积分