实验2数字密码锁的设计与实现

实验2数字密码锁的设计与实现

ID:24771907

大小:70.00 KB

页数:4页

时间:2018-11-14

实验2数字密码锁的设计与实现_第1页
实验2数字密码锁的设计与实现_第2页
实验2数字密码锁的设计与实现_第3页
实验2数字密码锁的设计与实现_第4页
资源描述:

《实验2数字密码锁的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验2数字密码锁的设计与实现实验二数字密码锁的设计与实现组长:刘家尚学号:5100309219组员:黄钰坤学号:5100309218一、实验冃的1.学习7段数码显示管的使用2.学习VHDL的综合设计应用3.学习数字密码锁的设计二、实验内容设计一个数字密码锁,具体耍求如下:1.系统密码设置使用拨位幵关sw[7:0],限定为4位密码;sw[7:6],sw[5:4],sw[3:2】、sw[l:0]分别对应从左到右密码的第1、2、3、4位;每一位的取值范围限定在0、1、2三个数中。2.用btn[2:0]作为输入键,btn[0]、btn[l]、btn[2

2、]分别对应的冇效输入为十进制数0、1、2(由于btn数有限,系统不支持解锁含有数字3的密码)。3.输入的密码显示在7段数码显示管对应位上,顺序为从左至厶,未输入密码时数码管不显示数字,只有对应位输入密码后数码管XT点亮。4.输入密码与预存密码相同时,开锁成功,LED灯ld[7]亮起;否则开锁失败,ld[0]亮起。5.具有一个复位按键btn[3]。按键后,回到初始状态。三、解决方案程序分为5个模块,分别是分频器、按键防抖、密码获取、七段数码管显示以及状态转换程序1、分频器模块定义一个整数count作为计数器计数,当计数器计数到125000时,输出

3、电平翻转,由输入时钟为50MHz,故有输出的时钟为50M/(2*125000)=200Hz。该频率用于数码管扫描和按键扫描。2、七段数码管显示模块七段数码管品示采用循环扫描的方式实现,由于4个数码敁示区域为共阳极,故当某一数码管为低屯平时该区域将被点亮。因此采用上述分频器产生的200Hz作为扫描频率开始扫描。而在每个区域的七段数码管闪,低电平将被点亮高电平熄灭,故如需显示0时,seg数组为”1000000”,如需显示1时seg数组为”1111001”,如需显示2时seg数组为"0100100"。其他值至于高电平,不显示。在本实验中,将密码转换成

4、4个数组,初始值置为”11”,则不显示任何数据3、按键防抖模块按键防抖模块同样的采用上述分频器产生的200Hz的频率进行扫描。而防抖的关键是利用输入信号与它的延时信号相与的方式产生一个单脉冲。假设输入信号为inp,第一次延时后信号为delayl,第二次延时后信号为delay2,则输出单脉冲outp可表示为:outp=inp&delayl&广delay2由于有两个按键,故按键防抖模块输出端口定义为两个,一个是按键触发时钟,即检测到有按键就产生一个时钟;还有一个是按键选择输出,用于判断是哪一个按键被按下。在该模块中,由于要与拨号开关的

5、数值进行比较,所以按键的输出应该有三个状态,故我用了两位的std」ogjc_vector数组来表示按键选择。同时该输出连接到密码获取模块,得到的数将最后与拨号开关上的密码进行比较。4、密码获取模块在该模块中,内置一个计数器,初始值为0,每次按键产生一个按键时钟后计数器加1,同时获取按键选择信息,判断按下哪一个按键后存入password数组中。其中password数组为8位长std_logic_vector类型,初始值为”11111111”,当按键次数达到4时不再获取密码,等待复位信号。5、状态机转换图图1状态机转换图如图所示,该图为状态机转换图

6、,每一个状态的转移都由按键触发时钟激活,当己输入4位密码后开始判断是否与拨号开关的密码一致,判断的结果决定了LED7和LEDO两盏灯是否被点亮。四、FPGA资源使用情况五、结论木次实验是做一个数字密码锁,在实验中遇到的问题主要有:获取按键信息的时序不对,应在按键触发的下降沿获取。还有就是实验要求在输入四位密码后数码管上显示的数字不应该再改变,同时判断的结果也不应该改变,但由于我们是从第一个实验屮修改得到的,因此在刚开始时输入四个密码后仍可继续输入,与实验要求不符合。但木次实验我们认为没有必要使用状态转换这一模块,因为要求不能继续输入密码,故不存

7、在状态转换的说法,只需记录当前已经按下的次数,当到达4次后与拨号开关的数值进行比较即可。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。