我的板子是EMP240T100C5N段选是公用的 我要设计一个密码锁 需要按键控制4位LED数码管....原来搞静态显示,但是4位显示一样的数字.......最近写按键控制动态显示.......写了2天了 都没搞出来动态扫描的程序 已哭!求大神啊!!!
module Display(
D0,
D1,
D2,
D3,
Q,
COM,
Enable,
clk
);
input [3:0] D0,D1,D2,D3;
input Enable,clk;
output [7:0] Q;
output [3:0] COM;
reg [3:0] COM;
reg [7:0] Q;
reg [3:0] Dn;
reg [1:0] state;
always@(posedge clk)
begin
state <= state + 2'b1;
end
always@(posedge clk)
begin
if(!Enable) begin COM <= 4'b1111; Dn <= 4'b1111; end
else
begin
case(state)
2'b00: begin Dn <= D0; COM <= 4'b1110; end
2'b01: begin Dn <= D1; COM <= 4'b1101; end
2'b10: begin Dn <= D2; COM <= 4'b1011; end
2'b11: begin Dn <= D3; COM <= 4'b0111; end
endcase
end
end
always@(Dn)
begin
case(Dn)
4'd0: Q = 8'b0000_0000;
4'd1: Q = 8'b0000_0001;
4'd2: Q = 8'b0000_0010;
4'd3: Q = 8'b0000_0011;
4'd4: Q = 8'b0000_0100;
4'd5: Q = 8'b0000_0101;
4'd6: Q = 8'b0000_0110;
4'd7: Q = 8'b0000_0111;
4'd8: Q = 8'b0000_1000;
4'd9: Q = 8'b0000_1001;
default: Q = 8'b0;
endcase
end
endmodule
FPGA verilog实现键控数码管动态显示 急啊!!
D1,D2,D3,Q,COM,Enable,clk );input [3:0] D0,D1,D2,D3;input Enable,clk;output [7:0] Q;output [3:0] COM;reg [3:0] COM;reg [7:0] Q;reg [3:0] Dn;reg [1:0] state;always@(posedge clk)begin state <= state + 2'b1;end always@(posedge clk)begin if(!En...
...书籍连载14第三篇FPGA至简设计项目 第五章数码管动态扫描_百度...
FPGA至简设计原理与应用 第五章数码管动态扫描 1. 简介<\/ 数码管,无论是共阳极还是共阴极类型,是电子显示中不可或缺的元件。共阳极数码管需要+5V供电,阴极低电平表示亮;共阴极则相反,阳极高电平亮。例如,输入1001111的abcdefg代码对应显示数字1。了解0-9的二进制或十六进制代码至关重要。2. ...
verilog 串口通信问题!紧急,救命! 谢谢! 我就是想用CPLD实现串口通信...
信同步.程序的基本工作过程是,按动一个按键SW0,控制器向PC的串口发送“welcome",PC机接收后显示验证数据是否正确(串口调试工具设成按ASCII码接受方式).PC可随时向CPLD发送0-F的十六进制数据,CPLD接受后显示在7段数码管上.\/ module serial(clk,rst,rxd,txd,en,seg_data,key_input,lowbit);input...