文档介绍:大连理工大学本科实验报告
题目:基于VHDL 4位电子密码锁的设计
课程名称: 数字电路课程设计
学院(系):电子信息与电气工程
专业: 电子英强
班级:
学生姓名:
学号:
完成日期:
成绩:
2013 年 7 月 08 日
题目:基于VHDL 4位电子密码锁的设计
1 设计要求
电子密码锁为4位8421BCD码,多于4位,密码只取前4位。
在输入密码错误,给出一个错误信号,有三次输入机会,若三次密码都输入错误,则给出一个报警信号,此后只能由密码管理员取消报警信号。
在输入密码正确的情况下,可以再次设定密码。
每次输入一个密码,将显示在7段数码管上,并依次左移。
每次输入密码的时候,按取消(cancel)键可以取消这次密码的输入,课重新输入4位密码。
2 设计分析及系统方案设计
在实验室DE2开发板的条件下,考虑到key键只有4个,可以用switch开关来实现密码输入模块,用switch[9]~switch[0] 来实现数字9~0的输入,并通过译码模块将其转化为8421BCD码,由8421BCD码来驱动7段数码管作为密码锁的显示模块。每按一个键,产生一个上升沿,给4个数码管做时钟,实现没输入一个数左移一位的效果。
为了实现密码输入多于4位,可以构造一个模为4的计数器来控制只取前4位密码。共有三次输入密码的机会,可以构造一个模为3的计数器来控制。
密码比较模块:当按下确定键(yes)键,则将输入的密码和内置密码进行比较。密码输入模块:当输入密码正确时,再输入密码,利用重置密码键(set_psw)直接将其赋值给内置的密码psw即可实现。
LED显示模块,用来显示密码输入的正确与否。若输入密码与内置密码一致,则锁打开,输出一个高电平给LEDG,绿灯亮,密码错误则输出一个高电平给LEDR,红灯亮。
综合上述分析,本系统的硬件部分主要由密码锁输入译码模块、密码锁显示模块、密码锁控制模块、密码比较和重置模块和LED显示模块五个部分组成。
LED显示模块
密码锁比较和重置
密码锁显示模块
密码锁输入译码
密码锁控制模块
3系统以及模块硬件电路设计
说明:
1. 密码锁显示模块:段数码管是电子开发过程中常用的输出显示设备。在本设计中使用的是4个四位一体、共阳极型七段数码管。其单个静态数码管如右图所示。
:
用switch[9]~[0]实现数字9到0的输入。
reset
start
Out0
密码锁输入和译码
q(4 downto 0)
分频器
Out1
clk Clk_in
Out2
Num[9]
至
Num[0]
Cancel
Out3
yes
密码比较和重置
Correct
Out_error
alarm
Out_q(15 downto 0)
Psw(15 downto 0)
Set_psw
DE2开发板上使用的元件的管脚编号如下:
端口名
FPGA管脚
说明
alarm
pin_af23
报警信号,红灯亮
cancel
pin_v1
取消密码输入
clk
pin_n2
50MHz时钟
correct
pin_ae22
密码正确,绿灯亮
num[0]
pin_n25
输入数字0到9
num[1]
pin_n26
num[2]
pin_p25
num[3]
pin_ae14
num[4]
pin_af14
num[5]
pin_ad13
num[6]
pin_ac13
num[7]
pin_c13
num[8]
pin_b13
num[9]
pin_a13
out0[0]
pin_af10
u0数码管
out0[1]
pin_ab12
out0[2]
pin_ac12
out0[3]
pin_ad11
out0[4]
pin_ae11
out0[5]
pin_v14
out0[6]
pin_v13
out1[0]
pin_v20
u1数码管
out1[1]
pin_v21
out1[2]
pin_w21
out1[3]
pin_y22
out1[4]
pin_aa24
out1[5]
pin_aa23
out1[6]
pin_ab24
out2[0]
pin_ab23
u2数码管
out2[1]
pin_v22
out2[2]
pin_ac25
out2[3]
pin_ac26
out2[4]
pin_ab26
out2[5]
pin_ab25
out2[6]
pin_y24
out3[0