
4×4键盘编码器设计电子系统设计
电子系统设计 4×4键盘编码器设计

4×4键盘编码器设计1.设计题目采用FPGA设计一4X4键盘编码器当按键有效时,DAV产生由高到低的跳变,同时输出4位键值B3~B0。KEYCLK为键盘接口的时钟信+5V号。K0~K15EP4CE67SLEDAXO4位键编码0显示X1 CO~C30译码器显示键值7SLEDB10进制8.显示KAV4O计数器译码器CLKCLKREF显示按键次数电子系统设计
电子系统设计 1.设计题目 采用FPGA设计一4×4键盘编码器当按键有效时,DAV产生由高 到低的跳变,同时输出4位键值B3~B0。KEYCLK为键盘接口的时钟信 号。 4×4键盘编码器设计

4×4键盘编码器设计2.任务一:按键的计数实验+5VEP4CE67SLEDBK15X316进制8.显示NV计数器译码器Y3电子系统设计
电子系统设计 2.任务一:按键的计数实验 4×4键盘编码器设计

4×4键盘编码器设计16进制计数器:module cnt16(clk,qq);input clk;output[3:0] qq;reg[3:0] qq;always @(posedge clk)beginqq<=qq+4'b0001;endendmodule电子系统设计
电子系统设计 module cnt16(clk,qq); input clk; output[3:0] qq; reg[3:0] qq; always @(posedge clk) begin qq <= qq + 4'b0001; end endmodule 16进制计数器: 4×4键盘编码器设计

4×4键盘编码器设计显示译码器4'b0110:led7s = 7'b1111101;module led7s(din,led7s);4'b0111:led7s=7'b0000111;input[3:0] din;4'b1000:led7s=7'b1111111;output[6:0] led7s;4'b1001:led7s=7'b1101111;reg[6:0] led7s;4'b1010:led7s=7'b1110111;always @(din)begin4'b1011:led7s=7'b1111100;case(din)4'b1100:led7s=7'b0111001;4'b0000:led7s=7'b0111111:4'b1101:led7s=7'b1011110;4'b0001:led7s=7b0000110:4b1110:led7s=7'b1111001;default: led7s = 7'b0000000;4'b0010:led7s=7'b1011011:4'b0011:led7s = 7'b1001111;endcaseend4b0100:led7s=7b1100110:endmodule电子系统设计
电子系统设计 module led7s(din,led7s); input[3:0] din; output[6:0] led7s; reg[6:0] led7s; always @(din) begin case(din) 4'b0000: led7s = 7'b0111111; 4'b0001: led7s = 7'b0000110; 4'b0010: led7s = 7'b1011011; 4'b0011: led7s = 7'b1001111; 4'b0100: led7s = 7'b1100110; 4'b0110: led7s = 7'b1111101; 4'b0111: led7s = 7'b0000111; 4'b1000: led7s = 7'b1111111; 4'b1001: led7s = 7'b1101111; 4'b1010: led7s = 7'b1110111; 4'b1011: led7s = 7'b1111100; 4'b1100: led7s = 7'b0111001; 4'b1101: led7s = 7'b1011110; 4'b1110: led7s = 7'b1111001; default: led7s = 7'b0000000; endcase end endmodule 显示译码器 4×4键盘编码器设计

4×4键盘编码器设计3.任务二:按键消抖实验+5VFPGA7SLEDBKoXo消抖16进制显示8.CO计数器电路译码器YO分频CLKOcO PLL电路KEYCLKCLK1f=25MHz电子系统设计
电子系统设计 3.任务二:按键消抖实验 4×4键盘编码器设计

4×4键盘编码器设计消抖电路稳定闭合按键抖动≥16×TcLKgKA键有效DAV按键是否稳定闭合是通过一个具有异步清零和保持功能的16进制计数器CNT16A来检测的。电子系统设计
电子系统设计 消抖电路 按键是否稳定闭合是通过一个具有异步清零和保持功能的16进制 计数器CNT16A来检测的。 4×4键盘编码器设计

4×4键盘编码器设计(1) 消抖计数器qq <= 4'b1111;module cnt16a(clk,clr,KAV);elseinput clk,clr;reg[3:0] qq;qq<= qq + 4'b0001;endoutput KAV;reg KAV;always @(posedge clk)beginalways @(posedge clk or posedgeclr)if(qq == 4'b1001)beginKAV<= 1'b0;if(clr)elseKAV <= 1'bl;qq<= 4'b0000;elseendendmoduleif(qq == 4'b1111)电子系统设计
电子系统设计 (1)消抖计数器 module cnt16a(clk,clr,KAV); input clk,clr; reg[3:0] qq; output KAV; reg KAV; always @(posedge clk or posedge clr) begin if(clr) qq <= 4'b0000; else if(qq == 4'b1111) qq <= 4'b1111; else qq <= qq + 4'b0001; end always @(posedge clk) begin if(qq == 4'b1001) KAV <= 1'b0; else KAV <= 1'b1; end endmodule 4×4键盘编码器设计

4×4键盘编码器设计(2)分频电路:module FREDIV64(CLK,CO):input CLK;output CO;reg [5:0] Q;wire CO;always@(posedge CLK)beginQ<=Q+6'b1;endassign CO=Q[5];endmodule电子系统设计
电子系统设计 (2)分频电路: module FREDIV64(CLK,CO); input CLK; output CO; reg [5:0] Q; wire CO; always@(posedge CLK) begin Q<=Q+6'b1; end assign CO=Q[5]; endmodule 4×4键盘编码器设计

4×4键盘编码器设计4.任务三:4×1键盘编码器实验+5VFPGA7SLEDAB3B28显示B1=0寄存器译码器XOB0=0KoXI4-2K47SLEDBX2优先K8KINX3消抖16进制编码器显示8.K120电路计数器译码器YO1分频CLKOcO PLL电路KEYCLKCLK1f-25MHz电子系统设计
电子系统设计 4.任务三:4×1键盘编码器实验 4×4键盘编码器设计