LCD12864显示英文字符实验cylone4e FPGA(EP4CE6)Verilog例程quartus11.0工程源码,可以做为你的学习设计参考。 //本实验是用LCD12864显示英文。(LCD带字库) module lcd (clk, rs, rw, en,dat); input clk; output [7:0] dat; output rs,rw,en; //tri en; reg e; reg [7:0] dat; reg rs; reg [15:0] counter; reg [5:0] current,next; reg clkr; reg [1:0] cnt; parameter set0=6'h0; parameter set1=6'h1; parameter set2=6'h2; parameter set3=6'h3; parameter set4=6'h4; parameter set5=6'h5; parameter set6=6'h6; parameter dat0=6'h7; parameter dat1=6'h8; parameter dat2=6'h9; parameter dat3=6'hA; parameter dat4=6'hB; parameter dat5=6'hC; parameter dat6=6'hD; parameter dat7=6'hE; parameter dat8=6'hF; parameter dat9=6'h10; parameter dat10=6'h12; parameter dat11=6'h13; parameter dat12=6'h14; parameter dat13=6'h15; parameter dat14=6'h16; parameter dat15=6'h17; parameter dat16=6'h18; parameter dat17=6'h19; parameter dat18=6'h1A; parameter dat19=6'h1B; parameter dat20=6'h1C; parameter dat21=6'h1D; parameter dat22=6'h1E; parameter dat23=6'h1F; parameter dat24=6'h20; parameter dat25=6'h21; parameter dat26=6'h22; parameter nul=6'hF1; always @(posedge clk) begin counter=counter+1; if(counter==16'h000f) clkr=~clkr; end always @(posedge clkr) begin current=next; case(current) set0: begin rs<=0; dat<=8'h30; next<=set1; end set1: begin rs<=0; dat<=8'h0c; next<=set2; end set2: begin rs<=0; dat<=8'h6; next<=set3; end set3: begin rs<=0; dat<=8'h1; next<=dat0; end dat0: begin rs<=1; dat<="L"; next<=dat1; end //显示第一行 dat1: begin rs<=1; dat<="y"; next<=dat2; end dat2: begin rs<=1; dat<="c"; next<=dat3; end dat3: begin rs<=1; dat<=" ";next<=dat4; end dat4: begin rs<=1; dat<="F"; next<=dat5; end dat5: begin rs<=1; dat<="r"; next<=dat6; end dat6: begin rs<=1; dat<="e"; next<=dat7; end dat7: begin rs<=1; dat<