
基于FPGA的LCD12864显示屏四行字符显示实验(含Verilog代码及Quartus 11.0项目文件).zip
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本资源包含基于FPGA实现的LCD12864显示屏四行字符显示实验,提供详细的Verilog代码和Quartus 11.0项目文件,适合学习与实践。
FPGA控制LCD12864显示屏显示四行字符的实验可以参考以下Verilog逻辑源码及Quartus 11.0工程文件。所使用的FPGA型号为CYCLONE4E系列中的EP4CE6E22C8。
```verilog
module lcd12864(clk, rs, rw, en, dat, psb);
input clk; // 系统时钟输入50MHz
output reg [7:0] dat; // LCD的8位数据口
output reg rs;
output reg rw;
output reg en;
output reg psb;
reg e;
reg [15:0] counter;
reg [6:0] current, next;
reg clkr;
reg [1:0] cnt;
always @(posedge clk) // 定时频率
begin
counter = counter + 1;
if (counter == 16h000f)
clkr =~ clkr;
end
always @(posedge clkr) begin
current = next;
case(current)
7d0: begin rs <= 0; dat <= 8h31; next <= next + 1b1; end // 设置8位格式
7d1: begin rs <= 0; dat <= 8h0C; next <= next + 1b1; end // 整体显示,关光标,不闪烁
7d2: begin rs <= 0; dat <= 8h06; next <= next + 1b1; end // 设定输入方式,增量不移位
7d3: begin rs <= 0; dat <= 8h01; next <= next + 1b1; end // 清除显示
// 显示第一行数据
7d4: begin rs <= 1; dat <= 8hB4; next <= next + 1b1; end
7d5: begin rs <= 1; dat <= 8hF3; next <= next + 1b1; end
7d6: begin rs <= 1; dat <= 8hCE; next <= next + 1b1; end
7d7: begin rs <= 1; dat <= 8hF7;next<=next+1b1;end
// 显示第二行数据
7d8: begin rs<=1;dat<=B9;next<=next+1b1;end
7d9: begin rs<=1;dat<=CF;next<=next+1b1;end
// 显示第三、四行数据(假设每个字符为ASCII码)
7d10: begin rs <= 1; dat <=-; next <= next + 1b1; end
7d11: begin rs <= 1; dat<=F;next<=next+1b1;end
7d12: begin rs <= 1; dat<=P; next<=next+1b1;end
7d13: begin rs <= 1; dat <=G;next<=next+1b1; end
7d14: begin rs <= 1; dat <=A; next<=next+1b1; end
7d15: begin rs <= 1; dat<=!; next<=next+1b1;end
// 更多行数据的显示可以根据需要继续添加
...
```
该代码段展示了如何通过Verilog语言控制FPGA驱动LCD显示屏,以实现字符的逐行显示。
全部评论 (0)


