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

標題: 89c52單片機仿真ILI9341液晶屏驅動程序 [打印本頁]

作者: zh123456    時間: 2018-1-13 09:56
標題: 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)



作者: by64214    時間: 2018-1-20 19:33
謝謝分享   學習一下  這是16bit 程序   8bit 程序?  3線?   4線?
作者: zh123456    時間: 2018-1-21 14:54
by64214 發表于 2018-1-20 19:33
謝謝分享   學習一下  這是16bit 程序   8bit 程序?  3線?   4線?

16bit 8條線,由于仿真屏只支持8線16色
作者: ei2003    時間: 2018-5-4 14:48
請問這是用哪個版本打開的?7.5和8.0都沒打開
作者: touya    時間: 2018-7-24 06:48
請問里邊包括TFT LCD Arduino Mega Shield嗎?謝謝
作者: 3205440665    時間: 2018-8-23 09:23
謝謝!正需要呢。。。。。。
作者: fud    時間: 2018-8-23 10:54
論壇有你更精彩,希望今后彩屏方面的文章更多些出現在本壇,謝謝樓主!
作者: rookierain    時間: 2018-9-28 11:55
頂一個先!!!
作者: 們那里可能、    時間: 2019-1-8 17:28
黑屏是什么原因呢?

作者: xucc0113    時間: 2019-2-26 11:31
謝謝大佬分享
作者: xiabobotang    時間: 2019-3-13 15:15
頂一下,是好東西
作者: beinstronger    時間: 2019-3-16 13:29
ei2003 發表于 2018-5-4 14:48
請問這是用哪個版本打開的?7.5和8.0都沒打開

8.6版本的protues

作者: 747700253    時間: 2019-4-1 10:18
大佬,圖片的代碼是通過什么轉化的
作者: hj3ger    時間: 2019-4-1 11:34
非常感謝,學習一下
作者: plj213    時間: 2019-4-15 21:50
謝謝分享。。。
作者: lichangle    時間: 2019-4-20 17:55
求問, 圖片是如何轉化的, 格式是什么?
作者: lichangle    時間: 2019-4-20 17:57
是用什么軟件轉化的圖片到c數組呢,
格式是什么呢?
作者: wang930626    時間: 2019-6-7 09:35
謝謝分享!!!!!!!!!!!
作者: cs999    時間: 2019-7-18 08:37
請幫老大們幫我看看是怎么回事,輸入的是單張小黃鴨,仿真出來顏色卻變了,還變成了3只鴨,不知道是哪里設置錯了,請老大們指點一下,謝謝!




作者: mcu_mpu    時間: 2019-8-26 16:36
好東西,學習下。
作者: 張會剛    時間: 2019-9-20 17:08
正在學習
作者: 別愛我    時間: 2019-11-18 19:45
樓主太棒啦
作者: 別愛我    時間: 2019-11-18 19:47
touya 發表于 2018-7-24 06:48
請問里邊包括TFT LCD Arduino Mega Shield嗎?謝謝

proteus里面有例程,打開主頁搜ssd就可以出來了
作者: 別愛我    時間: 2019-11-18 23:42
樓主可以教一下怎么用32在proteus里用tftLCD顯示圖片嗎
作者: chengche    時間: 2020-1-31 21:31
謝謝分享謝謝分享謝謝分享
作者: 那年那夏天    時間: 2020-2-22 19:50
你這個代碼跟電路都不匹配哎,DC是個啥?
作者: 那年那夏天    時間: 2020-2-22 21:33
確定8位模式是用低8位嗎?
作者: asexchiu    時間: 2020-2-27 15:11
正好需要這個東西
作者: asexchiu    時間: 2020-2-27 15:14
目前正在學習
作者: tenjure..    時間: 2020-3-7 20:58
請問樓主 用的PROTEUS是哪個版本的,我的8.7的,仿真會出現錯誤,說是嚴重仿真錯誤,沒有已經創建好的ILI9341電器模型
作者: zwzcbsj88    時間: 2020-3-23 16:25
cs999 發表于 2019-7-18 08:37
請幫老大們幫我看看是怎么回事,輸入的是單張小黃鴨,仿真出來顏色卻變了,還變成了3只鴨,不知道是 ...

哈哈哈有意思
作者: SilenWalker    時間: 2020-4-6 16:13
優秀
作者: 無線強大    時間: 2020-4-8 12:05
非常有用,,感謝
作者: 呃呃呃得得    時間: 2020-4-19 14:11
怎么顯示文字啊
作者: wulingqing    時間: 2020-4-19 15:45
頂一下,是好東西
作者: 13487086265    時間: 2020-8-8 16:06
設置怎么調都這樣啊。。。

作者: lanhua520    時間: 2024-7-17 17:31
謝謝分享!
非常有用。值得學習!
作者: STC莊偉    時間: 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  




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 毛片区| 色资源在线 | 欧美日韩精品 | 欧美 中文字幕 | 亚洲毛片 | 亚洲精品一区二区三区丝袜 | 国产资源在线视频 | 国产精品视频免费观看 | 欧美精品一区二区三区在线 | 精品欧美一区二区精品久久久 | 亚洲精品乱码久久久久久蜜桃91 | 九九热最新地址 | www.五月天婷婷| 国产精品美女久久久久久久久久久 | 国产一区2区 | 日韩国产欧美在线观看 | 欧美一区二 | 紧缚调教一区二区三区视频 | 爱爱免费视频 | 国产欧美日韩在线观看 | 天天躁日日躁aaaa视频 | 国产日韩一区二区三区 | 在线一区 | 欧美日韩一区二区在线 | 偷拍亚洲色图 | 久久国产精品视频 | 韩国精品一区二区三区 | 久久com| 一区影院 | 日韩在线免费 | 国产精品美女久久久久久久网站 | 欧美人人 | 欧美99| 欧美在线成人影院 | 欧美亚洲国产日韩 | 欧美成人精品一区二区男人看 | 夜夜骑首页 | 欧美成人精品在线观看 | 妹子干综合 | 国产精品美女久久久久久不卡 | 日日想夜夜操 |