STM32(HAL库)驱动(1.44寸)TFT-LCD彩屏

这篇具有很好参考价值的文章主要介绍了STM32(HAL库)驱动(1.44寸)TFT-LCD彩屏。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、简介

2、CubeMX初始化配置

2.1 基础配置

2.1.1 SYS配置

 2.1.2 RCC配置

2.2 屏幕引脚配置

2.3 项目生成

 3、KEIL端程序整合

3.1 LCD驱动添加

3.2 函数修改

3.2.1 lcd.h修改

3.2.2 lcd_innit.h 修改

 3.2.3 lcd.c修改

 3.2.4 lcd_inut.c修改

 3.3 主函数代码

3.3.1 添加头文件

3.3.2 LCD进行初始化

3.3.3 while中添加如下代码

4、硬件连接

5、 效果展示


1、简介

屏幕厂家提供的都是标准库,网上找了找没看到好用的HAL库屏幕驱动,因此本文对HAL库驱动TFT屏幕进行详细讲解。

2、CubeMX初始化配置

2.1 基础配置

2.1.1 SYS配置

stm32单片机驱动彩色液晶屏,嵌入式小项目,stm32,嵌入式硬件,单片机

 2.1.2 RCC配置

stm32单片机驱动彩色液晶屏,嵌入式小项目,stm32,嵌入式硬件,单片机

2.2 屏幕引脚配置

stm32单片机驱动彩色液晶屏,嵌入式小项目,stm32,嵌入式硬件,单片机

stm32单片机驱动彩色液晶屏,嵌入式小项目,stm32,嵌入式硬件,单片机

2.3 项目生成

stm32单片机驱动彩色液晶屏,嵌入式小项目,stm32,嵌入式硬件,单片机

stm32单片机驱动彩色液晶屏,嵌入式小项目,stm32,嵌入式硬件,单片机

 3、KEIL端程序整合

3.1 LCD驱动添加

首先打开厂家提供的便准库文件找到LCD驱动,驱动链接:点此跳转。

首先在Core/Src目录下,添加lcd.c,lcd_init.c如下图所示:

stm32单片机驱动彩色液晶屏,嵌入式小项目,stm32,嵌入式硬件,单片机

stm32单片机驱动彩色液晶屏,嵌入式小项目,stm32,嵌入式硬件,单片机

 接着在Core/Inc目录下,添加对应的.h文件如下图所示:

 stm32单片机驱动彩色液晶屏,嵌入式小项目,stm32,嵌入式硬件,单片机

 接着对驱动进行添加如下图所示: 

stm32单片机驱动彩色液晶屏,嵌入式小项目,stm32,嵌入式硬件,单片机

3.2 函数修改

3.2.1 lcd.h修改

将原来lcd.h中 #include "sys.h"删除,并且添加如下代码:

#include "main.h"
#define u8 uint8_t
#define u16 uint16_t
#define u32 uint32_t

stm32单片机驱动彩色液晶屏,嵌入式小项目,stm32,嵌入式硬件,单片机

3.2.2 lcd_init.h 修改

 首先也是将原来llcd_innit.h中 #include "sys.h"删除,并且添加如下代码:

#include "main.h"
#define u8 uint8_t
#define u16 uint16_t
#define u32 uint32_t

stm32单片机驱动彩色液晶屏,嵌入式小项目,stm32,嵌入式硬件,单片机

接着将LCD端口定义函数用如下代码替换:

#define LCD_RES_Clr()  HAL_GPIO_WritePin(TFT_RES_GPIO_Port,TFT_RES_Pin, GPIO_PIN_RESET)//RES
#define LCD_RES_Set()  HAL_GPIO_WritePin(TFT_RES_GPIO_Port,TFT_RES_Pin, GPIO_PIN_SET)
 
#define LCD_DC_Clr()   HAL_GPIO_WritePin(TFT_DC_GPIO_Port,TFT_DC_Pin, GPIO_PIN_RESET)//DC
#define LCD_DC_Set()   HAL_GPIO_WritePin(TFT_DC_GPIO_Port,TFT_DC_Pin, GPIO_PIN_SET)
 		     
