DE2-115板4位电子密码锁数码管LCD1602液晶显示verilog代码

名称:DE2-115开发板的4位电子密码锁数码管LCD1602液晶显示

软件:Quartus II

语言:Verilog

代码功能:

1、 设计一个四位的电子密码锁,每按下一个数字键,就输入一个数字,并在显示器上显示该数值,同时将先前输入的数据左移。

2、此外,包含密码更改(可以通过按键修改新密码),密码上锁和密码解除(按下解除首先检查密码是否正确,密码正确就开锁)功能。

3、密码连续错误3次报警

4、通过数码管和LCD1602液晶显示密码锁的开关状态

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

DE2115密码锁.png

演示视频:DE2-115开发板的4位电子密码锁数码管LCD1602液晶显示

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

代码下载:

DE2-115开发板的4位电子密码锁数码管LCD1602液晶显示(代码在文末下载)软件:Quartus II语言:Verilog代码功能:1、 设计一个四位的电子密码锁,每按下一个数字键,就输入一个数字,并在显示器上显示该数值,同时将先前输入的数据左移。2、此外,包含密码清除(密码右移),密码更改(可以通过按键修改新密码),密码上锁和密码解除(按下解除首先检查密码是否正确,密码正确就开锁)功名称:DE2-115开发板的4位电子密码锁数码管LCD1602液晶显示(代码在文末下载)软件:Quartus II语言:Verilog代码功能:1、 设计一个四位的电子密码锁,每按下一个数字键,就输入一个数字,并在显示器上显示该数值,同时将先前输入的数据左移。2、此外,包含密码清除(密码右移),密码更改(可以通过按键修改新密码),密码上锁和密码解除(按下解除首先检查密码是否正确,密码正确就开锁)功icon-default.png?t=N7T8http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=231

部分代码展示:

//密码锁控制模块
module mimasuo_ctrl(
input clk,
input [15:0] password,//输入的密码
input [15:0] correct_password,//正确的密码
input confirm,//确认
input reset,//清楚报警
input modify,//修改密码
input lock_up,//上锁
output led_open,//开锁指示灯
output [2:0] current_state//当前状态
);
//定义6个状态
parameter s_lock=3'd0;
parameter s_compare=3'd1;
parameter s_pass=3'd2;
parameter s_error=3'd3;
parameter s_modify=3'd4;
parameter s_alarm=3'd5;
reg [2:0] state=3'd0;
assign current_state=state;
reg [2:0] error_cnt=3'd0;
//状态机控制
always@(posedge clk)
case(state)
s_lock://锁定状态
if(confirm==1)
state<=s_compare;
else
state<=s_lock;
s_compare://比对密码状态
if(correct_password==password)
state<=s_pass;
else
state<=s_error;
s_pass://密码正确
if(modify==1)
state<=s_modify;//修改密码
else if(lock_up==1)
   state<=s_lock;//上锁
else
state<=s_pass;
s_error://密码错误
if(error_cnt>=3'd2)
state<=s_alarm;//错误3次报警
else
state<=s_lock;//继续锁定
s_alarm://报警
if(reset==1)//清除报警
state<=s_lock;//继续锁定
else
state<=s_alarm;//报警
s_modify://修改密码
if(confirm==1)
state<=s_pass;//返回开锁状态
else
state<=s_modify;
default:state<=s_lock;
endcase

设计文档:

1. 工程文件

2. 程序文件

3. 管脚分配

4. 程序编译

5. RTL图

6. Testbench

7. 仿真图

整体仿真图

默认密码1234,下图输入1234后按下确认键后开锁,led_open高电平表示开锁,此时按下modify按键进行密码修改,输入新密码后,按下确认键,将密码修改为2537。

修改完密码按下lock_up键,锁定,此时led_open变为低电平

输入原密码1234无法打开,连续输入三次密码错误后报警,alarm信号拉高

按下reset信号关闭报警,才能再次密码,关闭报警后输入新密码2537,将锁打开。

注:按键按下均为低电平。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
de2-115开发是一款由Altera公司推出的基于Cyclone IV系列FPGA芯片的开发。它是一款功能丰富且灵活扩展的开发平台,适用于各种嵌入式系统的设计与开发。 首先,de2-115开发提供了丰富的硬件资源。它内置了一个Cyclone IV EP4CE115F29芯片,拥有115,200逻辑单元(LE)和6,981kbit的存储器单元(M9K)。这使得开发者能够实现复杂的逻辑功能和存储需求。同时,开发上还提供了8MB的SDRAM和4MB的Flash存储器作为外部存储,方便用户存储和加载程序。 其次,de2-115开发具有丰富的输入输出接口。它包含了许多常用的接口和组件,如USB接口、SD卡插槽、VGA接口和音频接口等。这些接口使得开发者可以方便地与外部设备进行数据交互,进一步扩展了开发的应用范围。 另外,de2-115开发还配备了许多实用的外设。包括16个开关、16个LED灯和9个七段数码管,方便用户进行输入和输出的交互。此外,开发还提供了4个脉冲宽度调制(PWM)输出通道和4个可编程时钟信号源,以满足不同的应用需求。 最后,de2-115开发还支持多种开发软件和编程语言。开发者可以使用Altera的Quartus II软件进行开发,并可选择使用Verilog HDL或VHDL等编程语言。这样,开发者可以根据自己的喜好及项目需求,进行灵活的开发和设计。 综上所述,de2-115开发具有强大的硬件资源、丰富的输入输出接口、实用的外设和支持多种开发软件和编程语言等特点。它是一款功能丰富、易于扩展和使用的嵌入式系统开发平台,适合各种项目的设计与开发
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值