LED -- 广告牌(在项目板做指示灯)
数码管 - 电子称(数字)
LED点阵屏 -- 8*8点阵(户外)--户外大型显示
LCD屏 ---彩色: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---黑色
1.LCD屏的RAM与LCD屏上的像素点对应靠LCD屏的控制器
STM32开发板自带的LCD屏内控制器是ILI9341。
2.LCD屏接口
MCU接口 -- 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
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屏的发送指令和数据。
STM32对LCD屏的初始化:
1、初始化GPIO口
2、初始化FSMC控制器
3、初始化LCD屏的控制芯片ILI9341
4、显示数据(点亮一个像素点)
1显示一个字符:L、O、V、E
2显示一个汉字:你的姓名
3显示一个“大”字--56 *56的字
4 让“大”字循环左右移动;
5显示一张图片:
6 大字在图片上移动,背景颜色为图片
7 在LCD屏上画一个圆环,显示奥运五环
显示图片:
显示:像素点是LCD屏显示的最小单位
像素点:240*320个;
颜色值:16位真彩显示--16位数据组成颜色值---RGB565格式;