久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 105|回復: 4
打印 上一主題 下一主題
收起左側

TFT2.4寸顯示屏不顯示

[復制鏈接]
跳轉到指定樓層
樓主
前幾天在淘寶上購了一塊TFT2.4寸顯示屏回來玩玩,驅動IC是ILI9341,賣家附有例程資料,按照例程資料弄個簡單的刷屏卻只有背光亮,其它啥也沒有,檢查了好幾遍沒解決,把我搞矇逼了,問了賣家說出廠檢查過沒問題,特在這向大佬請教下:


  1. #include <AI8051U.H>
  2. #include <intrins.h>

  3. //#include "lcd.h"
  4. #define uchar unsigned char
  5. #define uint unsigned int

  6. #define RED   0XF800
  7. #define GREEN 0X07E0
  8. #define BLUE  0X001F
  9. #define WHITE 0XFFFF

  10. sbit LCD_CS = P1^2; // 片選
  11. sbit LCD_RESET = P1^6;
  12. sbit LCD_MOSI = P3^1;
  13. sbit LCD_DC =P1^3;// 數據/命令控制
  14. sbit LCD_SCK = P3^0;// SPI時鐘

  15. void Delay1ms() //@12.000MHz
  16. {
  17. unsigned char i, j;

  18. i = 12;
  19. j = 169;
  20. do
  21. {
  22. while (--j);
  23. } while (--i);
  24. }

  25. void delay_ms(unsigned int ms)
  26. {
  27. while(ms--)
  28. {
  29. Delay1ms();
  30. }
  31. }
  32. // SPI延時(根據實際速度調整)
  33. void SPI_Delay()
  34.         {
  35.     _nop_(); _nop_(); _nop_();
  36.     _nop_(); _nop_(); _nop_();
  37. }
  38. void SPI_RW(unsigned char byte)
  39. {
  40.   unsigned char i;
  41.     for(i=0; i<8; i++)
  42.           {
  43.         LCD_SCK = 0;
  44.         if(byte & 0x80) LCD_MOSI = 1;
  45.         else LCD_MOSI = 0;
  46.         SPI_Delay();
  47.         LCD_SCK = 1;
  48.         byte <<= 1;
  49.                           SPI_Delay() ;
  50.    }
  51. }
  52. void LCD_WR_REG(unsigned char reg)
  53. {
  54. LCD_DC = 1; // 命令模式
  55.     LCD_CS = 0; // 使能片選
  56.     SPI_RW(reg);
  57.     LCD_CS = 1; // 禁用片選
  58. }
  59. void LCD_WR_DATA(unsigned char val)
  60. {
  61.    LCD_DC = 0; // 數據模式
  62.     LCD_CS = 0;
  63.     SPI_RW(val);
  64.     LCD_CS = 1;
  65. }



  66. void LCD_Init()
  67. {

  68. LCD_RESET=0;
  69. delay_ms(10);
  70. LCD_RESET=1;
  71. delay_ms(120);
  72. LCD_WR_REG(0xCF);
  73. LCD_WR_DATA(0x00);
  74. LCD_WR_DATA(0xC1);
  75. LCD_WR_DATA(0X30);
  76. LCD_WR_REG(0xED);
  77. LCD_WR_DATA(0x64);
  78. LCD_WR_DATA(0x03);
  79. LCD_WR_DATA(0X12);
  80. LCD_WR_DATA(0X81);
  81. LCD_WR_REG(0xE8);
  82. LCD_WR_DATA(0x85);
  83. LCD_WR_DATA(0x10);
  84. LCD_WR_DATA(0x7A);
  85. LCD_WR_REG(0xCB);
  86. LCD_WR_DATA(0x39);
  87. LCD_WR_DATA(0x2C);
  88. LCD_WR_DATA(0x00);
  89. LCD_WR_DATA(0x34);
  90. LCD_WR_DATA(0x02);
  91. LCD_WR_REG(0xF7);
  92. LCD_WR_DATA(0x20);
  93. LCD_WR_REG(0xEA);
  94. LCD_WR_DATA(0x00);
  95. LCD_WR_DATA(0x00);
  96. LCD_WR_REG(0xC0); //Power control
  97. LCD_WR_DATA(0x1B);//VRH[5:0]
  98. LCD_WR_REG(0xC1);//Pwer control
  99. LCD_WR_DATA(0x01);//SAP[2:0];BT[3:0]
  100. LCD_WR_REG(0xC5); //VCM control
  101. LCD_WR_DATA(0x30); //3F
  102. LCD_WR_DATA(0x30); //3C
  103. LCD_WR_REG(0xC7); //VCM control2
  104. LCD_WR_DATA(0XB7);
  105. LCD_WR_REG(0x36); // Memory Access Control
  106. LCD_WR_DATA(0x48);
  107. LCD_WR_REG(0x3A);
  108. LCD_WR_DATA(0x55);
  109. LCD_WR_REG(0xB1);
  110. LCD_WR_DATA(0x00);
  111. LCD_WR_DATA(0x1A);
  112. LCD_WR_REG(0xB6); // Display Function Control
  113. LCD_WR_DATA(0x0A);
  114. LCD_WR_DATA(0xA2);
  115. LCD_WR_REG(0xF2);// 3Gamma Function Disable
  116. LCD_WR_DATA(0x00);
  117. LCD_WR_REG(0x26); //Gamma curve selected
  118. LCD_WR_DATA(0x01);
  119. LCD_WR_REG(0xE0); //Set Gamma
  120. LCD_WR_DATA(0x0F);
  121. LCD_WR_DATA(0x2A);
  122. LCD_WR_DATA(0x28);
  123. LCD_WR_DATA(0x08);
  124. LCD_WR_DATA(0x0E);
  125. LCD_WR_DATA(0x08);
  126. LCD_WR_DATA(0x54);
  127. LCD_WR_DATA(0XA9);
  128. LCD_WR_DATA(0x43);
  129. LCD_WR_DATA(0x0A);
  130. LCD_WR_DATA(0x0F);
  131. LCD_WR_DATA(0x00);
  132. LCD_WR_DATA(0x00);
  133. LCD_WR_DATA(0x00);
  134. LCD_WR_DATA(0x00);
  135. LCD_WR_REG(0XE1); //Set Gamma
  136. LCD_WR_DATA(0x00);
  137. LCD_WR_DATA(0x15);
  138. LCD_WR_DATA(0x17);
  139. LCD_WR_DATA(0x07);
  140. LCD_WR_DATA(0x11);
  141. LCD_WR_DATA(0x06);
  142. LCD_WR_DATA(0x2B);
  143. LCD_WR_DATA(0x56);
  144. LCD_WR_DATA(0x3C);
  145. LCD_WR_DATA(0x05);
  146. LCD_WR_DATA(0x10);
  147. LCD_WR_DATA(0x0F);
  148. LCD_WR_DATA(0x3F);
  149. LCD_WR_DATA(0x3F);
  150. LCD_WR_DATA(0x0F);
  151. LCD_WR_REG(0x2B);
  152. LCD_WR_DATA(0x00);
  153. LCD_WR_DATA(0x00);
  154. LCD_WR_DATA(0x01);
  155. LCD_WR_DATA(0x3f);
  156. LCD_WR_REG(0x2A);
  157. LCD_WR_DATA(0x00);
  158. LCD_WR_DATA(0x00);
  159. LCD_WR_DATA(0x00);
  160. LCD_WR_DATA(0xef);
  161. LCD_WR_REG(0x11); //Exit Sleep
  162. delay_ms(120);
  163. LCD_WR_REG(0x29); //display on? ? ? ?
  164. }

  165. void LCD_SetArea(unsigned int stx,unsigned int sty,unsigned int endx,unsigned int endy)
  166. {
  167. LCD_WR_REG(0x2A);
  168. LCD_WR_DATA(stx>>8);
  169. LCD_WR_DATA(stx&0xff);
  170. LCD_WR_DATA(endx>>8);
  171. LCD_WR_DATA(endx&0xff);

  172. LCD_WR_REG(0x2B);
  173. LCD_WR_DATA(sty>>8);
  174. LCD_WR_DATA(sty&0xff);
  175. LCD_WR_DATA(endy>>8);
  176. LCD_WR_DATA(endy&0xff);
  177. }

  178. void LCD_Clear(unsigned int color)
  179. {
  180. unsigned int i,j;

  181. LCD_SetArea(0,0,239,319);
  182. LCD_WR_REG(0x2C);
  183. for(i=0;i<320;i++)
  184. {
  185. for(j=0;j<240;j++)
  186. {
  187. LCD_WR_DATA(color>>8);
  188. LCD_WR_DATA(color);
  189. }
  190. }
  191. }

  192. void main()
  193. {
  194.         P3M0=0xFF;
  195.         P3M1=0x00;
  196.         P1M0=0x00;
  197.         P1M1=0x00;
  198. delay_ms(100);
  199. LCD_Init();

  200. while(1)
  201. {
  202. LCD_Clear(RED);
  203. delay_ms(300);
  204. LCD_Clear(WHITE);
  205. delay_ms(300);
  206. LCD_Clear(BLUE);
  207. delay_ms(300);
  208. LCD_Clear(GREEN);
  209. delay_ms(300);
  210. }
  211. }
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:322939 發表于 2025-6-24 19:32 | 只看該作者

