




免费预览已结束,剩余4页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连理工大学本科实验报告 -数电课程设计 题目:电子密码锁课程名称: 数字电路课程设计 学院系:电子信息与电气工程学部专 业: 自动化 班 级: 电自1001 学生姓名: 王艳 学 号: 201081089 完成日期: 20121218 成 绩: 题目:电子密码锁1 设计要求 一基本功能1、设计一个密码锁,开锁代码为8位二进制数,通过串行以按键的形式输 入,要求能够显示当前输入的位数,但不显示输入的具体密码。2、当输入代码的位数和给定的密码一致,按下开锁键,用LED显示开锁成功。如果密码不正确,提示开锁不成功,当连续三次密码输入错误,不允许再输入密码,并且提示报警。不同的提示可用不同的LED闪烁频率或花型显示来表示。3、开锁的密码可以进行设置,但设置的前提是原来密码必须输入正确。二扩展功能运用PS2接口,通过键盘来输入密码。2 设计分析及系统方案设计密码锁控制器是硬件与软件的结合。根据设计要求,以FPGA芯片和VHDL语言设计此电子密码锁。本演示系统实现了:1、 输入密码正确后,正确小灯(green)亮,错误小灯(red)不亮;2、 当输入密码正确后,可修改密码,可使用want开关正确进行密 码修改功能,而后密码被重新设定为新的密码,当密码输入错误的时候并不可以修改密码,此时即使按下want键也不好 用;3、 输入错误密码,正确小灯(green)不亮,错误小灯(red)亮;4、 按下reset后,密码归为初始密码;5、 输入密码时,同时数码管显示输入密码个数,不显示具体密码;6、 显示连续输入错误密码次数,用数码管显示,次数小于3时,自动进入下一次输入状态,错误次数大于等于3,即以1HZ频率闪烁的LED灯提示报警报警,且无法再次输入密码,直到按下reset.3系统以及模块硬件电路设计用VHDL设计电子密码锁方案:作为通用电子密码锁,主要由 3 个部分组成:数字密码输入电路、密码锁控制电路和密码锁显示电路。 3.1系统总框图锁体LED密码存储开锁输入 比较数码管 电子密码锁原理框图3.2密码提示电路七段数码管是电子开发过程中常用的输出显示设备。在本设计中使用的是1个共阳极型七段数码管。其单个静态数码管如下图3.6所示。由于七段数码管公共端连接到GND(共阳极型),当数码管的中的一个段被输入低电平,则相应的这一段被点亮。反之则不亮。共阳极性的数码管与之相反。在本次密码锁电路中,7段式数码显示管的作用一为提示当前输入的密码为第几个,因为密码有八位,很可能让正在输入密码的人忘记输入到了第几位,而数显管恰好起到了提示作用,此处的设计体现了其更加智能化和人性化的理念。二为提示输入错误密码次数,当达到三次时将提示报警并不能再次输入密码,增加了密码锁的安全性能。图2 单个数码管管脚示意图3.3输入密码、更改密码、复位密码及报警电路此处电路的实现需要使用四个开关及三个小灯。开关SW依次实现的按钮功能为用于输入串行密码(共8位)的密码按键,复位成初始系统自带密码的RESET键,当密码输正确的可以选择设置新密码的按键WANT,(当密码输入不正确时,此按键并不好用)。灯分别为红灯绿灯用于报警电路提示此时输入的密码是正确的还是错误的。同时在程序端口中需要的相当于时钟CLK功能的按键,在外部输入电路中起到的作用是相当于按键确认功能,每输入一位密码,确认该密码。在程序中需要count计数以保证达到8位密码即判断密码输入正确与否,未达到8位由外部人员继续输入直至到达8位。当密码三次输入错误,用1HZ频率闪烁的小灯提示报警。3.4模拟电路 3.4引脚分布接口名称类型(输入/输出)结构图上的信号名引脚号说明clkinKEY0PIN_G26时钟信号,按一次输入一位kinSW0PIN_N25高电平表示输入1greenoutLEDG0PIN_AE22输入正确时亮redoutLEDR0PIN_AE23输入错误时亮resetinSW1PIN_N26按下(为1)时复位,密码归为原密码wantinSW2PIN_P25是否修改密码,为1时修改coutHEX0(数码管)提示作用c0outHEX00PIN_AF10数码管c1outHEX01PIN_AB12数码管c2outHEX02PIN_AC12数码管c3outHEX03PIN_AD11数码管c4outHEX04PIN_AE11数码管c5outHEX05PIN_V14数码管c6outHEX06PIN_V13数码管clk0in50MHZPIN_N2输入50MHZalarmoutLEDG8PIN_Y12 提示报警doutHEX7数码管(错误次数)d0outHEX70PIN-L3数码管d1outHEX71PIN-L2数码管d2out HEX72PIN-L9数码管d3outHEX73PIN-L6数码管d4outHEX74PIN-L7数码管d5outHEX75PIN-P9数码管 d6outHEX76PIN-N9数码管4 系统的VHDL设计library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity code isport( clk0:in std_logic; clk:instd_logic; alarm:out std_logic; c:out std_logic_vector(6 downto 0):=1000000;-7段数显管 d:out std_logic_vector(6 downto 0):=1000000; k:instd_logic;-高电平表示输入1 green:out std_logic;-输入正确时亮 red:out std_logic;-输入错误时亮 reset:instd_logic;- 按下时复位 want:instd_logic);-是否修改密码end;architecture a of code issignalcode:std_logic_vector(7 downto0);-储存密码signalgetcode:std_logic_vector(7 downto0);-储存修改后的密码signalcounter:std_logic_vector(3 downto0);-计数signalcounter2: std_logic_vector(3downto0);-计数错误次数signalallow:std_logic;-是否允许修改密码 signal count:integer range 0 to 24999999; signal clk_data:std_logic;begin process(clk,counter2) beginifreset=1 then-按下reset后,密码归为初始密码getcode=00000000;-初始密码counter=0000;-内部计数counter2=0000;code=11001000;-密码green=0;red=0;allow=0;alarm=0; elsif clkevent and clk=1then-输入clk脉冲,则接收1位密码 if counter2=0011then getcode=getcode; else getcode=getcode(6 downto 0)&k;-将这1位密码并入getcode中的最后一位 if counter=1000thenifcode=getcodethengreen=1;-正确灯亮red=0;counter2=0000;alarm=0;allow=1;-允许修改密码elsifallow=1 and want=1then-如果允许输入且想输入code=getcode;-输入新密码green=0;red=0;alarm=0;counter2=0000;elseallow=0;green=0;red=1;-错误灯亮counter2=counter2+1;-累加 end if;counter=0000;-重新计数else counter2=counter2;counter=counter+1;-累加 end if; end if;end if;if counter2=0011then alarm=clk_data; elsealarm=0; end if; end process;process(clk) beginif(counter=0000)then -7段数显管显示0到9c(6 downto 0)=1000000;elsif (counter=0001) thenc(6 downto 0)=1111001;elsif (counter=0010) thenc(6 downto 0)=0100100;elsif (counter=0011) thenc(6 downto 0)=0110000;elsif (counter=0100) thenc(6 downto 0)=0011001;elsif (counter=0101) thenc(6 downto 0)=0010010;elsif (counter=0110) thenc(6 downto 0)=0000010;elsif (counter=0111) thenc(6 downto 0)=1111000;elsif (counter=1000) thenc(6 downto 0)=0000000;elsif (counter=1001) thenc(6 downto 0)=0011000;end if;if(counter2=0000)then -7段数显管显示0到9d(6 downto 0)=1000000;elsif (counter2=0001) thend(6 downto 0)=1111001;elsif (counter2=0010) thend(6 downto 0)=0100100;elsif (counter2=0011) thend(6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纺织服饰品牌文化传播规划
- 2025浙江温州龙港市市属国有企业面向社会招聘工作人员21人笔试备考题库及答案解析
- 企业管理中的领导力发挥
- 印刷品质量管理细则
- 2025云南丽江市古城区司法局招聘司法行政辅助人员1人考试备考试题及答案解析
- 2025信息安全工程师招聘题库及答案
- 员工职业道德修养课程
- 2025年碳资产管理师考试题库(附答案和详细解析)
- 2025年天津上半年房地产估价师制度与政策商品房销售中禁止的行为试题
- 2025年流行病学流行病调查与预防控制计划模拟卷答案及解析
- 摩托车整车采购合同范本
- 托管班合伙人合同协议书
- 9《犟龟》公开课一等奖创新教学设计
- 2025劳动合同补充协议
- 社区节水节电知识培训课件
- 防火墙行业知识培训课件
- 2025版全新升级二手房买卖合同模板下载
- 乡镇执法证考试题及答案
- 2025年监理工程师继续教育试卷及答案
- 2025滨海投资(天津)有限公司校园招聘考试备考题库及答案解析
- 2024-2025学年度江西建设职业技术学院单招《职业适应性测试》题库试题【名师系列】附答案详解
评论
0/150
提交评论