版主 你好 我是FPGA的萌新一枚 斗胆不才根据你的程序进行改编了一下,想做一个键盘控制12864显示,但是发现,但键盘摁下6和7 时 12864就会出现花屏的情况。 能帮忙看一下是那边出的问题吗 下面附有我改的代码
module lcd(//针对型号为RT12864-S
input Sys_Clk,
input Rst,
input down,
input right,
input data_in,
input clear,
input [7:0] data,
output reg LCD_RS,
output LCD_RW,
output LCD_E,
output LCD_psb,
output LCD_Rst,
output [7:0]lcd_data
// output PSB//串并控制端口,H为并行,L为串行,直接接5v
// output LCD_Rst,//液晶的复位端口,低电平有效
//由于端口不够,暂时让其悬空
);
assign lcd_data = lcd_data_out;
reg [7:0] lcd_data_out;
reg LCD_Clk;
reg[7:0] state;//状态机寄存器
reg [23:0] cnt;//计数器
reg flag;//显示完成标志
reg[5:0]char_cnt;
reg[7:0]data_disp;//一个字节是八位,一个英文字符是一个字节,中文是俩个字节
reg [2:0] x;
reg [3:0] y;
parameter T500KHZ=24'd12287;
// parameter T500KHZ=24'd24_999_999;//测试低频现象
// parameter T500KHZ=24'd24_9;//仿真专用
//首先先对系统频率分频,液晶所需频率不用这么高,但是是多少呢?由datasheet可得出该液晶的最大频率是590kHZ
//典型值为530KH,为了好算取个值500KHZ,50M/500KHZ=10HZ,计数5M/2变化一次方向
assign LCD_psb = 1'b1;
assign LCD_Rst = 1'b1;
always@(posedge Sys_Clk or negedge Rst)
begin
if(!Rst) begin
cnt