基于fpga的数字密码锁(使用矩阵键盘).doc

基于fpga的数字密码锁(使用矩阵键盘).doc
基于fpga的数字密码锁(使用矩阵键盘).doc

基于fpga的数字密码锁(使用矩阵键盘)

..基于FPGA 数字密码锁板子使用的是DE2顶层topmodule lock(reset,clk,row,col,mm0,mm1,mm2,mm3,led1,led2,led3,set_flog);inpu t clk,reset;input [3:0]row;output wire [3:0] col;output wire [6:0] mm0,mm1,mm2,mm3;output reg led1, led2,led3;wire [3:0]key_value;reg [3:0] temp_key;reg [3:0] m0,m1,m2,m3;reg [3:0] m_0,m_1,m_2,m_3;reg [5:0] state;reg [2:0] wei;wire key_valid;reg [1:0]count_wrong;output reg set_flog;parameter valid =6'b000000, set =6'b000001, collection_mm =6'b000010, cmd =6'b000100, collection =6'b001000, wrong =6'b010000, correct =6'b100000, die_lock =6'b000011, lock =6'b000111;always @(posedge clk or negedge reset)begin if(!reset) begin state=6'b000000;wei=0; led3=0;set_flog=0;led1=0; led2=0; m0=15;m1=15;m2=15;m3=15; end else begin case(state) valid : if(key_valid) begin temp_key=key_value; state=collection; end else state=0key_value=9) begin if(led1(!set_flog))//开启状态不能按数字键state=valid; else if((!key_valid)(wei5)) begin -省略部分-=7'b 0100100; 4'b0011:wei1=7'b 0110000; 4'b0100:wei1=7'b 0011001; 4'b0101:wei1=7'b 0010010; 4'b0110:wei1=7'b 0000010; 4'b0111:wei1=7'b 1111000; 4'b1000:wei1=7'b 0000000; 4'b1001:wei1=7'b 0011000;4'b1010:wei1=7'b 0001000; 4'b1011:wei1=7'b 0000011; 4'b1100:wei1=7'b 1000110; 4'b1101:wei1=7'b 0100001; 4'b1110:wei1=7'b 0000110;

相关主题
相关文档
最新文档