打印
[国产单片机]

AT32驱动TFT LCD显示示例

[复制链接]
908|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1.1           案例 TFT LCD显示
1.1.1       简介
TFT LCD液晶显示屏是薄膜晶体管型液晶显示屏,TFT液晶每个像素都可以单独控制,因而每个节点都相对独立,并可以连续控制,这不仅提高了显示的反应速度,还同时可以精确控制显示色阶,所以TFT液晶的色彩更真。TFT液晶显示屏的特点是亮度好、对比度高、层次感强、颜色鲜艳,但也存在耗电和成本较高的不足。
AT32 SUFR板载了一个3.5寸的TFT LCD液晶显示屏,分辨率为480*320,通过外设XMC连接。

1.1.2       资源准备
  硬件环境:
对应产品型号的AT-SURF-F437 Board
  软件环境:
AT32F435_437_Firmware_Library_V2.x.x\project\at_sufr_f437\examples\tft_lcd

1.1.3       硬件设计
本案例使用的硬件资源有TFTLCD液晶显示屏、PCA9555 IO扩展芯片,对应的引脚如下:

表15. 硬件资源使用
   
编号
   
PIN Name
外设功能
备注
1
PF0
XMC_A0
-
2
PD14
XMC_D0
-
3
PD15
XMC_D1
-
4
PD0
XMC_D2
-
5
PD1
XMC_D3
-
6
PE7
XMC_D4
-
7
PE8
XMC_D5
-
8
PE9
XMC_D6
-
9
PE10
XMC_D7
-
10
PE11
XMC_D8
-
11
PE12
XMC_D9
-
12
PE13
XMC_D10
-
13
PE14
XMC_D11
-
14
PE15
XMC_D12
-
15
PD8
XMC_D13
-
16
PD9
XMC_D14
-
17
PD10
XMC_D15
-
18
PD7
XMC_NE1
-
19
PD5
XMC_NWE
-
20
PD4
XMC_NOE
-
21
NRST
NRST
LCD复位

表16. PCA9555使用
   
编号
   
PIN Name
引脚功能
备注
1
IO0_0
LCD_BL_CTRL
LCD背光控制

对应的电路原理如下:


1.1.4       软件设计
1)     TFT LCD测试
  初始化TFT LCD
  将信息显示在LCD屏上

2)     代码介绍
  main函数代码描述
int main(void)
{
  uint8_t step = 0;
  /* 初始化系统时钟 */
  system_clock_config();
  /* 初始化中断优先级分组 */   
  nvic_priority_group_config(NVIC_PRIORITY_GROUP_4);
  /* 初始化延时函数 */
  delay_init();
  /* 初始化LCD */
  lcd_init(LCD_DISPLAY_VERTICAL);
  while(1)
  {
    /* 改变显示颜色 */   
    switch(step)
    {
      case 0: lcd_clear(WHITE ); break;
      case 1: lcd_clear(BLUE  ); break;
      case 2: lcd_clear(BRED  ); break;
      case 3: lcd_clear(GBLUE ); break;
      case 4: lcd_clear(RED   ); break;
      case 5: lcd_clear(BRRED ); break;
      case 6: lcd_clear(GREEN ); break;
      case 7: lcd_clear(YELLOW); break;
      default: step = 0; break;
    }
   
    /* 显示信息 */   
    lcd_string_show(10, 20, 200, 24, 24, (uint8_t *)"TFT LCD Test");
    lcd_string_show(10, 60, 200, 24, 24, (uint8_t *)"2021-01-20");
   
    step++;
   
    if(step == 7)
    {
      step = 0;
    }
   
    delay_ms(1000);
  }
}

void lcd_init(void)函数代码描述
/**
  * @brief  initialization lcd screen
  * @param  direction: display direction
  * @retval none
  */  
void lcd_direction(uint8_t direction)



1.1.5       下载验证
  在LCD屏上显示信息,每秒钟切换一次显示背景。


使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

69

主题

119

帖子

5

粉丝