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

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

ID:48512239

大小:47.00 KB

页数:16页

时间:2020-02-06

基于fpga的数字密码锁(使用矩阵键盘).doc_第1页
基于fpga的数字密码锁(使用矩阵键盘).doc_第2页
基于fpga的数字密码锁(使用矩阵键盘).doc_第3页
基于fpga的数字密码锁(使用矩阵键盘).doc_第4页
基于fpga的数字密码锁(使用矩阵键盘).doc_第5页
资源描述:

《基于fpga的数字密码锁(使用矩阵键盘).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、......基于FPGA数字密码锁板子使用的是DE2顶层topmodulelock(reset,clk,row,col,mm0,mm1,mm2,mm3,led1,led2,led3,set_flog);inputclk,reset;input[3:0]row;outputwire[3:0]col;outputwire[6:0]mm0,mm1,mm2,mm3;outputregled1,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_

2、3;reg[5:0]state;reg[2:0]wei;wirekey_valid;reg[1:0]count_wrong;outputregset_flog;parametervalid=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@(posedgeclkorneg

3、edgereset)beginif(!reset)beginstate<=6'b000000;wei<=0;led3<=0;set_flog<=0;led1<=0;led2<=0;m0<=15;m1<=15;m2<=15;m3<=15;endelsebegincase(state)valid:if(key_valid).专业.专注.......begintemp_key<=key_value;state<=collection;endelsestate<=valid;collection:beginif(key_value>=0&&key_value<=9)

4、beginif(led1&&(!set_flog))//开启状态不能按数字键state<=valid;elseif((!key_valid)&&(wei<5))beginled2<=0;state<=collection_mm;wei<=wei+1'b1;endelsestate<=collection;endelse.专业.专注.......if(!key_valid)state<=cmd;endcollection_mm:begincase(wei)1:m0<=temp_key;2:m1<=temp_key;3:m2<=temp_key;4:m3<=te

5、mp_key;endcasestate<=valid;endcmd:begincase(temp_key)15:if(!led1)beginm0<=15;m1<=15;m2<=15;m3<=15;//*clear.专业.专注.......state<=valid;wei<=0;led2<=0;led1<=0;endelsestate<=valid;14:if(led1)state<=valid;elseif(wei)//backdeletebegincase(wei)1:m0<=15;2:m1<=15;3:m2<=15;4:m3<=15;endcasewei

6、<=wei-1'b1;state<=valid;led2<=0;endelse.专业.专注.......state<=valid;13:if(set_flog)//保存密码beginset_flog<=0;led1<=0;m_0<=m0;m_1<=m1;m_2<=m2;m_3<=m3;state<=lock;endelseif((m0==m_0)&&(m1==m_1)&&(m2==m_2)&&(m3==m_3))//comparebeginstate<=correct;m0<=15;m1<=15;m2<=15;m3<=15;endelsebeginstate

7、<=wrong;count_wrong<=count_wrong+1;end.专业.专注.......12:state<=lock;10:if(led1)//setbeginset_flog<=1;wei<=0;m0<=15;m1<=15;m2<=15;m3<=15;state<=valid;enddefault:state<=valid;endcaseendcorrect:begin//openled1<=1;state<=valid;count_wrong<=0;endwrong:beginled2<=1;state<=valid;led1<=0;if(

8、count_wrong==3)//lockdiebe

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。