dianzhen1.v

来自「通过VERILOG HDL语言使用CPLD连接PS2键盘」· Verilog 代码 · 共 86 行

V
86
字号
module dianzhen1(clock,ldoa,ldob);	
input clock;			
output [7:0] ldoa;		
output [7:0] ldob;		

reg [7:0] ldoa;		
reg [7:0] ldob;
reg [32:0] count;		

always @(posedge clock)
begin
	count=count+1;	
end

always @(count[12:10])	
begin
	case (count[12:10])
		3'h0: ldob = 8'h01;	
		3'h1: ldob = 8'h02;	
		3'h2: ldob = 8'h04;	
		3'h3: ldob = 8'h08;	
		3'h4: ldob = 8'h10;	
		3'h5: ldob = 8'h20;	
		3'h6: ldob = 8'h40;	
		3'h7: ldob = 8'h80;	
	endcase
end

always @(count[12:10])
begin
	case(count[25:24])
	2'b00:			
		begin
			case (count[12:10])
				3'h0: ldoa = 8'hff;	
				3'h1: ldoa = 8'h80;	
				3'h2: ldoa = 8'hf7;
				3'h3: ldoa = 8'hf7;	
				3'h4: ldoa = 8'hf7;	
				3'h5: ldoa = 8'hc7;	
				3'h6: ldoa = 8'hf7;	
				3'h7: ldoa = 8'hf7;	
			endcase
		end
	2'b01: 			
		begin
			case (count[12:10])
				3'h0: ldoa = 8'hf7;	
				3'h1: ldoa = 8'hf7;	
				3'h2: ldoa = 8'hf7;	
				3'h3: ldoa = 8'h80;	
				3'h4: ldoa = 8'hb6;	
				3'h5: ldoa = 8'h80;	
				3'h6: ldoa = 8'hf7;	
				3'h7: ldoa = 8'hf7;	
			endcase
		end
	2'b10:
		begin
			case (count[12:10])
				3'h0: ldoa = 8'hf7;	
				3'h1: ldoa = 8'hf7;	
				3'h2: ldoa = 8'hf7;	
				3'h3: ldoa = 8'hd7;	
				3'h4: ldoa = 8'he7;	
				3'h5: ldoa = 8'hf7;	
				3'h6: ldoa = 8'h80;	
				3'h7: ldoa = 8'hff;	
			endcase
		end
	2'b11:			
		begin
			case (count[12:10])
				3'h0: ldoa = 8'h7e;
				3'h1: ldoa = 8'hbd;
				3'h2: ldoa = 8'hdb;	
				3'h3: ldoa = 8'he7;	
				3'h4: ldoa = 8'hf7;	
				3'h5: ldoa = 8'h80;	
				3'h6: ldoa = 8'hf7;	
				3'h7: ldoa = 8'hf7;	
			endcase
		end
endcase
end
endmodule

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?