【STM32F4】HAL库 CubeMX(十二)--------LCD显示实验

文章目录

  • 前言
  • 一、LCD是什么?
  • 二、LCD显示实验
    • 1.实验所需配置功能
    • 2.功能配置
    • 3.时钟配置
    • 4.生成代码


前言

一、LCD是什么?

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 来控制。

二、LCD显示实验

1.实验所需配置功能

1、FSMC配置
2、背光配置
3、TIM7配置微妙延时

2.功能配置

1、FSMC配置(配置较多,可参考开发指南)
【STM32F4】HAL库 CubeMX(十二)--------LCD显示实验_第1张图片
【STM32F4】HAL库 CubeMX(十二)--------LCD显示实验_第2张图片

【STM32F4】HAL库 CubeMX(十二)--------LCD显示实验_第3张图片
【STM32F4】HAL库 CubeMX(十二)--------LCD显示实验_第4张图片
2、背光配置
【STM32F4】HAL库 CubeMX(十二)--------LCD显示实验_第5张图片
【STM32F4】HAL库 CubeMX(十二)--------LCD显示实验_第6张图片
3、TIM7配置微妙延时
【STM32F4】HAL库 CubeMX(十二)--------LCD显示实验_第7张图片

3.时钟配置

RCC时钟配置如前文一样(此处一般情况是不变的)。
【STM32F4】HAL库 CubeMX(一)--------创建工程(点亮LED)

4.生成代码

1、添加lcd文件和头文件
【STM32F4】HAL库 CubeMX(十二)--------LCD显示实验_第8张图片
2、微妙延时(记得在tim.h添加函数名)
【STM32F4】HAL库 CubeMX(十二)--------LCD显示实验_第9张图片

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);
 

3、添加以下代码
【STM32F4】HAL库 CubeMX(十二)--------LCD显示实验_第10张图片
【STM32F4】HAL库 CubeMX(十二)--------LCD显示实验_第11张图片

	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,操作更方便哦


在这里插入图片描述

你可能感兴趣的:(stm32,单片机)