📄 lcd1.v
字号:
`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date: 19:06:08 10/22/2008 // Design Name: // Module Name: lcd1 // Project Name: // Target Devices: // Tool versions: // Description: //// Dependencies: //// Revision: // Revision 0.01 - File Created// Additional Comments: ////////////////////////////////////////////////////////////////////////////////////// synthesis attribute STEPPING top "ES" module top (clk, lcd_rs, lcd_rw, lcd_e, lcd_4, lcd_5, lcd_6, lcd_7); parameter n = 27; parameter k = 17; input clk; // synthesis attribute PERIOD clk "100.0 MHz" reg [n-1:0] count=0; reg lcd_busy=1; // Lumex LCM-S01602DTR/B reg lcd_stb; reg [5:0] lcd_code; reg [6:0] lcd_stuff; reg [0:119] cod="RobortTeamXJTU"; output reg lcd_rs; output reg lcd_rw; output reg lcd_7; output reg lcd_6; output reg lcd_5; output reg lcd_4; output reg lcd_e; always @ (posedge clk) begin count <= count + 1; case (count[k+7:k+2]) 0: lcd_code <= 6'b000010; // function set 1: lcd_code <= 6'b000010; 2: lcd_code <= 6'b001100; 3: lcd_code <= 6'b000000; // display on/off control 4: lcd_code <= 6'b001100; 5: lcd_code <= 6'b000000; // display clear 6: lcd_code <= 6'b000001; 7: lcd_code <= 6'b000000; // entry mode set 8: lcd_code <= 6'b000110; 9: lcd_code <= {2'h2,cod[0:3]}; // H 10: lcd_code <= {2'h2,cod[4:7]}; 11: lcd_code <= {2'h2,cod[8:11]}; // e 12: lcd_code <= {2'h2,cod[12:15]}; 13: lcd_code <= {2'h2,cod[16:19]}; // l 14: lcd_code <= {2'h2,cod[20:23]}; 15: lcd_code <= {2'h2,cod[24:27]}; // l 16: lcd_code <= {2'h2,cod[28:31]}; 17: lcd_code <= {2'h2,cod[32:35]}; // o 18: lcd_code <= {2'h2,cod[36:39]}; 19: lcd_code <= {2'h2,cod[40:43]}; // 20: lcd_code <= {2'h2,cod[44:47]}; 21: lcd_code <= {2'h2,cod[48:51]}; // W 22: lcd_code <= {2'h2,cod[52:55]}; 23: lcd_code <= {2'h2,cod[56:59]}; // o 24: lcd_code <= {2'h2,cod[60:63]}; 25: lcd_code <= {2'h2,cod[64:67]}; // r 26: lcd_code <= {2'h2,cod[68:71]}; 27: lcd_code <= {2'h2,cod[72:75]}; // l 28: lcd_code <= {2'h2,cod[76:79]}; 29: lcd_code <= {2'h2,cod[80:83]}; // d 30: lcd_code <= {2'h2,cod[84:87]}; 31: lcd_code <= {2'h2,cod[88:91]}; // ! 32: lcd_code <= {2'h2,cod[92:95]}; 33: lcd_code <= {2'h2,cod[96:99]}; 34: lcd_code <= {2'h2,cod[100:103]}; 35: lcd_code <= {2'h2,cod[104:107]}; 36: lcd_code <= {2'h2,cod[108:111]}; 37: lcd_code <= {2'h2,cod[112:115]}; 38: lcd_code <= {2'h2,cod[116:119]}; default: lcd_code <= 6'b010000; endcase if (lcd_rw) lcd_busy <= 0; lcd_stb <= ^count[k+1:k+0] & ~lcd_rw & lcd_busy; // clkrate / 2^(k+2) lcd_stuff <= {lcd_stb,lcd_code}; {lcd_e,lcd_rs,lcd_rw,lcd_7,lcd_6,lcd_5,lcd_4} <= lcd_stuff; end endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -