毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

VHDL电子密码锁毕业论文(电路图+原理图+程序+参考文献) 第4页

更新时间:2010-5-4:  来源:毕业论文
VHDL电子密码锁毕业论文(电路图+原理图+程序+参考文献) 第4页
则代表低电平信号所在的行中无按键按下;如果列线输入为低电平,则低电平信号所在的行和出现低电平的列的交点处有按键按下。扫描信号由KY3—KYO进入键盘,变化的顺序依次是:1110—1101—1011—0111—1110,每次扫描一行,依序循环。假设现在扫描信号为1101,即扫描“4”、“5”、“ 6”这一排按键,如果这排当中没有按键被按下的话,则列扫描信号KX2-KXO读出的值为111;反之,当“6”按键被按下时则由KX2-KXO读出的值为110,其它依次类推。由于矩阵式键盘是无法独自地完成按键工作的,要搭配时序产生电路、键盘扫描电路、弹跳消除电路、键盘译码电路才能可靠工作[6]。键盘上的有效数据是0到9这十个数字键和两个功能键(*键:修改密码键;#键:输入数字小于四位时按下此键表示清除键,输入数字等于四位时表示开锁键)。
键盘扫描电路
键盘扫描电路是用于产生KY3-KY0信号,即键盘的行扫描信号。每扫描一排按键,就检查一次是否有按键被按下,如果这排没有按键被按下就忽略。反之,如果出现被按下的键则立即进行按键编码的动作,且将编码的结果存储于寄存器中。扫描停留在每个状态的时间大约为10ms。更短的停留时间容易采集到陡动信号,会干扰判断。而太长的停留时间则容易丢失某些较快的按键动作。
    弹跳消除电路
因为本次设计的按键采用机械式开关结构,在开关切换的瞬间会在接触点出现来回弹跳的现象,这种弹跳现象可能造成误动作而影响到正确性。本设计中采用延时的软件方法消除抖动,若采样信号检测到输入由“1”变到“0”或由“0”变为“1”,先延时2个周期 ,仍旧检测到是“0”或“1”,则说明按键状态确实发生了变化,否则当作抖动处理,不予理会。这样就消除了抖动。
键盘译码电路
上述键盘中的按键可分为数字按键和功能按键,每个按健都有自己相应的作用,比如#键可以清除密码和开锁,*键可以设置密码。数字按键主要用来输入数字,键盘所产生的输出(KX2-KXO)无法直接拿来使用,因此必须由键盘译码电路来规划每个按键的输出形式,以便执行相应的动作[7]。
3-2 控制电路
输入电路完成之后,接下来进行电子密码锁的控制电路设计,如图3-2所示包括输入数字寄存部分,预存密码部分和比较部分。
图3-2 控制部分结构框图
其中输入数字寄存器部分是一个16位的寄存器,负责保存输入的4位数字,在按下解锁信号后其全部数据送入比较器,解锁后,如果按下更改密码按键,则把所有数据送入预存密码寄存器[8]。预存密码寄存器也是一个16位的寄存器,负责保存密码。比较器的功能是比较输入的数字和预存密码是否相等,相等则解锁,不等则不能解锁。

如果输入数字,第一个数字会从显示器的最右端显示,每按一个新数字,显示器上的数字往左移动一格,以便将新数字显示出来;如果想更改输入的数字,按清除键清除所有输入的数字,再重新输入4位数。因为设计的是四位电子密码锁,当输入的数字键超过4个时,电路不予理会,且不显示第四个以后输入的数字。功能按键的作用如下:

 (1) 密码核对:在密码变更、解除电锁之前,必须先核对密码是否正确。

 (2) 密码变更:按下此键可将目前的数字设定成新的密码。要变更密码前须输入旧的密码。

 (3) 上锁:按下此键可将密码锁上锁。上锁之前必须先设定密码,才能上锁,此密码必须是四位才有效。

 (4) 解锁:检查输入的密码是否正确,密码正确即开锁。

  (5) 密码清除:设计一个四位数字,如果使用者不小心按错数字,可以清除并新输入新密码[9]。
3-3  显示电路
该设计的输出电路由显示缓存器、多路选通器、时钟发生器、扫描信号发生器、七段译码器组成

       一个七段译码器(SSD)接收四路信号,表示一个二进制码的4个比特位,并产生七个输出信号用来驱动7sd中的7个段。因此,比如,如果SSD输入为“0000”,那么除了“g”,所有的输出都有效(在7sd中显示“0”),如果输入为“1000”,那么所有的输出都有效(显示“8”)。一般来说,输入信号名称为B3-B0,输出信号是一个字母用于表示其驱动的段(A-F)。和上面讨论的一样,七个输出中的每一个都可以被认为是一个独立的4输入逻辑设计问题,使用前面讨论的技术可以很容易的找出每个输出的优化电路。在这一章节实验中,我们将把系统作为一个整体并使用不同的方法来优化它,即同时考虑
所有七个输出[8]。如图3-3所示:
 
图3-3译码驱动数码管
    比如,如果只有b和c段亮,而其它段不亮,那么就显示数字“1”;如果a,b和c段亮,而其它段不亮,那么就显示数字“7”。为了能在任何给定的发光二极管段上产生发光电流,就需要有一个逻辑信号通过该段发光二极管。在典型的7sd电路中,在发光二极管的阴极会放置一个限流电阻,在阳极端放置一个三极管来提供额外的电流(绝大多数数字ICs中的引脚,比如Digilent板卡中的FPGA都不能提供足够的电流来点亮所有的显示段,所以有必要使用一个三极管来提供更多的电流)。为了能够显示所有10个十进制数字,在7sd中就需要7个逻辑信号,每个逻辑信号驱动一段。通过让这些逻辑信号的指定组合有效,那么就可以显示所有10个十进制数字了[10]。 Digilent板卡使用通用的阳极显示,意思是所有给定数字的阳极节点都连接在一起作为共用的的电路节点,如图所示。为了在给定数字中点亮给定的段,在数字阴极必须加上LHV,在段的阴极加上GND。

上一页  [1] [2] [3] [4] [5] [6] [7] [8] 下一页

VHDL电子密码锁毕业论文(电路图+原理图+程序+参考文献) 第4页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。