TFT-LCD 即薄膜晶体管液晶显示器。其英文全称为:Thin Film Transistor-Liquid Crystal Display。TFT-LCD 与无源 TN-LCD、STN-LCD 的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。TFT-LCD 也被叫做真彩液晶显示器。
FSMC,即灵活的静态存储控制器,能够与同步或异步存储器和 16 位 PC 存储器卡连接,STM32F4 的 FSMC 接口支持包括 SRAM、NAND FLASH、NOR FLASH 和 PSRAM 等存储器。
STM32F4 的 FSMC 将外部设备分为 2 类:NOR/PSRAM 设备、
NAND/PC 卡设备。他们共用地址数据总线等信号,他们具有不同的 CS 以区分不同的设备,比如本章我们用到的 TFTLCD 就是用的 FSMC_NE4 做片选,其实就是将 TFTLCD 当成 SRAM 来控制。
1、FSMC配置
2、背光配置
3、TIM7配置微妙延时
RCC时钟配置如前文一样(此处一般情况是不变的)。
【STM32F4】HAL库 CubeMX(一)--------创建工程(点亮LED)
1、添加lcd文件和头文件
2、微妙延时(记得在tim.h添加函数名)
void delay_us(uint16_t us)
{
uint16_t differ=0xffff-us-5;
HAL_TIM_Base_Start(&htim7);
__HAL_TIM_SetCounter(&htim7,differ);
while(differ < 0xffff-5)
{
differ = __HAL_TIM_GetCounter(&htim7);
}
HAL_TIM_Base_Stop(&htim7);
uint8_t x=0;
LCD_Init();
POINT_COLOR=RED; //»±ÊÑÕÉ«£ººìÉ«
switch(x)
{
case 0:LCD_Clear(WHITE);break;
case 1:LCD_Clear(BLACK);break;
case 2:LCD_Clear(BLUE);break;
case 3:LCD_Clear(RED);break;
case 4:LCD_Clear(MAGENTA);break;
case 5:LCD_Clear(GREEN);break;
case 6:LCD_Clear(CYAN);break;
case 7:LCD_Clear(YELLOW);break;
case 8:LCD_Clear(BRRED);break;
case 9:LCD_Clear(GRAY);break;
case 10:LCD_Clear(LGRAY);break;
case 11:LCD_Clear(BROWN);break;
}
POINT_COLOR=RED;
LCD_ShowString(30,40,210,24,24,"Explorer STM32F4");
LCD_ShowString(30,70,200,16,16,"TFTLCD TEST");
LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
LCD_ShowString(30,110,200,16,16,"The First Text");
LCD_ShowString(30,130,200,12,12,"2020/9/24");
x++;
if(x==12)x=0;
LED0_Change();
HAL_Delay(1000);
到此,该实验已经完成。由于LCD文件过大,所以采用百度网盘分享:
链接:https://pan.baidu.com/s/1ViiQvcarKz2LPb0DfwVSkg
提取码:hpb4
复制这段内容后打开百度网盘手机App,操作更方便哦