从零开始一起学stm32(九)---LCD屏

LCD屏的知识

1、常见的显示设备

2、STM32上TFTLCD的介绍

3、TFTLCD屏的工作原理

4、ILI9341的操作过程

5、STM32 LCD屏初始化

6、显示一个字符,汉字,图片

 

1、常见的显示设备和LCD屏

  LED -- 广告牌(在项目板做指示灯)

  数码管 - 电子称(数字)

  LED点阵屏 -- 8*8点阵(户外)--户外大型显示

  LCD屏 ---彩色:TFTLCD屏

2、STM32上TFTLCD的介绍

TFLCD屏是stm32外扩的设备

 1.作用:输出设备(提供人机交换界面)

 2.特点:

    1、TFTLCD--薄膜晶体管液晶显示器--真彩液晶显示器

         2、2.8寸的TFTLCD

3、显示分辨率:320×240个像素点--像素点:LCD屏上显示的最小单元。

         4、16位真彩显示 

 3.显示的原理:通过操作显存RAM(传输的每个像素点的颜色值),来操作                                LCD屏的像素点,让LCD屏上相应的像素点点亮;

         颜色值:通过ILI9341驱动芯片内置显存GRAM;               

         ILI9341采用RGB565格式存储颜色数据,

         ILI9341的D17~D13和D11~D1对应MCU的D15~D0。

11 1111 1111 1111 1111

         MCU的16位数据,最低5位代表蓝色,中间6位为绿色,最高5位为红色。    

像素点与颜色值:

                   1111 1000 0000 0000   0xF800---红色

                   0000 0000 0001 1111      0x001F---蓝色

                   0000 0111 1110 0000  0x07E0---绿色

                   1111 1111 1111 1111   0xFFFF---白色

                                                             0x0000---黑色

3、TFTLCD屏的工作原理

  1.LCD屏的RAM与LCD屏上的像素点对应靠LCD屏的控制器

       STM32开发板自带的LCD屏内控制器是ILI9341。

  2.LCD屏接口

      MCU接口  -- 8080接口 

  8080接口:

    LCD屏上的管脚:

    RS: -- 数据/命令选择端(1 -- 数据  0 -- 指令)

    CS: -- 片选端         (代表该芯片是否被选中)

    WR: -- 写使能         (是否给LCD屏传输数据)

    RD: -- 读使能         (LCD屏是否给总线传输数据)

   DB0~DB15:-- 数据的传输(数据总线)

 2Q

   STM32可以通过FSMC来操作外部8080接口

   FSMC的作用:扩展外部存储区域

   FSMC挂接LCD屏:       

   FSMC_NE4  -- 片选 FSMC_NE4 -- CS

   FSMC_A10   -- RS

   FSMC_D[15:0]   -- 数据总线

   FSMC_NOE       -- 输出使能(读使能) -- RD

   FSMC_NWE      -- 写能    -- WR

 

 4、ILI9341的操作过程:

       ILI9341的操作 -- STM32通过8080接口向LCD屏发送指令和数据。

      对ILI9341的读写操作时序图:DS--32页

      写:

         

   FSMC操作LCD屏:

     例如:给LCD屏上某一个像素点点亮某一种颜色值 -- 110(ILI9341的数据手册)           

   1、发送设置列地址指令 -- 0x2A

   2、发送列地址         -- 参数

   3、发送设置行地址指令 -- 0x2B

   4、发送行地址         -- 参数

   5、发送显示的颜色值指令- 0x2C

   6、发送颜色值        -- (16位数据)  

 

1.写列地址--2A

2.指令  2.写行地址--2B指令

3.给该地址赋值--2C指令(颜色值)

打点函数

    240*320个像素点--像素点--LCD_DrawPoint();

    1.点亮的是哪个点?--设置点的X/Y轴坐标;

    2.写颜色值;--每个像素点对应一个16位的颜色值(2个字节)

 

总结:STM32操作LCD屏:通过FSMC给不同的地址发送数据,使A10变高变低,       进而操作LCD屏的发送指令和数据。

 

5、STM32 LCD屏初始化和显示一个字符和汉字的程序分析

   STM32对LCD屏的初始化:

   1、初始化GPIO口

   2、初始化FSMC控制器

   3、初始化LCD屏的控制芯片ILI9341

   4、显示数据(点亮一个像素点)

 

作业:

1显示一个字符:L、O、V、E

2显示一个汉字:你的姓名

3显示一个“大”字--56 *56的字

4 让“大”字循环左右移动;

5显示一张图片:

6 大字在图片上移动,背景颜色为图片

7 在LCD屏上画一个圆环,显示奥运五环

  1. 滴答时钟为什么要初始化?
  2. extern声明数组是什么意思?
  3. 滴答时钟配置彻底搞懂.

显示图片:

显示:像素点是LCD屏显示的最小单位

像素点:240*320个;

颜色值:16位真彩显示--16位数据组成颜色值---RGB565格式;

 

猜你喜欢

转载自blog.csdn.net/qq_38639426/article/details/88633097
今日推荐