找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6329|回复: 6
打印 上一主题 下一主题
收起左侧

51单片机软件SPI初始化ILI9488-DPI模式程序与资料下载

  [复制链接]
跳转到指定楼层
楼主
大家好,最近的项目用到ILI9488这个芯片的屏幕,用51单片机的IO口模拟SPI信号,发送初始化代码
设置成DPI-18bitRGB模式。并用LT768芯片来显示图片。下面是程序和ILI9488资料分享:
显示图片为18bitR6G6B6信号,由于便于测试,每种颜色的6根脚都接一起了,效果如下图:




单片机驱动ILI9488源程序如下:
  1. #define CS        P13
  2. #define CLK        P14
  3. #define DCX        P15
  4. #define SI        P16
  5. #define LCD_nRESET P00

  6. void SPId_Init(void)
  7. {
  8.     P1M0 |= (1<<3);
  9.     P1M1 &= ~(1<<3);
  10.    
  11.     P1M0 |= (1<<4);
  12.     P1M1 &= ~(1<<4);
  13.    
  14.     P1M0 |= (1<<5);
  15.     P1M1 &= ~(1<<5);
  16.    
  17.     P1M0 |= (1<<6);
  18.     P1M1 &= ~(1<<6);
  19.    
  20.     CS = 1;
  21.     CLK = 1;
  22.     SI = 1;
  23.     DCX = 1;
  24. }

  25. void LCD_ILI9488_CMD(unsigned char val)
  26. {
  27.     unsigned char count = 0;
  28.     DCX = 0;
  29.     CS = 0;
  30.     for(count = 0 ; count < 8 ; count++)
  31.     {
  32.         CLK = 0;
  33.         delay_us(1);
  34.         if((val&0x80)==0x80)
  35.         {
  36.             SI = 1;
  37.             delay_us(1);
  38.         }
  39.         else
  40.         {
  41.             SI = 0;
  42.             delay_us(1);
  43.         }
  44.         CLK = 1;
  45.         delay_us(1);
  46.         val=val<<1;
  47.     }
  48.     CS = 1;
  49.     delay_us(1);delay_us(1);delay_us(1);
  50. }

  51. void LCD_ILI9488_INDEX(unsigned char val)
  52. {
  53.     unsigned char count = 0;
  54.     DCX = 1;
  55.     CS = 0;
  56.     for(count = 0 ; count < 8 ; count++)
  57.     {
  58.         CLK = 0;
  59.         delay_us(1);
  60.         if((val&0x80)==0x80)
  61.         {
  62.             SI = 1;
  63.             delay_us(1);
  64.         }
  65.         else
  66.         {
  67.             SI = 0;
  68.             delay_us(1);
  69.         }
  70.         CLK = 1;
  71.         delay_us(1);
  72.         val=val<<1;
  73.     }
  74.     CS = 1;
  75.     delay_us(1);delay_us(1);delay_us(1);
  76. }

  77. void LCD_Init(void)
  78. {
  79.     LCD_nRESET = 1;
  80.     delay_ms(1);
  81.     LCD_nRESET = 0;
  82.     delay_ms(10);
  83.     LCD_nRESET = 1;
  84.     delay_ms(120);

  85.     LCD_ILI9488_CMD(0xE0);
  86.     LCD_ILI9488_INDEX(0x00);
  87.     LCD_ILI9488_INDEX(0x07);
  88.     LCD_ILI9488_INDEX(0x0f);
  89.     LCD_ILI9488_INDEX(0x07);
  90.     LCD_ILI9488_INDEX(0x15);
  91.     LCD_ILI9488_INDEX(0x09);
  92.     LCD_ILI9488_INDEX(0x3c);
  93.     LCD_ILI9488_INDEX(0x99);
  94.     LCD_ILI9488_INDEX(0x4b);
  95.     LCD_ILI9488_INDEX(0x09);
  96.     LCD_ILI9488_INDEX(0x10);
  97.     LCD_ILI9488_INDEX(0x0d);
  98.     LCD_ILI9488_INDEX(0x1c);
  99.     LCD_ILI9488_INDEX(0x1e);
  100.     LCD_ILI9488_INDEX(0x0f);  
  101.      
  102.     LCD_ILI9488_CMD(0xE1);
  103.     LCD_ILI9488_INDEX(0x00);
  104.     LCD_ILI9488_INDEX(0x20);
  105.     LCD_ILI9488_INDEX(0x23);
  106.     LCD_ILI9488_INDEX(0x02);
  107.     LCD_ILI9488_INDEX(0x0f);
  108.     LCD_ILI9488_INDEX(0x06);
  109.     LCD_ILI9488_INDEX(0x34);
  110.     LCD_ILI9488_INDEX(0x45);
  111.     LCD_ILI9488_INDEX(0x43);
  112.     LCD_ILI9488_INDEX(0x04);
  113.     LCD_ILI9488_INDEX(0x0a);
  114.     LCD_ILI9488_INDEX(0x08);
  115.     LCD_ILI9488_INDEX(0x30);
  116.     LCD_ILI9488_INDEX(0x37);
  117.     LCD_ILI9488_INDEX(0x0f);

  118.     LCD_ILI9488_CMD(0xC0);
  119.     LCD_ILI9488_INDEX(0x10);
  120.     LCD_ILI9488_INDEX(0x10);
  121.      
  122.     LCD_ILI9488_CMD(0xC1);
  123.     LCD_ILI9488_INDEX(0x41);

  124.     LCD_ILI9488_CMD(0xC5);
  125.     LCD_ILI9488_INDEX(0x00);
  126.     LCD_ILI9488_INDEX(0x20);
  127.     LCD_ILI9488_INDEX(0xd0);

  128.     LCD_ILI9488_CMD(0x36);
  129.     LCD_ILI9488_INDEX(0x48);

  130.     LCD_ILI9488_CMD(0x3A); //Interface Mode Control
  131.     LCD_ILI9488_INDEX(0x60);


  132.     LCD_ILI9488_CMD(0XB0);  //Interface Mode Control  
  133.     LCD_ILI9488_INDEX(0x08);
  134.     LCD_ILI9488_CMD(0xB1);   //Frame rate 60HZ  
  135.     LCD_ILI9488_INDEX(0xA0);
  136.     LCD_ILI9488_INDEX(0x11);
  137.     LCD_ILI9488_CMD(0xB4);
  138.     LCD_ILI9488_INDEX(0x02);   
  139.     LCD_ILI9488_CMD(0xB6); //RGB/MCU Interface Control
  140.     LCD_ILI9488_INDEX(0x30);
  141.     LCD_ILI9488_INDEX(0x02);

  142.     LCD_ILI9488_CMD(0XBE);
  143.     LCD_ILI9488_INDEX(0x00);
  144.     LCD_ILI9488_INDEX(0x04);

  145.     LCD_ILI9488_CMD(0xE9);
  146.     LCD_ILI9488_INDEX(0x00);
  147.      
  148.     LCD_ILI9488_CMD(0XF7);   
  149.     LCD_ILI9488_INDEX(0xA9);
  150.     LCD_ILI9488_INDEX(0x51);
  151.     LCD_ILI9488_INDEX(0x2C);
  152.     LCD_ILI9488_INDEX(0x82);

  153.     LCD_ILI9488_CMD(0x11);
  154.     delay_ms(120);
  155.     LCD_ILI9488_CMD(0x29);
  156. }


复制代码

芯片英文pdf下载:
【液晶驱动】ILI9488.pdf (10.32 MB, 下载次数: 107)


评分

参与人数 1黑币 +100 收起 理由
admin + 100 赞一个!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:476559 发表于 2019-3-12 15:07 | 只看该作者
谢谢楼主提供
回复

使用道具 举报

板凳
ID:283462 发表于 2019-5-26 15:18 | 只看该作者

谢谢楼主提供
回复

使用道具 举报

地板
ID:141007 发表于 2020-8-11 02:10 | 只看该作者
谢谢楼主,楼主,有转中文的软件码
回复

使用道具 举报

5#
ID:119355 发表于 2021-4-3 22:40 | 只看该作者
这芯片资料很少啊,多谢分享
回复

使用道具 举报

6#
ID:596446 发表于 2022-3-22 15:01 | 只看该作者
都不完整的
回复

使用道具 举报

7#
ID:61140 发表于 2023-11-25 22:08 | 只看该作者
看不懂
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表