VHDL四位密码锁课程设计EDA

VHDL四位密码锁课程设计EDA

ID:37904590

大小:89.50 KB

页数:19页

时间:2019-06-02

VHDL四位密码锁课程设计EDA_第1页
VHDL四位密码锁课程设计EDA_第2页
VHDL四位密码锁课程设计EDA_第3页
VHDL四位密码锁课程设计EDA_第4页
VHDL四位密码锁课程设计EDA_第5页
资源描述:

《VHDL四位密码锁课程设计EDA》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程设计报告电子与信息工程学院电子线路课程设计报告(2011—2012学年第一学期)班级:___电子0903_________学号:___________________姓名:______________指导教师:陈智萍______2011年9月-18-课程设计报告课程设计题目:四位密码锁内容和要求:1.掌握VHDL语言的使用,学会用VHDL语言来编程解决实际问题;2.学会使用EDA开发软件设计小型综合电路,掌握仿真的技巧;3.学会应用开发系统实现硬件电路,检验电路的功能。设计内容(原理图以及相关说明、调试过程、结果)实验要求:用VHDL语言设计一个密码锁,用波形仿真

2、验证其功能后,实现到GW48实验系统。功能描述:用于模仿密码锁的工作过程。完成密码锁的核心控制功能。功能要求:设计一个密码锁,平时处于等待状态。管理员可以设置或更改密码。如果不预置密码,密码缺省为“1234”。用户如果需要开锁,按相应的按键进入输入密码状态,输入4位密码,按下确定键后,若密码正确,锁打开;若密码错误,将提示密码错误,要求重新输入,三次输入都错误,将发出报警信号。报警后,只有管理员作相应的处理才能停止报警。用户输入密码时,若输入错误,在按下确定键之前,可以通过按取消键重新输入。正确开锁后,用户处理完毕后,按下确定键,系统回到等待状态。系统操作过程中,只要

3、密码锁没有打开,如果60秒没有对系统操作,系统回到等待状态。要求密码在输入过程中被依次显示,即先输入的为密码的第一位,总是显示在最左边。用两个发光二极管模拟显示,其中一个显示当前的工作模式,灭表示用户模式,亮表示管理员模式;另外一个指示锁的状态,灭表示锁处于锁定,亮表示锁被开启。注意:用两个按键实现密码输入,Key1选择输入的是第几位密码,KEY2输入密码数字。功能描述:初始状态:初次使用密码锁时,要先用Reset键初始化。初始状态下,用户密码为“1234”,管理员密码为“0000”。用户开锁:默认情况下,密码锁处于用户使用状态。如果当前为管理员状态,则按下user键

4、回到用户状态。用户开锁时,输入四位数用户密码-18-课程设计报告,可以从out_code6的输出状态确定密码输入状态。如输入错误则按下clear清除前一位输入。输入完毕后按enter,如果密码正确,则开锁,否则重新输入密码。开锁后再次按下enter键则关锁,回到等待状态。三次密码输入错误,警报器alarming为1。要管理员输入管理员密码解除警报。此时哪怕用户再输对密码也没用。管理员解除警报:当用户三次密码输入错误的时候,alarming为1,此时,只要管理员密码输入正确后,按下clear键,alarming为0,报警取消。管理员修改密码:在非警报和为开锁状态下,任何

5、时候按admin键进入管理员状态。按chgcode选择修改密码,先选择修改的是用户密码还是管理员密码。修改用户密码则按user键,修改管理员密码则按admin键。然后分别输入旧密码,新密码,新密码要输入两次。旧密码与所要修改的密码对应。如旧密码输入错误,则无法修改;当验证不成功即两次新密码不相同时,修改密码失败。返回等待状态。成功后也返回等待状态。定时返回:用户在未开锁状态下,60s没有按键输入,则返回等待状态,但不包括alarming状态。只要是alarming,则只有管理输入管理员密码才能解锁并按下clear消除警报。设计思路:设计密码锁时,采用自顶向下的设计方法

6、。将整个系统分成几个子模块:输入输出模块,控制模块,按键设置模块和60s计时器模块。控制模块是整个程序的主要部分,采用状态循环的办法,以用户每按下一次按键为计量单位,划分状态,以实现各种功能。-18-课程设计报告60s计时器模块是完成60s没有按键则返回等待状态这一功能的主要模块。这个模块的核心思想是一个变量numtime计数。变量numtime的初始值为0,在无报警为开锁的情况下,时钟每秒发出一个上升沿信号,计数一次,如有按键则numtime清零,否则计数到60即“111100”则返回信号back变为1,返回等待状态。按键设置模块是将各种功能按键用高低电平赋值,便于

7、调用。实验代码:libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYE_lockISPORT(clk,user,admin,clear,enter,chgcode,res,key1,key2:INSTD_LOGIC;num:INSTD_LOGIC_VECTOR(9DOWNTO0);openlock:bufferstd_logic;alarming,o_ua,o_chgcode,chgcode_ua

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

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

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