FPGA笔记(八)-驱动12864

本文记录了FPGA驱动LCD12864的过程,包括理解datasheet中的时钟频率要求,掌握初始化和写数的工作流程。通过状态机实现液晶显示的控制,详细解析了RS、RW、EN引脚的使用,并探讨了为何需要状态机进行初始化,而非简单的begin-end块。最后,作者通过去除一个SETFUNCTION状态的实验,强调了深入理解协议和动手实践的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FPGA笔记(八)-驱动12864

最近俩天由于要求所致,必须马上要会使用FPGA驱动12864和驱动矩阵键盘,虽然之前用C51做过这类驱动,毕竟不一样,所以时间上也是很匆忙。通过各种网上找资料和实验,今天算是完成了LCD12864的驱动的学习。赶紧做个笔记巩固一下!


要驱动12864首先得它的datasheet,看明白主要的几个问题:

1、LCD的时钟频率所在范围。(FPGA一般都是20M、50M及以上晶振,太大导致LCD无法响应过来)下图为RT12864-s液晶的所需时钟频率

范围为470KHZ-590KHZ。(如果小了的话也没关系,只不过是显示的时候一个字一个字的显示出来,而不是人眼察觉不到地整篇出现)

2、整个的工作流程。(初始化->写数,从而可以用状态机来描述)


我记得在单片机里驱动液晶的话,是这样的

把写命令和写数据的指令的时序和RW、RS、EN设置好,方便后续调用

void write_data(int data)

{

。。。。

。。。。

}

void write_com(int com)

{

。。。。

}

//设置好初始化的指令

void initialLCD_12864()

{

write_com(0x80);

。。。。。等等一些列的初始化指令

}


FPGA驱动液晶显示,也差不多,一样是得先初始化后再进行写数字,只不过是用状态机来实现这一顺序的过程,啥也不用多说,看程序吧。


                
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值