四位电子密码锁Verilog代码QuartusII远程平台

名称:电子密码锁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
源代码

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

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值