当前位置:   article > 正文

四位电子密码锁Verilog代码QuartusII远程平台_计一个密码锁。密码锁的密码可以由设计者自行设定,设该锁有规定的4位二进制代

计一个密码锁。密码锁的密码可以由设计者自行设定,设该锁有规定的4位二进制代

名称:电子密码锁Verilog代码远程云端平台(文末获取)

软件:Quartus

语言:Verilog

代码功能:

电子密码锁

密码有四位(为二进制)

有个能随机产生四位二进制数的程序作为密码,按一个按键就可以产生这个随机密码,利用另外四个按键开锁,有5次机会,都输入错误后蜂鸣器报警。有五个显示管,一个显示剩余输入密码的次数,另外四个显示输入的密码。

本代码已在远程云端平台验证,远程云端平台如下,其他远程云端平台可以修改管脚适配:

远程平台照片.png

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. 仿真文件

7. 仿真图

整体仿真图

下图生成的随机密码为0111,先后输入4次密码,第一次输入0101,按确认键后错误,剩余次数变为4,随后输入0010、1010都错误,剩余次数也变为2,最后输入0111,密码正确,可输入密码次数回到5次。

部分代码展示:

module mimasuo(
input clk,
input reset,//复位
input random_key,//随机密码按键
input key_0,//输入二进制0
input key_1,//输入二进制1
input confirm_key,//确认键,输入完成后按下确认键
input lock_up,//关锁按键
output [3:0] correct_password_led,//随机密码指示灯
output led_open,//开锁指示灯
output alarm_beep,//报警蜂鸣器
output [7:0] segment,//数码管段选显示
output [3:0] select, //数码管位选显示
output [7:0] HEX//数码管段选显示
);
wire [3:0] correct_password;//随机密码
wire [3:0] password_in;//显示输入密码
wire [2:0] errorcnt;//显示剩余次数计数
//m序列产生随机密码
m_code i_m_code(
. clk(clk),
. rst(reset),
. random_key(random_key),//随机密码按键
. dout(correct_password)//输出随机密码
    );
//控制模块
mimasuo_ctrl i_mimasuo_ctrl(
. clk(clk),
. reset(reset),//复位
. key_0(key_0),//输入二进制0
. key_1(key_1),//输入二进制1
. confirm_key(confirm_key),//确认键,输入完成后按下确认键
. lock_up(lock_up),//关锁按键
. correct_password(correct_password),//随机密码
. correct_password_led(correct_password_led),//随机密码指示灯
. led_open(led_open),//开锁指示灯
. alarm_beep(alarm_beep),//报警蜂鸣器
. password_in(password_in),//显示输入密码
. errorcnt(errorcnt)//显示剩余次数计数
);
//数码管显示模块
display i_display(
. clk(clk),//
. password_in(password_in),//输入密码
. errorcnt(errorcnt),//剩余次数计数
. segment(segment),//数码管段选显示
. select(select), //数码管位选显示
. HEX(HEX)//数码管段选显示
);
endmodule
源代码

 扫描文章末尾的公众号二维码

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/860360
推荐阅读
相关标签
  

闽ICP备14008679号