基于vhdl语言的电子密码锁设计内容摘要:

如果 en 为高电平且 s 为 1 时 系统将 g 和 h 的值改为当前 a, b 所代表的密码的四 位二进制数,达到改变密码的作用。 输出部分设计 输出由两部分组成,第一部分为输入密码 的显示,由对应的十进制数字转换成七段数码管的输入 [3]。 此处两个七段数码管的输出为 7 位标准逻辑矢量 c 和 d, 当 a, b 的值发生变化时在进行输入部分的操作后还会把 相对应的 7 位逻辑矢量赋给 c 和 d。 其 对照表如表 32 所示: 表 32 密码 — 七段数码馆输 出 对照表 输入密码 七段数码管输出 0 0111111 1 0000110 2 1011011 3 1001111 4 1100110 5 1101101 6 1111101 7 0000111 8 1111111 9 1100111 第二部分为指示灯的输出。 系统当前设置的密码存储在 g 和 h 中。 当 a, b 改变时,它们对应的二进制密码会分别存入四位标准逻辑矢量 e 和 f 中。 当 en1 为高电平时,系统对 e, g 和 f, h 进行比较,如果两者皆相等则将代表密码正确的绿灯 k 置为 1, m 置为 0,否则将 k 置 0, m 置 1.。 当 en 和 en1 都为 0 时, k 和 m 都为低电平,亮灯同灭。 芯片总体设计 电子锁芯片共有五个输入,四个输出,分别表示如下: A[9..0]和 B[9..0],密码输入 ;EN,密码确认键,用于修改密码; CLK,时钟信号; EN1,密码检验键; C[6..0]和 D[6..0],七段数码管输入; K 和 M 分别表示绿灯(密码正确)和红灯(密码错误) [4]。 根据不同的输入,系统课自动判断是对密码进行修改还是对密码进行检验,从而产生相应动作,实现电子密码锁的功能。 总体设计如图 所示: 图 芯片总体设计图 4 VHDL 语言设计 实现密码锁功能的 VHDL 语言源程序及注解如下: library ieee。 use。 use。 entity lock2 is port(a:in std_logic_vector(9 downto 0)。 十位输入端 b: in std_logic_vector(9 downto 0)。 个位输入端 en,clk:in std_logic。 en 为密码确认开关 en1:in std_logic。 en1 为密码检验开关 c,d:out std_logic_vector(6 downto 0):=0111111。 输出七段数码馆的控制 k,m:out std_logic)。 k 绿灯, m 红灯 end lock2。 architecture behave of lock2 is signal e : std_logic_vector(3 downto 0)。 signal f : std_logic_vector(3 downto 0)。 signal g : std_logic_vector(3 downto 0)。 :=0000。 g, h 用于修改密码的保存 signal h : std_logic_vector(3 downto 0)。 :=0000。 signal count1,count2:std_logic:=39。 039。 signal s: std_logic:=39。 039。 begin process(a,e) 十位的数据转换 begin if(a(9 downto 0)=0000000000) then c(6 downto 0) =0111111。 elsif (a(0)=39。 139。 ) then e=0000。 c(6 downto 0) =0111111。 elsif(a(1)=39。 139。 ) then e=0001。 c(6 downto 0) =0000110。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。