|
这是我的1602程序。打红色的地方存在的时候,液晶不能初始化,但是引脚的电压是对的,即电压是0x38.
删掉了才可以初始化,这是为什么呀、、
module LCD_DRIVER(sys_clk, rs, en, io_out);
input sys_clk;
output rs, en;
output[7:0]io_out;
wire en;
reg rs;
reg[7:0]io_out;
reg[7:0]buffer;
reg lcd_clk;
reg[15:0]sys_counter;
reg en_sel;
reg[7:0]state;
reg[15:0]lcd_counter;
reg[7:0]action;
parameter Idel = 8'b0000_0000;
parameter START_DISMODE = 8'b0000_0001;
parameter CLOSE_DIS = 8'b0000_0010;
parameter CLR_DIS = 8'b0000_0100;
parameter CURSOR_MOVEMODE = 8'b0000_1000;
parameter CURSOR_DISMODE = 8'b0001_0000;
parameter WRITE_DATA = 8'b0010_0000;
parameter WRITE_COMMAND = 8'b0100_0000;
initial begin
action = START_DISMODE;
end
always@(posedge sys_clk)begin
sys_counter = sys_counter + 1;
if(sys_counter == 50_000)begin
sys_counter = 0;
end
end
always@(posedge sys_clk)begin
if(sys_counter<25_000)
lcd_clk = 1;
else
lcd_clk = 0;
end
always@(posedge lcd_clk)begin
case(state)
START_DISMODE:begin
rs <= 0;
io_out <= 8'h38;
en_sel <= 1;
state <= Idel;
end
Idel:begin
en_sel <= 0;
state <= action;
end
default: state <= action;
endcase
end
always@(posedge lcd_clk)begin
if(action!=Idel)
action<=Idel;
end
assign en = en_sel?lcd_clk:1'b0;
endmodule
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|