赞
踩
名称:Quartus电子密码锁Verilog代码远程云端平台(文末获取)
软件:Quartus
语言:Verilog
代码功能:
电子密码锁
通过开关控制是否开始输入密码
可以通过按键控制输入密码
密码输入错误则报警
输入密码10秒内没有开锁则报警
开锁后数码管显示OP
内置初始密码4321
本代码已在远程云端平台验证,远程云端平台如下,其他远程云端平台可以修改管脚适配:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 管脚分配
6. Testbench
7. 仿真图
整体仿真图
分频模块仿真图
按键上升沿检测模块
Led流水灯控制模块
状态控制模块
显示模块
部分代码展示:
//数字密码锁 module mimasuo( input clk, input RST,//复位 input SW_0,//switch input key0,//输入递增按键 input key1,//确认按键 output [3:0] LED_out, output [7:0] segment_ten,//数码管段选十位 output [7:0] segment_one//数码管段选个位 ); wire key0_posedge; wire key1_posedge; wire second_en;//秒计时信号脉冲 wire [2:0] state;//状态 wire [3:0] down_time;//倒计时 wire [3:0] word_in;//当前输入密码值 wire clk_2Hz;//输出2Hz wire [3:0] OPEN_LED;//输出流水灯 //按键上升沿检测模块 key_posedge i0_key_posedge( . clk(clk),//时钟 . key_in(key0),//输入按键 . key_posedge(key0_posedge) //按键上升沿 ); //按键上升沿检测模块 key_posedge i1_key_posedge( . clk(clk),//时钟 . key_in(key1),//输入按键 . key_posedge(key1_posedge) //按键上升沿 ); //分频到1Hz信号,用于秒倒计时 div_1Hz i_div_1Hz( . clk(clk),//1KHz . second_en(second_en)//秒信号 ); //状态控制 state_control i_state_control( . clk(clk), . RST(RST),// . SW_0(SW_0),//Switch[0] . key0_posedge(key0_posedge),//输入递增按键 . key1_posedge(key1_posedge),//确认按键 . second_en(second_en),//秒计时信号脉冲 . state(state),//状态 . down_time(down_time),//倒计时 . word_in(word_in)//当前输入密码值 ); //流水灯控制模块,密码正确显示流水灯 led_ctrl i_led_ctrl( . clk(clk),//时钟 . clk_2Hz(clk_2Hz),//输出2Hz . OPEN_LED(OPEN_LED)//输出流水灯 ); //数码管显示模块 display i_display( . clk(clk),// . state(state),//状态 . down_time(down_time),//倒计时 . word_in(word_in),//当前输入密码值 . clk_2Hz(clk_2Hz),//输出2Hz . OPEN_LED(OPEN_LED),//输出流水灯 . LED_out(LED_out), . segment_ten(segment_ten),//数码管段选十位 . segment_one(segment_one)//数码管段选个位 ); endmodule
扫描文章末尾的公众号二维码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。