单片机外围设备-TFTLCD

stm32f103zet6的fsmc接口实现 8080 时序驱动tftlcd显示,驱动IC是ILI9341。

1、什么是FSMC?

FSMC (flexible static memory controller)灵活的静态存储控制器,可以驱动SRAM、 NAND FLASH、 NOR FLASH 和 PSRAM 等存储器。

1、1fsmc框图

1、2fsmc外部设备地址映射

1.3、NOR和PSRAMs设备地址映射

1.3.1、HADDR[27:26]位用于选择存储块

1.3.2、HADDR[25:1]与FSMC_A[24:0]对应相连

LCD的CS引脚连接到NE4,则对bank1的NOR/PSRAM4操作相当于对LCD进行操作。

2、外部SRAM的控制信号有:

片选信号(CS)

写信号(WE)
读信号(OE)

数据线(如 D0~D15)

地址线(如 A0~A18)

如果 SRAM 支持字节控制,那么还有 UB/LB 信号。

3、tftlcd 80并口控制信号有:

CS: TFTLCD 片选信号。
WR:向 TFTLCD 写入数据。
RD:从 TFTLCD 读取数据。
D[15: 0]: 16 位双向数据线。
RST:硬复位 TFTLCD。
RS:命令/数据标志( 0,命令; 1,数据)。

tftlcd的操作时序和 SRAM的控制完全类似,唯一不同就是 TFTLCD 有 RS 信号,但是没有地址信号。TFTLCD 通过 RS 信号来决定传送的数据是数据还是命令,本质上可以理解为一个地址信
号, 比如我们把 RS 接在 A0 上面,那么当 FSMC 控制器写地址 0 的时候,会使得 A0 变为 0,
对 TFTLCD 来说,就是写命令。而 FSMC 写地址 1 的时候, A0 将会变为 1,对 TFTLCD 来说,
就是写数据了。这样,就把数据和命令区分开了,他们其实就是对应 SRAM 操作的两个连续地
址。当然 RS 也可以接在其他地址线上, 精英 STM32 开发板是把 RS 连接在 A10 上面的。
屏幕规格:3.2寸,分辨率240*320,驱动芯片是ILI9341。

4、配置fsmc

stm32的fsmc控制器将驱动的存储器的地址映射到0x6000 0000 - 0x9fff ffff,分为4个bank,bank1-bank4。bank1又分为4个区,NOR/PSRAM1 - NOR/PSRAM4。每个区对应的地址范围如下图所示:

5、ILI9341 显存

液晶控制器自带显存,其显存总大小为  240*320*18 = 1382400bit,每个像素点由18bit的数据组成即 18 位模式,有240*320个像素点。一般使用16位模式,数据量少一些,色彩也不失真。每个像素点用16bit的数据表示,共有2^16=65536种颜色,即65K色。在 16 位模式下, ILI9341 采用 RGB565 格式存储颜色数据,此时 ILI9341的 18 位数据线与 MCU 的 16 位数据线以及 LCD GRAM 的对应关系如下图 所示:

ILI9341 的 D17~D13 和 D11~D1 对应 MCU 的 D15~D0。ILI9341 所有的指令都是 8 位的(高 8 位无效),且参数除了读写 GRAM 的时候是 16 位,其他操作参数,都是 8 位的。

注意画点函数其实就是把像素点的颜色值写到显存,注意像素点的坐标范围是是0<=x<=240,0<=y<=320。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值