#define LCD_CS_Clr()   HAL_GPIO_WritePin(TFT_CS_GPIO_Port,TFT_CS_Pin, GPIO_PIN_RESET)//CS
#define LCD_CS_Set()   HAL_GPIO_WritePin(TFT_CS_GPIO_Port,TFT_CS_Pin, GPIO_PIN_SET)
 
#define LCD_BLK_Clr()  HAL_GPIO_WritePin(TFT_BL_GPIO_Port,TFT_BL_Pin, GPIO_PIN_RESET)//BLK
#define LCD_BLK_Set()  HAL_GPIO_WritePin(TFT_BL_GPIO_Port,TFT_BL_Pin, GPIO_PIN_SET)

stm32单片机驱动彩色液晶屏,嵌入式小项目,stm32,嵌入式硬件,单片机

 3.2.3 lcd.c修改

将头文件#include "delay.h"删除

 3.2.4 lcd_inIt.c修改

1、将头文件#include "delay.h"删除

2、添加头文件#include "spi.h"

3、将 LCD_GPIO_Init(void)函数内全部注释,如下图所示:

stm32单片机驱动彩色液晶屏,嵌入式小项目,stm32,嵌入式硬件,单片机

4、将LCD_Writ_Bus(u8 dat) )函数用以下代码替换,如下图所示:

LCD_CS_Clr();
HAL_SPI_Transmit(&hspi1,&dat,1, 1000);  
LCD_CS_Set();

stm32单片机驱动彩色液晶屏,嵌入式小项目,stm32,嵌入式硬件,单片机

 5、延时函数替换

CTRL+F进行整体替换

stm32单片机驱动彩色液晶屏,嵌入式小项目,stm32,嵌入式硬件,单片机

 3.3 主函数代码

3.3.1 添加头文件

#include "lcd_init.h"
#include "lcd.h"
#include "pic.h"

3.3.2 LCD进行初始化

float t=0;
LCD_Init();//LCD初始化
LCD_Fill(0,0,LCD_W,LCD_H,WHITE);

 添加位置如下图所示:

stm32单片机驱动彩色液晶屏,嵌入式小项目,stm32,嵌入式硬件,单片机

3.3.3 while中添加如下代码

        LCD_ShowChinese(0,0,"中景园电子",RED,WHITE,24,0);
		LCD_ShowString(24,30,"LCD_W:",RED,WHITE,16,0);
		LCD_ShowIntNum(72,30,LCD_W,3,RED,WHITE,16);
		LCD_ShowString(24,50,"LCD_H:",RED,WHITE,16,0);
		LCD_ShowIntNum(72,50,LCD_H,3,RED,WHITE,16);
		LCD_ShowFloatNum1(20,80,t,4,RED,WHITE,16);
		t+=0.11;
        LCD_ShowPicture(80,70,40,40,gImage_1);

4、硬件连接

VCC----3.3V

GND---GND

A1 ---- BL/LED

A2 ---- RES/RST

A3 ---- DC/RS

A4 ---- CS

A5 ---- SCLK

A7 ---- MOSI/SDA

八引脚或者11引脚都只需按照上诉连接即可。

5、 效果展示

·stm32单片机驱动彩色液晶屏,嵌入式小项目,stm32,嵌入式硬件,单片机

上文如有错误,恳请各位大佬指正。文章来源地址https://www.toymoban.com/news/detail-771365.html

