查看: 4874|回复: 5

[原创] 【LPC54114双核任务一】基于LPC54110开发板的串口TFT屏显示

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

    [LV.10]以坛为家III

    175

    主题

    2843

    帖子

    34

    金牌会员

    Rank: 6Rank: 6

    积分
    7094
    最后登录
    2023-4-20
    发表于 2017-6-23 15:04:57 | 显示全部楼层 |阅读模式
    本帖最后由 jinglixixi 于 2017-6-23 15:06 编辑

    LPC54110开发板上配有Arduino接口,对其巧加使用就可减少与外设的连线。串口TFT屏是一个基于SPI接口的显示屏,相较于并口传递数据岁要慢一些,但ARM主频相对较高的情况下,其显示的刷新速度还是可以认可的。为了减少TFT显示屏与LPC54110开发板的连线,完全可以使用Arduino接口来实现,具体的引脚连接关系如下:
    /*******************************************************************************
    * 引脚定义
    ******************************************************************************/
      //Vcc --Vref
      //GND--GND
      //SCE --P0.11
      //RST --P0.13
      //DC  --P0.12
      //DIN --P0.14
      //SCLK --P1.8
      //LED+ --P1.9

    为实现程序中的高低电平输出,相关的输出语句定义如下:
    /*******************************************************************************
    * 电平输出定义
    ******************************************************************************/
    #define LCD_CS_High()                GPIO_WritePinOutput(GPIO, 0U, 11U, 1);
    #define LCD_CS_Low()                GPIO_WritePinOutput(GPIO, 0U, 11U, 0);
    #define LCD_REST_High()            GPIO_WritePinOutput(GPIO, 0U, 13U, 1);
    #define LCD_REST_Low()             GPIO_WritePinOutput(GPIO, 0U, 13U, 0);
    #define LCD_DC_High()                GPIO_WritePinOutput(GPIO, 0U, 12U, 1);
    #define LCD_DC_Low()                GPIO_WritePinOutput(GPIO, 0U, 12U, 0);
    #define LCD_SDI_High()               GPIO_WritePinOutput(GPIO, 0U, 14U, 1);
    #define LCD_SDI_Low()               GPIO_WritePinOutput(GPIO, 0U, 14U, 0);
    #define LCD_SCK_High()               GPIO_WritePinOutput(GPIO, 1U, 8U, 1);
    #define LCD_SCK_Low()               GPIO_WritePinOutput(GPIO, 1U, 8U, 0);
    #define LCD_LED_High()               GPIO_WritePinOutput(GPIO, 1U, 9U, 1);
    #define LCD_LED_Low()               GPIO_WritePinOutput(GPIO, 1U, 9U, 0);
    1. /*******************************************************************************
    2. * 引脚功能设置函数
    3. ******************************************************************************/
    4. void GPIO_Configuration(void)
    5. {
    6. CLOCK_EnableClock(kCLOCK_Gpio0);
    7. gpio_pin_config_t oled_config = {  kGPIO_DigitalOutput, 0,};
    8. GPIO_PinInit(GPIO, 0U, 13U, &oled_config);
    9. GPIO_PinInit(GPIO, 0U, 11U, &oled_config);
    10. GPIO_PinInit(GPIO, 0U, 12U, &oled_config);
    11. GPIO_PinInit(GPIO, 0U, 14U, &oled_config);
    12. GPIO_PinInit(GPIO, 1U, 8U, &oled_config);
    13. GPIO_PinInit(GPIO, 1U, 9U, &oled_config);
    14. }
    复制代码
    1. /*******************************************************************************
    2. * TFT屏初始化函数
    3. ******************************************************************************/
    4. void Lcd_Init(void)
    5. {
    6.     LCD_REST_Low();
    7.     delay_ms(20);
    8.     LCD_REST_High();
    9.     delay_ms(20);
    10.     LCD_CS_Low();  
    11.     LCD_WR_REG(0xCB);  
    12.     LCD_WR_DATA8(0x39);
    13.     LCD_WR_DATA8(0x2C);
    14.     LCD_WR_DATA8(0x00);
    15.     LCD_WR_DATA8(0x34);
    16.     LCD_WR_DATA8(0x02);
    17.     LCD_WR_REG(0xCF);  
    18.     LCD_WR_DATA8(0x00);
    19.     LCD_WR_DATA8(0XC1);
    20.     LCD_WR_DATA8(0X30);
    21.     LCD_WR_REG(0xE8);  
    22.     LCD_WR_DATA8(0x85);
    23.     LCD_WR_DATA8(0x00);
    24.     LCD_WR_DATA8(0x78);
    25.     LCD_WR_REG(0xEA);  
    26.     LCD_WR_DATA8(0x00);
    27.     LCD_WR_DATA8(0x00);
    28.     LCD_WR_REG(0xED);  
    29.     LCD_WR_DATA8(0x64);
    30.     LCD_WR_DATA8(0x03);
    31.     LCD_WR_DATA8(0X12);
    32.     LCD_WR_DATA8(0X81);
    33.     LCD_WR_REG(0xF7);  
    34.     LCD_WR_DATA8(0x20);
    35.     LCD_WR_REG(0xC0);     //Power control
    36.     LCD_WR_DATA8(0x23);   //VRH[5:0]
    37.     LCD_WR_REG(0xC1);     //Power control
    38.     LCD_WR_DATA8(0x10);   //SAP[2:0];BT[3:0]
    39.     LCD_WR_REG(0xC5);     //VCM control
    40.     LCD_WR_DATA8(0x3e);   
    41.     LCD_WR_DATA8(0x28);
    42.     LCD_WR_REG(0xC7);     //VCM control2
    43.     LCD_WR_DATA8(0x86);   
    44.     LCD_WR_REG(0x36);     // Memory Access Control
    45.     LCD_WR_DATA8(0x48);   
    46.     LCD_WR_REG(0x3A);   
    47.     LCD_WR_DATA8(0x55);
    48.     LCD_WR_REG(0xB1);   
    49.     LCD_WR_DATA8(0x00);  
    50.     LCD_WR_DATA8(0x18);
    51.     LCD_WR_REG(0xB6);    // Display Function Control
    52.     LCD_WR_DATA8(0x08);
    53.     LCD_WR_DATA8(0x82);
    54.     LCD_WR_DATA8(0x27);  
    55.     LCD_WR_REG(0xF2);    // 3Gamma Function Disable
    56.     LCD_WR_DATA8(0x00);
    57.     LCD_WR_REG(0x26);    //Gamma curve selected
    58.     LCD_WR_DATA8(0x01);
    59.     LCD_WR_REG(0xE0);    //Set Gamma
    60.     LCD_WR_DATA8(0x0F);
    61.     LCD_WR_DATA8(0x31);
    62.     LCD_WR_DATA8(0x2B);
    63.     LCD_WR_DATA8(0x0C);
    64.     LCD_WR_DATA8(0x0E);
    65.     LCD_WR_DATA8(0x08);
    66.     LCD_WR_DATA8(0x4E);
    67.     LCD_WR_DATA8(0xF1);
    68.     LCD_WR_DATA8(0x37);
    69.     LCD_WR_DATA8(0x07);
    70.     LCD_WR_DATA8(0x10);
    71.     LCD_WR_DATA8(0x03);
    72.     LCD_WR_DATA8(0x0E);
    73.     LCD_WR_DATA8(0x09);
    74.     LCD_WR_DATA8(0x00);
    75.     LCD_WR_REG(0XE1);    //Set Gamma
    76.     LCD_WR_DATA8(0x00);
    77.     LCD_WR_DATA8(0x0E);
    78.     LCD_WR_DATA8(0x14);
    79.     LCD_WR_DATA8(0x03);
    80.     LCD_WR_DATA8(0x11);
    81.     LCD_WR_DATA8(0x07);
    82.     LCD_WR_DATA8(0x31);
    83.     LCD_WR_DATA8(0xC1);
    84.     LCD_WR_DATA8(0x48);
    85.     LCD_WR_DATA8(0x08);
    86.     LCD_WR_DATA8(0x0F);
    87.     LCD_WR_DATA8(0x0C);
    88.     LCD_WR_DATA8(0x31);
    89.     LCD_WR_DATA8(0x36);
    90.     LCD_WR_DATA8(0x0F);
    91.     LCD_WR_REG(0x11);    //Exit Sleep
    92.     delay_ms(120);
    93.     LCD_WR_REG(0x29);    //Display on
    94.     LCD_WR_REG(0x2c);
    95.     LCD_LED_High();
    96. }
    复制代码
    1. /*******************************************************************************
    2. * 色彩清屏函数
    3. ******************************************************************************/
    4. void LCD_Clear(uint16_t Color)
    5. {
    6.   char VH,VL;
    7.   uint16_t i,j;
    8.   VH=Color>>8;
    9.   VL=Color;
    10.   Address_set(0,0,LCD_W-1,LCD_H-1);
    11.   for(i=0;i<LCD_W;i++)
    12.   {
    13.             for (j=0;j<LCD_H;j++)
    14.             {
    15.              LCD_WR_DATA8(VH);
    16.              LCD_WR_DATA8(VL);
    17.             }
    18.   }
    19. }
    复制代码

    整体构成与显示效果如图所示,后续再为它配上RTC计时、语音播报、设备启停功能等。
    图片1.png


    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
    发表于 2017-6-24 16:31:09 | 显示全部楼层
    不错的应用,等待后续
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-2-15 00:12
  • 签到天数: 969 天

    [LV.10]以坛为家III

    175

    主题

    2843

    帖子

    34

    金牌会员

    Rank: 6Rank: 6

    积分
    7094
    最后登录
    2023-4-20
     楼主| 发表于 2017-6-26 10:36:18 | 显示全部楼层
    zhjb1 发表于 2017-6-24 16:31
    不错的应用,等待后续

    多谢支持!!!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2019-4-1 22:48
  • 签到天数: 302 天

    [LV.8]以坛为家I

    87

    主题

    7322

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    4423
    最后登录
    2021-1-25
    发表于 2017-11-29 13:57:52 | 显示全部楼层
    看过了                       
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    5 小时前
  • 签到天数: 2044 天

    [LV.Master]伴坛终老

    17

    主题

    4834

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    9921
    最后登录
    2024-5-1
    发表于 2021-7-21 20:37:24 | 显示全部楼层
    2021-07-21_203700.jpg
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    前天 08:41
  • 签到天数: 148 天

    [LV.7]常住居民III

    10

    主题

    387

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    1270
    最后登录
    2024-4-29
    发表于 2021-8-3 07:50:48 | 显示全部楼层
    这种屏的接口是I2C的
    加油加油
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-1 15:34 , Processed in 0.135620 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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