对于每个FPGA初学者而言,1602液晶是必修的一课,它较数码管的优点就是它可以显示字符,而且显得更加专业,漂亮。
所谓1602指的是液晶的显示格式为16*2,即可以显示2行,16列字符。目前市场上的1602有蓝色背光和绿色背光两种,本人
觉得蓝色的更加高端大气上档次。
字符型LCD1602通常有14条或者16条引脚线,多出来的两条是背光电源线VCC和地线GND,其控制原理与14脚的LCD完全一样。
我所采用的1602液晶是以SPLC780C为主控芯片,所以想驱动液晶首先需要搞清楚它的时序和控制方式。 这些资料网上都比较全,
可以找到1602的datasheet仔细看一下。
下面是显示数据的DDRAM地址与数据的对应关系
事实上我们往DDRAM里的00H地址处送一个数据,比如31(数字1的代码)并不能将1显示出来,为是要在00H的基础上加上80H,即如果想在01H处显示数字1则需要把1的代码送到地址81H处,具体原因在哪本人也没有搞清楚,刚刚接触1602,所以就先把它记住了,以后有空慢慢研究吧- -
下面的表格是1602的字符表,纵坐标在前横坐标在后连起来就是该字符的代码。
1602的驱动程序用到了状态机,并有复位功能,本人已经通过综合和仿真并且下载运行成功,所用的fpga型号为xilinx spartan 3E250S,程序运行后液晶显示"welcome to HIT shenzhen" ,如果想更换显示字符只需稍作修改 ,由于目前改程序只实现了 1602显示固定的字符,而我们在做fpga开发的时候多数情况可能是需要用液晶来显示fpga内部处理的数据,比如在做一个数字温度计时候用1602动态显示温度数据等等,所以下一部我将会尝试做次改进。
具体工程请见以下链接
http://download.csdn.net/detail/li200503028/6218539
我本科时候接触过一些ALTERA的fpga,现在读研究生课题是超宽带领域的理论研究,但是对于fpga一直念念不忘,所以空闲的时候会用XILINX开发板做一些东西,水平实在有限,希望朋友们多多指点,我们共同讨论,一起进步!