数字系统课程设计

您所在的位置:网站首页 电子密码锁电子技术课程设计 数字系统课程设计

数字系统课程设计

2024-07-11 09:52| 来源: 网络整理| 查看: 265

@数字系统课程设计

VHDL密码锁控制器

VHDL语言设计的密码锁控制器,模拟仿真平台为vivado 2018。(学生:慌慌和张张) 使用器材:Nexys4 DDR Artix-7 FPGA 设计软件:Vivado2018

设计要求

(1)设计一个4位密码锁,用户拨动相应的开关进入输入密码状态,输入4位密码,按下确定键后,若密码正确,锁打开,若密码错误,将提示密码错误,要求重新输入,三次输入都错误,将发出报警信号。 (2)用户输入密码时,在按下确定键之前,可以通过按退格键修正,每按一次退格键消除一位密码。 (3)报警后,只有管理员作相应的处理(专用按键)才能停止报警。 (4)管理员可以通过设置(专用按键)更改密码。 (5)如果没有预置密码,密码缺省为“0000”。 (6)正确开锁后,用户处理完毕后,按下确定键,系统回到等待状态。 (7)系统操作过程中,只要密码锁没有打开,如果10秒没有对系统操作,系统回到等待状态。 (8)系统操作过程中,如果密码锁已经打开,如果20秒没有对系统操作,系统自动上锁,回到等待状态。

功能描述

(1)用户密码初始值为“1234”; (2)管理员密码初始值为“0000”; (3)非报警状态下,只要密码锁没有打开,如果10秒没有对系统操作,系统回到等待状态。 (4)非报警状态下,密码锁已经打开,如果20秒没有对系统操作,系统回到等待状态 (5)操作分为用户状态和管理员状态 (6)等待状态默认为用户状态 用户状态: (1)设计一个4位密码锁,用户拨动相应开关进入输入密码状态,输入4位密码,通过数码管显示出来,按下确定键后,若密码正确,锁打开,数码管显示“HELLO”,若密码错误,数码管显示“ERROR”要求重新输入,三次输入都错误,将发出报警信号(10个LED灯闪烁)等待管理员操作。 (2)开锁后,用户可按相应键关锁,回到等待状态,也按下相应键进入修改密码状态,输入四位新密码,按下确认键则修改密码成功。 管理员状态: (1)报警状态下,管理员按下相应键进入输密码状态,输入四位管理员密码,按下确定键进行验证(错误则提示“ERROR”重新输入,没有次数限制)。 (2)验证通过后,管理员可以按下管理员键停止报警,也可以按相应键修改用户密码,输入4位密码后按确认键则修改密码成功。

设计思路

根据自顶向下的设计方法,先确定系统顶层实体的功能设计,按功能划分成若干模块,系统主要由6个模块构成,分别是控制模块,分频模块,显示模块,计数器模块,输入模块,编码模块,然后由6个模块实现具体功能。其中控制模块主要由状态机构成。然后先编写test_bench文件,在仿真平台上运行代码,然后再下载到FPGA板子中,进行硬件的调试。 状态图:

state_pic 接口设置: 状态机输入:共有16个按键输入,10个按键输入0~9,6个按键分别为重置,管理员键,用户键,改密码建,确定键,返回键; 状态机输出:16个LED灯,四位数码管输出。 时钟信号100MHz 状态描述 等待状态 S 等待输入第一位密码状态 等待输入第二位密码状态:S2 等待输入第三位密码状态:S3 等待输入第四位密码状态:S4 密码比较状态:S5 开锁状态:Sopen 管理员状态:Sadmin 报警状态:Salarm 错误状态:Serror

程序设计

密码锁显示模块:给七段数码管显示信号赋值

process(clk) begin case data is when "0000"=>seg7seg7seg7seg7seg7seg7seg7seg7seg7seg7seg7seg7seg7seg7seg7


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3