LCD12864屏显示中文实验cylone4e FPGA(EP4CE6)Verilog例程quartus11.0工程源码,可以做为你的学习设计参考。 module LCD12864 (clk, rs, rw, en,dat); input clk; //系统时钟输入50M output [7:0] dat; //LCD的8位数据口 output rs,rw,en; //LCD的控制脚 reg e; reg [7:0] dat; reg rs; reg [15:0] counter; reg [6: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'h11; parameter dat11=6'h12; parameter dat12=6'h13; parameter dat13=6'h14; parameter dat14=6'h15; parameter dat15=6'h16; parameter dat16=6'h17; parameter dat17=6'h18; parameter dat18=6'h19; parameter dat19=6'h1A; parameter dat20=6'h1B; parameter dat21=6'h1C; parameter dat22=6'h1D; parameter dat23=6'h1E; parameter dat24=6'h1F; parameter dat25=6'h20; parameter dat26=6'h21; parameter dat27=6'h22; parameter dat28=6'h23; parameter dat29=6'h24; parameter dat30=6'h25; parameter dat31=6'h26; parameter dat32=6'h27; parameter dat33=6'h28; parameter dat34=6'h29; parameter dat35=6'h2A; parameter dat36=6'h2B; parameter dat37=6'h2C; parameter dat38=6'h2D; parameter dat39=6'h2E; parameter dat40=6'h3F; parameter nul=6'h35; 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'h31; next<=set1; end //*设置8位格式,* set1: begin rs<=0; dat<=8'h0C; next<=set2; end //*整体显示,关光标,不闪烁*/ set2: begin rs<=0; dat<=8'h06; next<=set3; end //*设定输入方式,增量不移位*/ set3: begin rs<=0;