【小梅哥FPGA进阶教程】第十二章 数字密码锁设计

十二、数字密码锁设计

本文由山东大学研友袁卓贡献,特此感谢

实验目的

实现数字密码锁设计,要求矩阵按键输出且数码管显示输入密码,密码输入正确与否均会有相应标志信号产生。

实验平台

芯航线FPGA核心板、数码管_VGA_PS2模块、矩阵按键模块

图片1

实验原理

随着生活质量的提高,当代人们也认识到了安全的重要性,已经不再满足于老式的机械钥匙。近年来越来越多的技术开始在安全领域应用,例如普通的按键输入、指纹输入或者虹膜输入等。

本节设计一款按键输入式密码锁,用矩阵键盘输入密码,输入完成后进行密码比对,如密码输入正确则输出开门信号以及灯光指示,如密码输入错误则蜂鸣器进行报警以及灯光指示。

综合以上要求可以看出此处系统框图如图1所示。

图片2

图1 系统框图

其中各模块功能描述如表1所示。

图片3

表1 各模块功能描述

矩阵按键模块

现在分开介绍,矩阵按键输入控制模块的框图及其接口列表如下所示,详细内容可以参考芯航线关于矩阵按键的教程,此处不再详述。

 

图片4

图2 矩阵按键模块框图

图片5

表2 矩阵按键模块接口列表

密码比较模块:

现介绍密码检测模块,其主要功能即比较输入与预设的密码是否一致,

图片6

图2 密码检测模块框图

图片7

表2 密码检测模块列表

这里先将密码设置为4位十进制数1234,如下所示

parameter PASSWORD = 16'b0001_0010_0011_0100;

通过计数矩阵按键按下标志信号,依次将数据暂存到寄存器mima_r中。

    always@(posedge Clk or negedge Rst_n) begin
    if(!Rst_n)
        key_cnt <= 2'b0;
    else if(key_flag) 
  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值