到了这里,关于STM32(HAL库)驱动(1.44寸)TFT-LCD彩屏的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【快速上手STM32】SPI通信协议&&1.8寸TFT-LCD(ST7735S)

    SPI,英文全称Serial Peripheral Interface,即串行外围设备接口,是一种高速、全双工、同步的串行通信总线。 我们之前说过I2C,那么我们就拿I2C和SPI做个对比。 SPI和I2C对比,优势在于SPI的传输速率比I2C快得多,劣势在于SPI需要用的通信线比较多。 I2C只需要两根线,而SPI至少需要

    2024年04月27日
    浏览(13)
  • 【正点原子STM32连载】 第二十五章 TFT-LCD(MCU屏)实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

    1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id=609294757420 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html 前面我们介绍了OLED模块及其显示,但是该模块只能显示单色/双色,不能显示彩色,而且尺寸也较小

    2024年02月11日
    浏览(20)
  • STM32直接驱动TFT LCD,在LCD上根据数据绘制曲线

    快速画点函数和绘制直线函数可以根据自己屏幕来编写, void Port_DrawCurve(u8 x ,u16 value) 1、绘制曲线函数中的形参x,相当于时间轴,每一次进入函数,x就会++; 2、在绘制曲线之前需要先清除3列,这样绘制曲线就不用到最后了再整屏幕擦除。

    2024年02月15日
    浏览(17)
  • STM32 驱动4.3寸TFT LCD 触摸屏

    STM32的FSMC接口是并行总线接口,可以用于驱动存储芯片如FLASH/SRAM等,也可以用于驱动并口LCD屏。触摸屏是在显示屏上覆盖一层触摸感应的外屏,有单独的接口输出坐标数据。 这里以STM32F103VET6开发板连接4.3寸TFT LCD触摸屏,将正点原子的参考代码,移植到STM32CUBEIDE开发环境,实

    2024年02月11日
    浏览(19)
  • STM32驱动0.96寸TFT 彩色LCD模块显示

    小型的彩色LCD模块如一款0.96寸模块,由ST7735S驱动芯片和LCD屏幕组成。STM32通过驱动ST7735S,从而实现对彩色LCD的驱动。 这里将STM32通过硬件SPI驱动0.96寸TFT彩色LCD的参考代码,移植到STM32CUBEIDE开发环境。以STM32G030F6P6为例,可以用于采用ST7735S驱动芯片的其它尺寸LCD屏幕驱动。 LC

    2024年02月16日
    浏览(22)
  • STM32 FSMC接口驱动4.3寸TFT LCD屏

    STM32的FSMC接口是并行总线接口,可以用于驱动存储芯片如FLASH/SRAM等,也可以用于驱动并口LCD屏。 这里以STM32F103VET6开发板连接4.3寸TFT LCD屏,将正点原子的参考代码,移植到STM32CUBEIDE开发环境,实现TFT LCD屏的显示。 TFT LCD模块的管脚连接: 其中: LCD_CS是总线片选, WR/CLK是写使

    2024年02月10日
    浏览(23)
  • STM32驱动4寸ST7796S LCD-TFT屏

    屏幕驱动芯片ST7796S最大支持320*480分辨率的屏幕,显存GRAM达345600字节,支持8/9/16/18/24位并口数据总线,还支持3/4线制SPI通信。每一个像素点RGB显示的颜色可达65K/262K/16.7M钟,像素点地址设置按照行列的顺序进行,递增递减方向由扫描方式决定,显示方法按照先设置地址再设置

    2024年02月03日
    浏览(18)
  • STM32使用软件SPI协议操作TFT18彩屏

    时间记录:2024/2/20 (1)SPI设备通过4根线进行通信,CS片选线,选择从设备,SCK时钟线,由主设备产生时钟,主机MOSI线连从机MISO线,由主机向从机发送信息,主机MISO线连接从机MOSI线,由从机向主机发送信息 (2)SPI分为4种通信方式 模式0:CPOL=0,CPHA=0,空闲时SCK时钟线为低

    2024年02月21日
    浏览(13)
  • TFT-LCD显示驱动系统架构

    TFT-LCD驱动的核心是电压和透过率的关系。驱动电压决定子像素透过的亮度,不同的RGB子像素亮度组合形成各种颜色,不同像素上的不同颜色最后组成五彩缤纷的画面。 伽马调节与校正 通过V-T曲线,它是透过率和驱动电压之间的关系曲线。V-T曲线是一种非线性响应,这种非线

    2023年04月16日
    浏览(17)
  • Stm32F103RC驱动ili9488 LCD TFT 3.5寸液晶屏

    芯片:stm32f103rct6 3.5寸屏幕驱动:ili9488 驱动方式:8080 接口方式:16位并口 LCD屏幕 Stm32引脚 LCD_CS PC9 LCD_RS PC8 LCD_WR PC7 LCD_RD PC6 D0-D15 PB0~15

    2024年02月15日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包