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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

89c52單片機仿真ILI9341液晶屏驅動程序

  [復制鏈接]
跳轉到指定樓層
樓主
ILI9341的單片機仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)



給各位做了參考.ILI9341 8位模式,16位色

ILI9341單片機源程序如下:
  1. //#include <REGX52.H>
  2. #include <REGX55.H>

  3. #include <intrins.h>
  4. #include "map.h"

  5. //#define     RED          0XF800          //紅色
  6. //#define     GREEN        0X07E0          //綠色
  7. //#define     BLUE         0X001F          //藍色
  8. //#define     WHITE        0XF785          //白色


  9. #define DATA_H P2
  10. #define DATA_L P1

  11. sbit LCD_CS = P3^1;
  12. sbit LCD_RS = P3^2;
  13. sbit LCD_WR = P3^3;
  14. sbit LCD_RD = P3^4;
  15. sbit LCD_RESET = P3^0;

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

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

  26. void delay_ms(unsigned int ms)
  27. {
  28.         while(ms--)
  29.         {
  30.                 Delay1ms();
  31.         }
  32. }

  33. void LCD_WR_DATA(unsigned char val)
  34. {  
  35.         LCD_RS=1;  //RS=1;
  36.         LCD_CS=0;        //CS=0;
  37.         DATA_L=val;                                       
  38.         LCD_WR=0;        //WR=0;
  39.         LCD_WR=1;        //WR=1;
  40.         LCD_CS=1;        //CS=1;       
  41. }

  42. void LCD_WR_REG(unsigned char reg)               
  43. {       
  44.           LCD_RS=0;        //RS=0;
  45.         LCD_CS=0;        //CS=0;       
  46.         DATA_L=reg;       
  47.         LCD_WR=0;        //WR=0;
  48.         LCD_WR=1;        //WR=1;
  49.         LCD_CS=1;        //CS=1;               
  50. }

  51. void LCD_Init()
  52. {
  53.         LCD_RESET=0;
  54.         delay_ms(10);
  55.         LCD_RESET=1;
  56.         delay_ms(120);
  57.         LCD_WR_REG(0xCF);  
  58.         LCD_WR_DATA(0x00);
  59.         LCD_WR_DATA(0xC1);
  60.         LCD_WR_DATA(0X30);
  61.         LCD_WR_REG(0xED);  
  62.         LCD_WR_DATA(0x64);
  63.         LCD_WR_DATA(0x03);
  64.         LCD_WR_DATA(0X12);
  65.         LCD_WR_DATA(0X81);
  66.         LCD_WR_REG(0xE8);  
  67.         LCD_WR_DATA(0x85);
  68.         LCD_WR_DATA(0x10);
  69.         LCD_WR_DATA(0x7A);
  70.         LCD_WR_REG(0xCB);  
  71.         LCD_WR_DATA(0x39);
  72.         LCD_WR_DATA(0x2C);
  73.         LCD_WR_DATA(0x00);
  74.         LCD_WR_DATA(0x34);
  75.         LCD_WR_DATA(0x02);
  76.         LCD_WR_REG(0xF7);  
  77.         LCD_WR_DATA(0x20);
  78.         LCD_WR_REG(0xEA);  
  79.         LCD_WR_DATA(0x00);
  80.         LCD_WR_DATA(0x00);
  81.         LCD_WR_REG(0xC0);    //Power control //電源控制
  82.         LCD_WR_DATA(0x1B);   //VRH[5:0]
  83.         LCD_WR_REG(0xC1);    //Power control
  84.         LCD_WR_DATA(0x01);   //SAP[2:0];BT[3:0]
  85.         LCD_WR_REG(0xC5);    //VCM control
  86.         LCD_WR_DATA(0x30);          //3F
  87.         LCD_WR_DATA(0x30);          //3C
  88.         LCD_WR_REG(0xC7);    //VCM control2
  89.         LCD_WR_DATA(0XB7);
  90.         LCD_WR_REG(0x36);    // Memory Access Control (存儲器訪問控制)
  91.         LCD_WR_DATA(0x48);
  92.         LCD_WR_REG(0x3A);   //像素格式設置
  93.         LCD_WR_DATA(0x55);
  94.         LCD_WR_REG(0xB1);   
  95.         LCD_WR_DATA(0x00);   
  96.         LCD_WR_DATA(0x1A);
  97.         LCD_WR_REG(0xB6);    // Display Function Control
  98.         LCD_WR_DATA(0x0A);
  99.         LCD_WR_DATA(0xA2);
  100.         LCD_WR_REG(0xF2);    // 3Gamma Function Disable
  101.         LCD_WR_DATA(0x00);
  102.         LCD_WR_REG(0x26);    //Gamma curve selected
  103.         LCD_WR_DATA(0x01);
  104.         LCD_WR_REG(0xE0);    //Set Gamma
  105.         LCD_WR_DATA(0x0F);
  106.         LCD_WR_DATA(0x2A);
  107.         LCD_WR_DATA(0x28);
  108.         LCD_WR_DATA(0x08);
  109.         LCD_WR_DATA(0x0E);
  110.         LCD_WR_DATA(0x08);
  111.         LCD_WR_DATA(0x54);
  112.         LCD_WR_DATA(0XA9);
  113.         LCD_WR_DATA(0x43);
  114.         LCD_WR_DATA(0x0A);
  115.         LCD_WR_DATA(0x0F);
  116.         LCD_WR_DATA(0x00);
  117.         LCD_WR_DATA(0x00);
  118.         LCD_WR_DATA(0x00);
  119.         LCD_WR_DATA(0x00);                  
  120.         LCD_WR_REG(0XE1);    //Set Gamma
  121.         LCD_WR_DATA(0x00);
  122.         LCD_WR_DATA(0x15);
  123.         LCD_WR_DATA(0x17);
  124.         LCD_WR_DATA(0x07);
  125.         LCD_WR_DATA(0x11);
  126.         LCD_WR_DATA(0x06);
  127.         LCD_WR_DATA(0x2B);
  128.         LCD_WR_DATA(0x56);
  129.         LCD_WR_DATA(0x3C);
  130.         LCD_WR_DATA(0x05);
  131.         LCD_WR_DATA(0x10);
  132.         LCD_WR_DATA(0x0F);
  133.         LCD_WR_DATA(0x3F);
  134.         LCD_WR_DATA(0x3F);
  135.         LCD_WR_DATA(0x0F);
  136.         LCD_WR_REG(0x2B);
  137.         LCD_WR_DATA(0x00);
  138.         LCD_WR_DATA(0x00);
  139.         LCD_WR_DATA(0x01);
  140.         LCD_WR_DATA(0x3f);
  141.         LCD_WR_REG(0x2A); //列地址設定
  142.         LCD_WR_DATA(0x00); //第一個參數
  143.         LCD_WR_DATA(0x00);        //第二參數
  144.         LCD_WR_DATA(0x00);                //第三參數
  145.         LCD_WR_DATA(0xef);                 //第四參數
  146.         LCD_WR_REG(0x11); //Exit Sleep
  147.         delay_ms(120);
  148.         LCD_WR_REG(0x29); //display on       
  149. }

  150. void LCD_SetArea(unsigned int stx,unsigned int sty,unsigned int endx,unsigned int endy)
  151. {//分別四個參數來設置起使X,起使Y,結整X,結束Y
  152.         LCD_WR_REG(0x2A);          //列地址
  153.         LCD_WR_DATA(stx>>8);   
  154.         LCD_WR_DATA(stx&0xff);           
  155.         LCD_WR_DATA(endx>>8);
  156.         LCD_WR_DATA(endx&0xff);       

  157.         LCD_WR_REG(0x2B);        //頁地址
  158.         LCD_WR_DATA(sty>>8);
  159.         LCD_WR_DATA(sty&0xff);       
  160.         LCD_WR_DATA(endy>>8);
  161.         LCD_WR_DATA(endy&0xff);       
  162. }

  163. void LcdWirteColorData(unsigned int color)
  164. {
  165. //        LCD_RS=1;  //RS=1;
  166. //        LCD_CS=0;        //CS=0;
  167. //         DATA_H=color>>8;       
  168. //        DATA_L=color;                                       
  169. //        LCD_WR=0;        //WR=0;
  170. //        LCD_WR=1;        //WR=1;
  171. //        LCD_CS=1;        //CS=1;       
  172.        
  173.         LCD_RS=1;  //RS=1;
  174.         LCD_CS=0;        //CS=0;
  175.         DATA_L=color>>8;                                               
  176.         LCD_WR=0;        //WR=0;
  177.         LCD_WR=1;        //WR=1;
  178.         DATA_L=color;                                       
  179.         LCD_WR=0;        //WR=0;
  180.         LCD_WR=1;        //WR=1;
  181.         LCD_CS=1;        //CS=1;       
  182. }

  183. //void LCD_Clear(unsigned int color)
  184. //{  
  185. //        unsigned int i,j;

  186. //        LCD_SetArea(0,0,180,240); //設置行列起使與結束
  187. //  LCD_WR_REG(0x2C); //寫存儲器
  188. //        for(i=0;i<320;i++)
  189. //        {
  190. //                for(j=0;j<360;j++)
  191. //                {
  192. //                        LcdWirteColorData(color);
  193. //                }
  194. //        }
  195. //}

  196. void main()
  197. {                unsigned int i;
  198.         unsigned int *image;
  199.         image=(unsigned int*)gImage_map;
  200. ……………………

  201. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
ii1394for89c52.rar (296.15 KB, 下載次數: 431)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:44037 發表于 2018-1-20 19:33 | 只看該作者
謝謝分享   學習一下  這是16bit 程序   8bit 程序?  3線?   4線?
回復

使用道具 舉報

板凳
ID:265954 發表于 2018-1-21 14:54 | 只看該作者
by64214 發表于 2018-1-20 19:33
謝謝分享   學習一下  這是16bit 程序   8bit 程序?  3線?   4線?

16bit 8條線,由于仿真屏只支持8線16色
回復

使用道具 舉報

地板
ID:321958 發表于 2018-5-4 14:48 | 只看該作者
請問這是用哪個版本打開的?7.5和8.0都沒打開
回復

使用道具 舉報

5#
ID:377565 發表于 2018-7-24 06:48 | 只看該作者
請問里邊包括TFT LCD Arduino Mega Shield嗎?謝謝
回復

使用道具 舉報

6#
ID:82043 發表于 2018-8-23 09:23 | 只看該作者
謝謝!正需要呢。。。。。。
回復

使用道具 舉報

7#
ID:387638 發表于 2018-8-23 10:54 | 只看該作者
論壇有你更精彩,希望今后彩屏方面的文章更多些出現在本壇,謝謝樓主!
回復

使用道具 舉報

8#
ID:402167 發表于 2018-9-28 11:55 | 只看該作者
頂一個先!!!
回復

使用道具 舉報

9#
ID:316561 發表于 2019-1-8 17:28 | 只看該作者
黑屏是什么原因呢?
回復

使用道具 舉報

10#
ID:448730 發表于 2019-2-26 11:31 | 只看該作者
謝謝大佬分享
回復

使用道具 舉報

11#
ID:489992 發表于 2019-3-13 15:15 | 只看該作者
頂一下,是好東西
回復

使用道具 舉報

12#
ID:490975 發表于 2019-3-16 13:29 | 只看該作者
ei2003 發表于 2018-5-4 14:48
請問這是用哪個版本打開的?7.5和8.0都沒打開

8.6版本的protues
回復

使用道具 舉報

13#
ID:470412 發表于 2019-4-1 10:18 | 只看該作者
大佬,圖片的代碼是通過什么轉化的
回復

使用道具 舉報

14#
ID:480951 發表于 2019-4-1 11:34 | 只看該作者
非常感謝,學習一下
回復

使用道具 舉報

15#
ID:138247 發表于 2019-4-15 21:50 | 只看該作者
謝謝分享。。。
回復

使用道具 舉報

16#
ID:20793 發表于 2019-4-20 17:55 | 只看該作者
求問, 圖片是如何轉化的, 格式是什么?
回復

使用道具 舉報

17#
ID:20793 發表于 2019-4-20 17:57 | 只看該作者
是用什么軟件轉化的圖片到c數組呢,
格式是什么呢?
回復

使用道具 舉報

18#
ID:312300 發表于 2019-6-7 09:35 | 只看該作者
謝謝分享!!!!!!!!!!!
回復

使用道具 舉報

19#
ID:482614 發表于 2019-7-18 08:37 | 只看該作者
請幫老大們幫我看看是怎么回事,輸入的是單張小黃鴨,仿真出來顏色卻變了,還變成了3只鴨,不知道是哪里設置錯了,請老大們指點一下,謝謝!



回復

使用道具 舉報

20#
ID:324611 發表于 2019-8-26 16:36 | 只看該作者
好東西,學習下。
回復

使用道具 舉報

21#
ID:602210 發表于 2019-9-20 17:08 | 只看該作者
正在學習
回復

使用道具 舉報

22#
ID:643346 發表于 2019-11-18 19:45 | 只看該作者
樓主太棒啦
回復

使用道具 舉報

23#
ID:643346 發表于 2019-11-18 19:47 | 只看該作者
touya 發表于 2018-7-24 06:48
請問里邊包括TFT LCD Arduino Mega Shield嗎?謝謝

proteus里面有例程,打開主頁搜ssd就可以出來了
回復

使用道具 舉報

24#
ID:643346 發表于 2019-11-18 23:42 | 只看該作者
樓主可以教一下怎么用32在proteus里用tftLCD顯示圖片嗎
回復

使用道具 舉報

25#
ID:645719 發表于 2020-1-31 21:31 | 只看該作者
謝謝分享謝謝分享謝謝分享
回復

使用道具 舉報

26#
ID:577001 發表于 2020-2-22 19:50 | 只看該作者
你這個代碼跟電路都不匹配哎,DC是個啥?
回復

使用道具 舉報

27#
ID:577001 發表于 2020-2-22 21:33 | 只看該作者
確定8位模式是用低8位嗎?
回復

使用道具 舉報

28#
ID:514250 發表于 2020-2-27 15:11 | 只看該作者
正好需要這個東西
回復

使用道具 舉報

29#
ID:514250 發表于 2020-2-27 15:14 | 只看該作者
目前正在學習
回復

使用道具 舉報

30#
ID:641995 發表于 2020-3-7 20:58 | 只看該作者
請問樓主 用的PROTEUS是哪個版本的,我的8.7的,仿真會出現錯誤,說是嚴重仿真錯誤,沒有已經創建好的ILI9341電器模型
回復

使用道具 舉報

31#
ID:714063 發表于 2020-3-23 16:25 | 只看該作者
cs999 發表于 2019-7-18 08:37
請幫老大們幫我看看是怎么回事,輸入的是單張小黃鴨,仿真出來顏色卻變了,還變成了3只鴨,不知道是 ...

哈哈哈有意思
回復

使用道具 舉報

32#
ID:405166 發表于 2020-4-6 16:13 | 只看該作者
優秀
回復

使用道具 舉報

33#
ID:503018 發表于 2020-4-8 12:05 | 只看該作者
非常有用,,感謝
回復

使用道具 舉報

34#
ID:358211 發表于 2020-4-19 14:11 | 只看該作者
怎么顯示文字啊
回復

使用道具 舉報

35#
ID:282431 發表于 2020-4-19 15:45 | 只看該作者
頂一下,是好東西
回復

使用道具 舉報

36#
ID:701852 發表于 2020-8-8 16:06 | 只看該作者
設置怎么調都這樣啊。。。
回復

使用道具 舉報

37#
ID:220748 發表于 2024-7-17 17:31 | 只看該作者
謝謝分享!
非常有用。值得學習!
回復

使用道具 舉報

38#
ID:961114 發表于 2024-7-18 14:20 | 只看該作者
管腳兼容天王級別的: STC89C52RC, STC12C5A60S2
兼容 8位8051, 可以用 Keil C51/IAR/SDCC 編譯器
兼容 32位8051,可以用 Keil C251 編譯器,雙核兼容設計
34K SRAM(2K edata, 32K xdata), 64K Flash
DMA支持PWM, DMA支持外設直接到外設, P2P
135MHz-PWM支持硬件移相,16位PWM; 真12位ADC
USB, I2S, QSPI, 4組串口,I2C, SPI
LQFP48/LQFP44/PDIP40  
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费午夜剧场 | 蜜月va乱码一区二区三区 | 欧美一级在线免费 | 成人在线h | 午夜av在线 | 成人av播放 | 国产成人精品一区二三区在线观看 | 久久久免费毛片 | 91精品国产综合久久婷婷香蕉 | av黄色在线 | 亚洲免费在线 | 91精品久久久久久久久中文字幕 | 青青艹在线视频 | 夜夜爽99久久国产综合精品女不卡 | 午夜伊人| 黄篇网址 | 伊人久久综合 | 91精品国产91久久久久久最新 | 日韩国产高清在线观看 | 久久精品免费观看 | 亚洲欧美日韩在线 | 亚洲精品久久久久国产 | 国产自产21区 | 欧美日韩国产一区二区三区 | 久草精品视频 | 日本一区二区三区在线观看 | 日本成人中文字幕在线观看 | 玖玖色在线视频 | 亚洲最色视频 | 久久99精品久久久久久琪琪 | 欧美在线视频一区 | 成人精品一区 | japanhdxxxx裸体| 欧美性生交大片免费 | 日韩一区二区三区在线 | 91久久国产综合久久 | 日韩精品久久一区二区三区 | 国产aaaaav久久久一区二区 | 一级看片免费视频囗交动图 | 日韩在线中文 | 欧美一区二区在线播放 |