毕业设计论文 - 基于FPGA的电子密码锁设计(6)

2019-01-26 17:19

基于FPGA的电子密码锁设计

报警状态功能状态 reset enlock,k_srclk,k_pos setin,enlock,data_f初始状态ksrclk,cqd’event and cqd=0,flag_f ksrclkenlock,clk_1k ksclk, cqd’event and cqd=0解锁状态ksrclk,cqd’event and cqd=0,flag_n,mimain=’1’,enlock输入状态

4.8 控制模块的状态图

初始状态,允许口令设置操作,送入KSRCLK后返回初始状态。解锁状态, 送入ENLOCK信号时进人解锁状态, 允许三次解锁错误。错误状态, 解锁错误进入错误状态, 判断解锁错误次数是否达到三次进而确定下一状态。错误状态, 解锁错误次数达到三次进人报警状态。开锁状态,解锁正确即进人开锁状态。由状态转换图得到的控制模块的ASM图如4.9:

- 22 -

基于FPGA的电子密码锁设计

接通电源初始状态NONONOKSRCLKYES,CQD’EVENTAND CQD=0YESYESFLAG_NFLAG_F数字键输入DATA_NNO功能键输入DATA_F报警状态MIMAIN万能密码YES错误状态ACC不等于REGACC=REGDATA_F=”0100NO”SETIN=0OLD=0NOACC=\110011001\ENLOCKDATA_F=”0001”SETINYESYES设置、清楚密码解锁状态

图4.9 控制模块的ASM图

4.2.3 控制模块的实现

生成符号图4.10

ctrldata_n[3..0]data_f[3..0]flag_nflag_fksrclkinstmimainsetinoldenlockdata_bcd[15..0] - 23 -

基于FPGA的电子密码锁设计 图4.10 控制模块电路符号图

模块外部信号端口:

data_n:数字输入端口,用于提供数字输入信号。 data_f:功能输入端口,用于提供功能输入信号。 flag_n:数字输入标志,用于识别数字是否输入。 flag_f:功能输入标志,用于识别功能是否输入。

ksrclk:键盘输入采样时钟,用于提供键盘输入的采样时钟。 enlock:密码锁控制信号输出端口,提供密码锁控制信号输出。 data_bcd:按键显示输出端口,用于提供按键显示输出信号。 mimain:密码输入标志,用于提供密码输入信号。 setin:密码设定标志,提供密码设置信号。 old:旧密码设置标志,提供旧密码设置标志。 模块内部信号:

acc:暂存键盘输入信息 reg:密码存储位置

4.3 电子密码锁显示模块

4.3.1 数码管显示原理

数字显示主要由LED数码管实现。LED可单独使用,也可组装成分段式或点阵式LED显示器件。分段式显示器由7条线段围成8型,每一段包含一个发光二极管,外加正向电压时二极管导通,发出清晰的光,有红、黄、绿等色。可以按照相关的规律控制各个发光段的亮、灭,这样就能达到显示各种字形或者符号的目的。图4.11介绍了左边右边是共阴式和共阳式LED数码管的原理图,以及共阴式的连接法和驱动原理。

- 24 -

基于FPGA的电子密码锁设计

图4.11 七段数码管电路图

BCD七段译码器的输入时一位BCD码(以D、C、B、A表示),输出是数码管各段的驱动信号(以Fa~Fg表示),也称4——7译码器。若用它驱动共阴极LED数码管,则输出应为高有效,即输出高1时,相应显示段发光。例如,当输入8421码DCBA=0100时,应显示4,即要求同时点亮b、c、f、g段,熄灭a、d、e段,故译码器的输出应为Fa~Fg=0110011,这也是一组代码,常称为段码。同理,根据组成0~9这10个字形的要求可以列出8421BCD七段译码器的真值表,见表4.12。

- 25 -

基于FPGA的电子密码锁设计 表4.2 七段译码器真值表

主要程序设计如下: CASE DATA_BCD IS

WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN OTHERS =>DOUT7<= \

- 26 -


毕业设计论文 - 基于FPGA的电子密码锁设计(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2013年暑期政治业务学习动员讲话稿

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: