查看: 5810|回复: 1

[原创] 【LPC11U68】TFT屏显示

[复制链接]
  • TA的每日心情
    奋斗
    2023-2-15 00:12
  • 签到天数: 969 天

    [LV.10]以坛为家III

    175

    主题

    2843

    帖子

    34

    金牌会员

    Rank: 6Rank: 6

    积分
    7094
    最后登录
    2023-4-20
    发表于 2018-11-24 20:28:05 | 显示全部楼层 |阅读模式
    本帖最后由 jinglixixi 于 2018-11-24 20:31 编辑

           前面我们介绍了SPI接口OLED屏的使用方法,但受屏幕尺寸的限制其显示信息十分有限,本次说一下SPI接口TFT屏的显示,其显示效果如图1所示。
    a.jpg
    图1 图片显示效果

           由于目前在LPC11U68上尚未实现基于SD卡的FATFS文件系统,因此只能通过数组的方式来存放图片的数据,所用的数据提取工具为Image2Lcd v2.9,其使用界面如图2所示。
    b.jpg
    图2 图片数据提取

        为便于连接,可直接将TFT屏插入Arduino接口来使用,它与MCU的连接关系为:
    VREF--VCC
    GND-- GND
    CS   --P1.29
    REST --P0.8
    DC   --P0.9
    SDI  --P0.2
    SCK  --P2.3
    LED  --P1.28

    引脚输出高低电平的语句为:
    #define LCD_CS_High()         Chip_GPIO_SetPinState(LPC_GPIO, 1, 29, 1);
    #define LCD_CS_Low()          Chip_GPIO_SetPinState(LPC_GPIO, 1, 29, 0);
    #define LCD_REST_High()       Chip_GPIO_SetPinState(LPC_GPIO, 0,8, 1);
    #define LCD_REST_Low()        Chip_GPIO_SetPinState(LPC_GPIO, 0,8, 0);
    #define LCD_DC_High()         Chip_GPIO_SetPinState(LPC_GPIO, 0,9, 1);
    #define LCD_DC_Low()          Chip_GPIO_SetPinState(LPC_GPIO, 0, 9, 0);
    #define LCD_SDI_High()        Chip_GPIO_SetPinState(LPC_GPIO, 0, 2, 1);
    #define LCD_SDI_Low()         Chip_GPIO_SetPinState(LPC_GPIO,0, 2, 0);
    #define LCD_SCK_High()        Chip_GPIO_SetPinState(LPC_GPIO, 2, 3, 1);
    #define LCD_SCK_Low()         Chip_GPIO_SetPinState(LPC_GPIO, 2, 3, 0);
    #define LCD_LED_High()        Chip_GPIO_SetPinState(LPC_GPIO, 1, 28,1);
    #define LCD_LED_Low()         Chip_GPIO_SetPinState(LPC_GPIO, 1, 28, 0);


    将引脚配置为输出端的函数为:
    1. void LCD_GPIO_Cogfig(void)
    2. {
    3.        Chip_GPIO_SetPinDIROutput(LPC_GPIO, 1, 29);
    4.        Chip_GPIO_SetPinDIROutput(LPC_GPIO, 0, 8);
    5.        Chip_GPIO_SetPinDIROutput(LPC_GPIO, 0, 9);
    6.        Chip_GPIO_SetPinDIROutput(LPC_GPIO, 0, 2);
    7.        Chip_GPIO_SetPinDIROutput(LPC_GPIO, 2, 3);
    8.        Chip_GPIO_SetPinDIROutput(LPC_GPIO, 1, 28);
    9. }
    复制代码

    图片显示函数为:
    1. void showimage(unsigned int x,unsigned int y)
    2. {
    3.        unsigned int i,j,k;
    4.        unsigned int da;
    5.        k=0;
    6.        for(i=0;i<320;i++)
    7.        {     
    8.               LCD_SetCursor(x,y+i);
    9.               LCD_WriteRAM_Prepare();
    10.               for(j=0;j<240;j++)
    11.               {
    12.                      da=gImage_SZ[k*2];
    13.                      da<<=8;
    14.                      da|=gImage_SZ[k*2+1];
    15.                      LCD_WR_DATA(da);
    16.                      k++;   
    17.               }
    18.        }
    19. }
    复制代码



    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 20:47
  • 签到天数: 1485 天

    [LV.10]以坛为家III

    203

    主题

    2万

    帖子

    64

    超级版主

    Rank: 8Rank: 8

    积分
    93126
    最后登录
    2024-5-8
    发表于 2018-11-24 20:35:28 | 显示全部楼层
    不错,支持一下
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-5-9 05:56 , Processed in 0.128835 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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