FPGA ——LCD12864 _verilog程序

这篇博客介绍了如何使用FPGA通过Verilog程序控制LCD12864显示屏。内容包括LCD的工作原理、指令初始化、写数据过程,以及注意事项,如时钟频率设定。博主分享了具体的Verilog代码,并提供了DE2 FPGA开发板的测试结果。

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

1、

LCD12864 是一种单片机常用显示屏,按照其字库共可显示164个英文字母 或者 84个汉字,按数据传输方式具有很多分类。以下为较为常见的8数据线接口的显示教程。

2、

其工作原理是通过驱动RW,RS,E 、8位数据口 来写命令和写数据。在
RW表读“1”、写“0”操作。本次只进行读操作,故RW设为“0”。
E为使能端:高电平写入,故可与clock时钟相同。
RS在写入数据是为“1”。
PSB接高电平
BLK接GND
BLA与接电位器以控制lcd背光亮度
按照单片机使用它的一般工作顺序:指令初始化---->写数据。

3、

首先是指令初始化:下面是其指令表:
这里写图片描述
首先通过状态机写指令(注意虽然12864指令具有默认值,但还是需要进行配置,否则非正常显示)。首先设置对其功能进行设定,这儿有个坑,刚开始看数据手册没有注意到这点,导致浪费很多时间,此坑如下:
这里写图片描述
就是对此指令设置,必须要进行两次。一次设置选用的指令集,一次设置控制接口宽度。
随后就是按照指令表内容,设置光标、进入点等。很简单,详见代码

4、

写入数据。
写数据是应将RS设“1”。在写入数据时应注意其行数的选择,其不能自动换行,应进行指令操控换行。本里程使用ST7920字库。其英文字库可以直接使用英文字母如“A”。注意如果现实数值需要加0'd48.
(没有数据手册可以点击后面链接下载,PDF支持Ctr+F查找汉字很是方便:
下载链接:https://download.csdn.net/download/szsfate/10526436)。
使用汉字可以在数据手册自行查找如下:
这里写图片描述

5、

注意其时钟频率的设定,经实测3KHz左右基本为其最大时钟频率,5k会在指令和数据转换之间出现错误。

6、

以下为其代码:具有详细备注说明。为演示,程序中将data_buf接口注释掉。

/*
* Title:    <话机屏幕显示>
* description:
* @author:  fateszs
* @data:    2018.7.06
*
*/
module lcd_12864(
	input	clk_50M, 
	input	rst,
//	input [511:0]data_buf,							//使用时去掉注释。
	output lcd
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值