EDA数字密码锁的设计_第1页
EDA数字密码锁的设计_第2页
EDA数字密码锁的设计_第3页
EDA数字密码锁的设计_第4页
EDA数字密码锁的设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 目录目录 第一章第一章 概要概要 1 1 背景简介背景简介 1 2 设计要求 设计要求 第二章第二章 设计思路设计思路 2 1 端口定义端口定义 2 2 总体结构总体结构 2 3 设计方案设计方案 第三章第三章 单元电路设计单元电路设计 3 1 简述简述 3 2 密码锁输入电路的设计密码锁输入电路的设计 3 3 密码控制电路的设计密码控制电路的设计 3 3 1VHDL 源程序源程序 3 3 2 仿真波形仿真波形 3 4 密码显示电路的设计密码显示电路的设计 3 4 1 密码锁显示电路设计简介密码锁显示电路设计简介 3 4 2 VHDL 程序程序 第四章第四章 整体组装整体组装 4 1 VHDL 源程序或原理图源程序或原理图 4 2 整体仿真波形整体仿真波形 第五章第五章 设计体会设计体会 2 第一章第一章 概要概要 1 1 背景简介 数字密码锁随着电子工业的发展 数字电子技术已经深入到了人们生活的各个层面 而且各种各样的电子产品也正在日新月异地向着高精尖技术发展 由于电子产品 的功能不 断增加 使用也越来越方便 有些产品已经成为了人们日常生活中不可 缺少的必备物品 发展历史悠久的机械式门锁 因其功能单一 安全性能较差等 缺点 必将被新一代的电子 门锁所代替 新颖的多功能电子门锁 集电子门锁 防盗报警器 门铃等功能于一身 而 且还具有定时器呼唤 断电自动报知 显示 屋内有无人和自动留言等诸多附加功能 在未 来的生活中 数字密码锁必将在学 领域再创新的成绩 将给我们的生活带来更大的便利 前景不可估量 1 2 设计要求设计要求 1 具有密码输入功能 2 设计一个密码锁的控制电路 当输入正确代码时 输出开锁信号以推动执行机 构工作 用红灯亮 绿灯熄灭表示关锁 用绿灯亮 红灯熄灭表示开锁 3 从第一个按钮触动后的 5 秒内若未将锁打开 则电路自动复位并进入自锁状态 使之无 法再打开 并由扬声器发出持续 20 秒的报警信号 第二章 设计思路 2 12 1 端口定义 端口定义 输入 采样时钟 clk 译码输入 data 3 0 3 输出 七段数码管驱动 q 6 0 数值译码 q1 3 0 按键指示 key 2 22 2 总体结构 总体结构 1 显示器 2 VHDL 程序输入 3 FPGA 芯片 扬声器 2 32 3 设计方案设计方案 密码锁控制器是硬件测试密码锁控制器是硬件与软件的结合 根据设计要求 决定 以 FPGA 芯片和 VHDL 语言设计此电子密码锁 用一片 FPGA 芯片实现 从而大大简化了 系统结构 降低了成本 提高了系统的保密性和可靠性 这种设计不仅简化了系统结构 降低了成本 更提高了系统的可靠性和保密性 另外 采用可编程逻辑器件开发的数字系统 方便地升级和改进 根据系统的设计要求 系统设计采用自顶向下的设计方法 顶层设计采用原理图的 设计方式和系统的整体组装 分别由密码锁输入模块 密码锁控制模块和密码锁显示译码 模块等部分组成 即按照这三个组成模块定义相应的芯片引脚和输入输出的参数 第三章第三章 单元电路设计单元电路设计 3 13 1 简述 简述 密码锁的内部结构及主要功能 密码锁的内部结构即密码锁控制器由密码锁主体部分和外部指示电路组成 其中密码 锁主要作用是接收输入的密码并进行密码的验证操作 外部指示电路的主要作用是用 LED 数码管显示输入的密码以及根据密码验证的结果给出不同的 LED 指示灯和数码管显示 当 连续输入三次次错误密码时 启动报警装置 报警装置则采用扬声器 密码锁控制器的主 要功能有 1 密码输入 每按下一个键 要求在数码管上显示 并依次左移 2 密码校验 如果有按键按下 LED1 亮起 直到松开该按键 用 LED2 指示 门的状 态 也就是密码校验结果 如果密码校验正确 LED2 亮起 否则如果密码校验 错误 LED2 闪烁 4 次 然后熄灭 表明密码错误 4 3 错误报警 密码输入连续三次错误开始报警 4 密码修改 输入密码正确后 5 秒内按 号键输入要设置和更改的密码 按 号 键确 认密码设置与更改 连续输入两次 则密码设置成功 3 23 2 密码锁输入电路的设计密码锁输入电路的设计 密码锁输入模块由时序产生电路 键盘扫描电路 键盘译码电路和按键存储电路组成 通过这几个部分的组成可以将键盘输入的信号有时序的扫描存储而后传入控制模块来控制 密码锁的动作 因此 定义键盘按键的位置和数码的关系如下表所示 扫描 000000010101101010111111 输出 信号 001101010110001101010110001101010110001101010110 按键 号 123456789 0 备注 扫描位置是 CSR 1 0 键盘输出信号 SEL 3 2 1 0 按键号即为键盘的位置 密码锁输入电路仿真图如下 3 33 3 密码锁控制器设计密码锁控制器设计 密码锁控制电路软键盘的实现 通常在一个键盘中使用了一个瞬时接触开关 微处理 器可以容易地检测到闭合 当开关打开时 通过处理器的 I O 口的一个上拉电阻提供逻辑 1 当开关闭合时 处理器的 I O 口的输入将被拉低得到逻辑 0 5 3 3 1 VHDL 源程序 library ieee use ieee std logic 1164 all entity decoder is port clk in std logic 译码器元件声明 data in std logic vector 3 downto 0 q out std logic vector 6 downto 0 q1 out std logic vector 3 downto 0 end entity architecture rt1 of decoder is begin process clk data begin if rising edge clk then case data is when 0000 q 0111111 q1q 0000110 q1q 1011011 q1 q 1001111 q1 q 1100110 q1 q 1101101 q1 q 1111101 q1dataoutdataoutdataoutdataoutdataoutdataoutdataoutdataoutdataoutdataoutnull end case end process end rtl 第四章第四章 整体组装整体组装 4 1 密码锁整体原理图 VHDL 源程序 library ieee use ieee std logic 1164 all use ieee std logic arith all use ieee std logic unsigned all entity exp19 is 8 port Clk in std logic 时钟信号 Rst in std logic 复位信号 Kr in std logic vector 3 downto 0 键盘行 Kc buffer std logic vector 3 downto 0 键盘列 SPK out std logic 扬声器输出 KEY State out std logic 按键指示 Display out std logic vector 7 downto 0 七段码管显示 SEG SEL buffer std logic vector 2 downto 0 七段码管片选 end exp19 architecture behave of exp19 is signal keyr keyc std logic vector 3 downto 0 signal kcount std logic vector 2 downto 0 signal kflag1 kflag2 std logic signal buff1 buff2 buff3 buff4 buff5 buff6 integer range 0 to 15 signal push num integer range 0 to 15 按键次数 signal Disp Temp integer range 0 to 15 signal Disp Decode std logic vector 7 downto 0 signal SEC1 SEC10 integer range 0 to 9 signal Clk Count1 std logic vector 3 downto 0 1KHz 时钟分频计数器 signal Clk Count2 std logic vector 9 downto 0 2Hz 时钟分频计数器 signal Clk1KHz std logic signal Clk2Hz std logic signal Clk1Hz std logic signal Error Num integer range 0 to 3 signal Error Flag std logic signal Error Count std logic vector 2 downto 0 signal Music Count std logic vector 2 downto 0 begin process Clk begin if Clk event and Clk 1 then if Clk Count1 10 then Clk Count1 Clk Count1 1 else Clk Count1 0001 end if end if end process Clk1KHz Clk Count1 2 process Clk1KHz begin 9 if Clk1KHz event and Clk1KHz 1 then if Clk Count2 1000 then Clk Count2 Clk Count2 1 else Clk Count2 0000000001 end if end if end process Clk2Hz Clk Count2 9 process Clk2Hz begin if Clk2Hz event and Clk2Hz 1 then Clk1Hz not Clk1Hz end if end process process Clk1KHz 扫描键盘 begin if Clk1KHz event and Clk1KHz 1 then if Kr 1111 then kflag1 0 kcount kcount 1 if kcount 0 then kc 1110 elsif kcount 1 then kc 1101 elsif kcount 2 then kc 1011 else kc 0111 end if else kflag1 1 keyr Kr keyc Kc end if kflag2 kflag1 10 end if end process KEY State kflag1 process Clk1KHz Rst 扫描键盘 begin if Rst 0 then push num 0 elsif Clk1KHz event and Clk1KHz 1 then if push num 6 then push num 0 elsif kflag1 0 and kflag2 1 then push num push num 1 end if end if end process process Clk2Hz Rst begin if Rst 0 or Error Flag 0 then Error Count 000 elsif Clk2Hz event and Clk2Hz 1 and Error Flag 1 then Error Count Error Count 1 end if end process process Clk 报警声音分频 begin if Clk event and Clk 1 then Music Count 3 then if Clk1Hz 1 then SPK Music Count 2 else SPK Music Count 1 end if 11 end if end process process Clk1KHz Rst 显示右移 begin if Rst 0 or push num 0 then 复位时 全灭 buff1 15 buff2 15 buff3 15 buff4 15 buff5 15 elsif Clk1KHz event and Clk1KHz 1 then if kflag1 1 and kflag2 0 and keyr 1110 or keyr 1011 and keyc 0111 or keyr 1101 then buff1 buff2 buff2 buff3 buff3 buff4 buff4 buff5 buff5q 0111111 q1q 0000110 q1q 1011011 q1 q 1001111 q1 q 1100110 q1 q 1101101 q1 q 1111101 q1 0110 end if end case end process process Clk begin if Clk event and Clk 1 then 扫描累加 SEG SEL SEG SEL 1 Displaydataoutdataoutdataoutdataoutdataoutdataoutdataoutdataoutdataoutdataoutnull end case end process

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论