LCD驱动 学习笔记(二)[型号:SPFD5408]

本文是关于SPFD5408 LCD驱动的学习笔记,重点介绍了在FPGA板上进行程序调试时遇到的问题及解决方法。在配置过程中,需要注意将RST管脚拉低至少1ms后再拉高,确保正确初始化。LCD屏采用16bit数据宽度,数据线对应关系详细解析,A0不接导致SRAM的地址线需要相应调整。
摘要由CSDN通过智能技术生成
刚开始学LCD驱动,以为是通常的做法,就是GPIO来驱动LCD。但是不一样,这次是在FPGA板子上,SRAM来驱动LCD。查了些资料,这种方法类似于FSMA驱动LCD。
对于MCU总线来说,LCD只有2个地址,分别对应RS=0,RS=1两种情况。
1、RS=0 写命令
2、RS=1 写数据
Write_Reg分为2步:写命令(寄存器地址);写数据(寄存器数据)
Read_Reg分页2步:写命令(寄存器地址);读数据(寄存器数据)
所有的寄存器地址和寄存器数据,以及 GRAM数据都是通过数据线完成传输的,而不是SRAM的地址.这是容易搞混的一个地方.LCD的SRAM地址只有一根 ,就是RS。
因为我们是用SRAM驱动LCD,所以时序都是MCU自动完成的。开始的时候很不理解“自动”的含义,到后来查了些资料,稍微懂了一点。
读存储器一般是SRAM控制器使能片选CS,在地址总线上输出地址,RD=0,WR=1,然后存储器响应这些信号在数据总线上输出数据,然后SRAM在数据总线上读取该数据. 
写存储器一般是SRAM控制器使能片选CS,在地址总线上输出地址,在数据总线上输出数据,RD=1,WR=0,然后存储器响应这些信号把数据总线上的数据写入内部存储单元.
#define SRAM_LCD_DATA   ((uint32_t)0x60020000)    //disp Data ADDR 
#define SRAM_LCD_CMD    ((uint32_t)0x60000000)    //disp Reg ADDR 
//写寄存器地址函数
void LCD_WR_REG(unsigned int index) 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值