回復

使用道具 舉報

板凳
ID:322939 發表于 2025-6-25 08:43 | 只看該作者
有那位大佬看出什么問題來?
回復

使用道具 舉報

地板
ID:108361 發表于 2025-6-25 10:10 | 只看該作者
1,LCD片選選中的同時,TP的片選應該要關閉
2,檢查SPI通信波形,測試SPI讀取ILI9341版本寄存器之類是否正確
回復

使用道具 舉報

5#
ID:322939 發表于 2025-6-25 17:16 | 只看該作者
powerdruy 發表于 2025-6-25 10:10
1,LCD片選選中的同時,TP的片選應該要關閉
2,檢查SPI通信波形,測試SPI讀取ILI9341版本寄存器之類是否正 ...

在家里沒有儀器測,真麻煩。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩国产欧美 | 中文日本在线 | 国产精品国产三级国产播12软件 | 日韩国产精品一区二区三区 | 日本一区二区三区视频在线 | 伊人导航| 日本不卡一区二区三区在线观看 | 无吗视频 | 很很干很很日 | 日韩性在线 | 一区二区三区视频在线观看 | 日韩精品成人一区二区三区视频 | 黄色在线观看网站 | 国产日韩精品在线 | 丝袜 亚洲 另类 欧美 综合 | 欧美三级久久久 | 国产精品久久久久久久7777 | 午夜小视频在线观看 | 在线欧美a | julia中文字幕久久一区二区 | 91在线看视频 | 日日日日日日bbbbb视频 | 成人亚洲综合 | 性生生活大片免费看视频 | 久久国产精品视频免费看 | 久久精品av麻豆的观看方式 | 精品国产一区二区三区久久久久久 | 国产在线一区二区 | 日韩高清成人 | 韩国毛片视频 | 中文字幕第一页在线 | 亚洲91精品| 国产精品成人在线观看 | 欧美vide| 精品国产31久久久久久 | 日日夜夜天天 | 欧美日韩精品久久久免费观看 | 亚洲视频一区二区三区 | 在线观看黄免费 | 97av视频 | 亚洲国产精品一区 |