当前位置:首页 > 新闻资讯 > FPGA之家动态 >

FPGA实验-基于FPGA设计LCD 显示控制实验

时间:2024-07-29      来源:网络搜集 关于我们 0

一、实验原理

1、1602 液晶显示简介

1-1 液晶屏幕分为点阵型和液晶型两种,本次试验用到的是液晶屏幕,为字符型可以显示2行16个字符。

1-2 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,每一个字符都有一个固定的代码。

2、LCD驱动设计要求

LCD的读写操作、屏幕和光标的操作都是通过指令编程来实现的。

2-1 指令1:清显示,指令码01H,光标复位到地址00H位置;

2-2 指令2:光标复位,光标返回到地址00H;

2-3 指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效指令;

2-4 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁;

2-5 指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标;

R/L:文字或光标的移动方向,高电平为右移,低电平为左移;

2-6 指令6:功能设置命令DL:高电平时为4 位总线,低电平时为8 位总线 N: 低电平时为单行显示,高电平时双行显示F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符;

2-7 指令7:字符发生器RAM地址设置;

2-8 指令8:DDRAM地址设置;

2-9 指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。

2-10 指令10:写数据;

2-11 指令11:读数据;

3、设计要点总结

3-1 先设置显示模式(4步),后存入DDRAM要显示的字符串,最后显示。

3-2 实验说明中的模式设置有错误,应该如下设置:

Clear: dout <= 8b0000_0001; Setfunction: dout <= 8b0011_1000; Switchmode: dout <= 8b0000_1100; Setmode: dout <= 8b0000_0110;

用字符串来实现赋值方法:

parameter Data_First = "Welcome Redlogic World!", //显示的第一行数据 Data_Second = "Redlogic World!"; //显示的第二行数据

reg

[6:0]

tik;

reg

[183:0]

Data_First_Buf;

reg

[119:0]

Data_Second_Buf;

//液晶显示的数据缓存

………… if(tik<24)

begin

dout <= Data_First_Buf[183:176]; Data_First_Buf <= (Data_First_Buf << 8);

else

end

begin

dout <= Data_Second_Buf[119:112]; Data_Second_Buf <= (Data_Second_Buf << 8);

end

tik <= tik + 1;


注明:本内容来源网络,不用于商业使用,禁止转载,如有侵权,请来信到邮箱:429562386ⓐqq.com 或联系本站客服处理,感谢配合!

用户登陆

    未注册用户登录后会自动为您创建账号

提交留言