• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

基于FPGA的数字密码锁设计Verilog代码Quartus EPM240-CPLD开发板

07/17 10:24
502
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240304151423923.doc

共1个文件

名称:基于FPGA的数字密码锁设计Verilog代码Quartus? EPM240-CPLD开发板

软件:Quartus

语言:Verilog

代码功能:

设计一个数字密码锁,用户可输入4位数密码(用4个按键分别代表4个不同的数字),连续输入3次不正确则报警。开锁密码预先设定。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在EPM240-CPLD开发板验证,EPM240-CPLD开发板如下,其他开发板可以修改管脚适配:

EPM240-CPLD开发板照片.png

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. 仿真图

部分代码展示:

module?mimasuo(
input?clk,//时钟
input?reset,//复位,按下低电平
input?key_0_in,//数字按键0~3
input?key_1_in,//数字按键0~3
input?key_2_in,//数字按键0~3
input?key_3_in,//数字按键0~3
input?confirm_key,//确认按键,代表密码输入完成
output?led,//显示密码正确与否
output?bell,//低电平响
//输入的密码在8?array?7segment中显示,段选位选低电平亮
output?[7:0]?seg_select,//数码管位选
output?[3:0]?bit_select//数码管段选
);
wire?key_0;
wire?key_1;
wire?key_2;
wire?key_3;
wire?confirm;
wire?pass_or_not;//1表示正确,0表示错误
wire?[15:0]?password;
assign?led=~pass_or_not;//led低电平亮
//输入按键消抖
key_jitter?i0_key_jitter(
.?clkin(clk),?????
.?key_in(key_0_in),//输入
.?key_negedge(key_0)//消抖后按键
);
key_jitter?i1_key_jitter(
.?clkin(clk),?????
.?key_in(key_1_in),//输入
.?key_negedge(key_1)//消抖后按键
);
key_jitter?i2_key_jitter(
.?clkin(clk),?????
.?key_in(key_2_in),//输入
.?key_negedge(key_2)//消抖后按键
);
key_jitter?i3_key_jitter(
.?clkin(clk),?????
.?key_in(key_3_in),//输入
.?key_negedge(key_3)//消抖后按键
);
key_jitter?i4_key_jitter(
.?clkin(clk),?????
.?key_in(confirm_key),//输入
.?key_negedge(confirm)//消抖后按键
);
//密码输入及判断模块
mima_input?i_mima_input(
.?clk(clk),
.?key_0(key_0),
.?key_1(key_1),
.?key_2(key_2),
.?key_3(key_3),
.?bell(bell),
.?confirm(confirm),//代表密码输入完成
.?reset(reset),//复位
.?pass_or_not(pass_or_not),//1表示正确,0表示错误
.?password(password)
);
display?i_display?(
.?clk(clk),
.?password(password),
.?bit_select(bit_select),//数码管位选
.?seg_select(seg_select)//数码管段选
);
endmodule

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=684

  • 2-240304151423923.doc
    下载

相关推荐