赞
踩
名称:电子密码锁Verilog代码远程云端平台(文末获取)
软件:Quartus
语言:Verilog
代码功能:
电子密码锁
密码有四位(为二进制)
有个能随机产生四位二进制数的程序作为密码,按一个按键就可以产生这个随机密码,利用另外四个按键开锁,有5次机会,都输入错误后蜂鸣器报警。有五个显示管,一个显示剩余输入密码的次数,另外四个显示输入的密码。
本代码已在远程云端平台验证,远程云端平台如下,其他远程云端平台可以修改管脚适配:
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
扫描文章末尾的公众号二维码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。