基于FPGA的数字电子密码锁Verilog开发Modelsim仿真

链接:https://pan.baidu.com/s/1fWTeeahswxwVfWLEwi9TNg
提取码:d334

部分参考代码

module MiMaSuo (
	input clk,
	input rst_n,
	
	input ling,
	input yi,
	input er,
	input san,
	input si,
	input wu,
	input liu,
	input qi,
	input ba,
	input jiu,
	
	input gm,
	input del,
	input unlock,
	
	output wrongled,
	output lockled,
	output openled,
	output [7:0] seg0,
	output [7:0] seg1,
	output [7:0] seg2,
	output [7:0] seg3,
	output [7:0] seg4,
	output [7:0] seg5
);
	
wire [23:0] data8_r;      //显示在数码管上的值

wire[3:0] data0;
wire[3:0] data1;
wire[3:0] data2;
wire[3:0] data3;
wire[3:0] data4;
wire[3:0] data5;

wire gm_r;
wire del_r;

wire ling_r;
wire yi_r;
wire er_r;
wire san_r;
wire si_r;
wire wu_r;
wire liu_r;
wire qi_r;
wire ba_r;
wire jiu_r;
wire unlock_r;
	
	key k0 (.clk(clk), .rst_n(rst_n), .key_n(ling),	.key_out(ling_r));
	key k1 (.clk(clk), .rst_n(rst_n), .key_n(yi),	.key_out(yi_r));
	key k2 (.clk(clk), .rst_n(rst_n), .key_n(er),	.key_out(er_r));
	key k3 (.clk(clk), .rst_n(rst_n), .key_n(san),	.key_out(san_r));
	key k4 (.clk(clk), .rst_n(rst_n), .key_n(si),	.key_out(si_r));
	key k5 (.clk(clk), .rst_n(rst_n), .key_n(wu),	.key_out(wu_r));
	key k6 (.clk(clk), .rst_n(rst_n), .key_n(liu),	.key_out(liu_r));
	key k7 (.clk(clk), .rst_n(rst_n), .key_n(qi),	.key_out(qi_r));
	key k8 (.clk(clk), .rst_n(rst_n), .key_n(ba),	.key_out(ba_r));
	key k9 (.clk(clk), .rst_n(rst_n), .key_n(jiu),	.key_out(jiu_r));

	key k10 (.clk(clk), .rst_n(rst_n), .key_n(gm),	.key_out(gm_r));
	key k11 (.clk(clk), .rst_n(rst_n), .key_n(del),	.key_out(del_r));
	key k12 (.clk(clk), .rst_n(rst_n), .key_n(unlock),	.key_out(unlock_r));

	 //-----------------------输入值控制模块------------------------
	dingceng p1 (.clk(clk), .rst_n(rst_n), .ling(~ling_r), .yi(~yi_r), .er(~er_r), .san(~san_r), .si(~si_r), 
	.wu(~wu_r), .liu(~liu_r), .qi(~qi_r), .ba(~ba_r), .jiu(~jiu_r), .gm(~gm_r), .del(~del_r), .unlock(~unlock_r), .data8(data8_r), .wrongled(wrongled), .lockled(lockled), .openled(openled));
	 //-----------------------动态显示控制模块------------------------ 
	show pp1 (.clk(clk), .rst_n(rst_n), .data8(data8_r), .data0(data0), .data1(data1), .data2(data2), .data3(data3),.data4(data4), .data5(data5));
	 //-----------------------数码管显示模块------------------------
	seg7 s1 (.clk(clk),.rst_n(rst_n), .data0(data0), .data1(data1), .data2(data2), .data3(data3), .data4(data4), .data5(data5),.seg0(seg0), .seg1(seg1), .seg2(seg2), .seg3(seg3), .seg4(seg4), .seg5(seg5));
 
endmodule
 

.

.

  • 1
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
FPGA(现场可编程门阵列)数字密码锁是一种安全控制设备,可将输入的数字密码与锁定的密码进行比较,以确定是否允许用户获得访问权限。要编写FPGA数字密码锁的代码,需要以下步骤: 首先,您需要了解数字密码锁的逻辑设计。它通常包括输入密码、检查密码、验证密码和控制电路。输入密码可以由数字键盘或其他输入设备提供。检查密码可以由比较器电路完成,用于比较输入密码和锁定密码。验证密码可以通过LED或LCD显示器在线上显示密码错误或正确以及其他用户指示。最后,控制电路可以控制继电器以开启或关闭门等。 接下来,您需要选择FPGA芯片并在其上编写代码。这可以使用Verilog或VHDL等硬件描述语言完成。在这种情况下,您需要定义输入和输出管脚,以便FPGA与其他电路进行交互。此外,你需要实现密码存储器的读取和写入功能。也可以将其他功能添加到系统中,例如计时器、警报器或防抄袭功能等。 最后,您可以使用仿真器或开发板测试您的代码。在仿真器中,您可以模拟输入数字密码,并检查和验证输出信号和电路状态。在开发板上,您可以将代码烧录到FPGA芯片中,并实际测试数字密码锁与其他电路的交互。 总体而言,基于FPGA数字密码锁的代码的实现需要设计电路、硬件描述语言编写,还需要对开发板进行测试检验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值