密码锁功能EDA课程设计报告.doc_第1页
密码锁功能EDA课程设计报告.doc_第2页
密码锁功能EDA课程设计报告.doc_第3页
密码锁功能EDA课程设计报告.doc_第4页
密码锁功能EDA课程设计报告.doc_第5页
免费预览已结束,剩余11页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章 设计说明1.1 总体设计说明本实验中说要求设计的电子密码锁密码为4位,由三大部分组成,每一部分又包含了若干子电路,将各电路组合起来,就构成了一个整体。下面对每一大部分分别进行讨论:、矩阵键盘接口电路设计,由于硬件电路没有提供该矩阵键盘,用开关代替该部分电路。、密码锁的控制电路设计、输出七段显示电路的设计1.2 密码锁功能说明、数据输入:每按一个数字键,就输入一个数值,并在显示器上的最右上方显示出该数字,并将先前已经输入的数据依序左移一个数字位置。、数码清除:按下此键可以清除前面所有的输入值,清除成为“0000”。、密码更改:按下此键时将目前的数字设定成新的密码。、激活电锁:按下此键可将密码锁上锁。、解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。第2章 硬件说明本设计所需的硬件主要有:七段译码器、发光二极管(用来模拟电子锁,红灯亮为加锁,绿灯亮为解锁)、EPF10K10LC84-4适配器。我们使用教学使用的EDA试验箱,用独立式开关按键,七段译码器,有发光二极管,有红色和绿色,芯片为EPF10K10LC84-4。第3章 设计内容程序包括六个逻辑元件,分别为:数字按键输入、控制功能按键输入、时钟分频器、处理核心、输出处理和七段译码器。3.1 数字按键输入3.1.1 功能介绍读取数字键09。高电平表示按键未按下,低电平表示按键按下。按照09顺序读取,只能输出1位数字。输出4位二进制代码,“0000”“1001”表示09,用“1010”表示无输入。3.1.2 程序输入1.建立项目文件2.建立设计文件在MAX+PLUS管理窗口中选择FileNew命令,建立文本编辑区,并在File Name文本框中输入shuzishuru.vhd,存盘。3.编辑程序在文本编辑区内,输入程序,程序如下:library ieee; use ieee.std_logic_1164.all; entity shuzishuru is port( numin:IN std_logic_vector(9 downto 0); numstate,clk:IN std_logic; numout:OUT std_logic_vector(3 downto 0); end shuzishuru; architecture EDA of shuzishuru is signal state:std_logic; signal mem:std_logic_vector(9 downto 0); begin process(clk) begin if clkevent and clk=1 then if state/=numstate then if mem/=numin then case numin is when 1111111110 = numout numout numout numout numout numout numout numout numout numout numout=1010; end case; state=numstate; else numout=1010; end if; mem=numin; end if; end if; end process; end EDA;4.保存文件并检查语法错误在MAX+PLUS管理窗口中选择File/Project/Save&Check命令,可将变异的文件存盘并检查语法错误,如果有错误则返回编辑区内修改。5.建立默认符号在MAX+PLUS管理窗口中选择File/Create Default Symbol命令,建立一个符号文件供顶层图形设计文件调用。3.2 控制功能输入3.2.1 功能介绍读取控制功能按键清除按键,修改密码,锁定,解锁。高电平表示按键未按下,低电平表示按键按下。按照“清除按键,修改密码,锁定,解锁”顺序读取,只能输出一位控制信号。输出3位二进制代码,“001”“100”表示“清除按键,修改密码,锁定,解锁”,用“000”表示无输入。3.2.2 程序输入1.建立项目文件2.建立设计文件在MAX+PLUS管理窗口中选择FileNew命令,建立文本编辑区,并在File Name文本框中输入gongnengshuru.vhd,存盘。3.编辑程序在文本编辑区内,输入程序,程序如下:library ieee; use ieee.std_logic_1164.all; entity gongnengshuru is port( conin:IN std_logic_vector(3 downto 0); constate,clk:IN std_logic; conout:OUT std_logic_vector(2 downto 0); end gongnengshuru; architecture EDA of gongnengshuru is signal state:std_logic; signal mem:std_logic_vector(3 downto 0); begin process(clk) begin if clkevent and clk=1 then if constate/=state then state conout conout conout conout conout=000; end case; mem=conin; else conout=000; end if; end if; end if; end process; end EDA;4.保存文件并检查语法错误在MAX+PLUS管理窗口中选择File/Project/Save&Check命令,可将变异的文件存盘并检查语法错误,如果有错误则返回编辑区内修改。5.建立默认符号在MAX+PLUS管理窗口中选择File/Create Default Symbol命令,建立一个符号文件供顶层图形设计文件调用。3.3 时钟分频器3.3.1 功能介绍十分频器,将频率将低以利用。3.3.2 程序输入1.建立项目文件2.建立设计文件在MAX+PLUS管理窗口中选择FileNew命令,建立文本编辑区,并在File Name文本框中输入fenpinqi.vhd,存盘。3.编辑程序在文本编辑区内,输入程序,程序如下:library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fenpinqi is port( clkin:in std_logic; clkout:out std_logic); end fenpinqi; architecture EDA of fenpinqi is signal fenp:integer range 0 to 9; signal clk:std_logic; begin process(clkin) begin if clkinevent and clkin=1 then fenp=fenp+1; if fenp=9 then if clk=1 then clk=0; else clk=1; end if; end if; clkout=clk; end if; end process; end EDA;4.保存文件并检查语法错误在MAX+PLUS管理窗口中选择File/Project/Save&Check命令,可将变异的文件存盘并检查语法错误,如果有错误则返回编辑区内修改。5.建立默认符号在MAX+PLUS管理窗口中选择File/Create Default Symbol命令,建立一个符号文件供顶层图形设计文件调用。3.4 处理核心3.4.1 功能介绍处理核心,根据输入(数字输入以及控制功能输入)改变存储器状态、数码管显示以及LED灯显示。3.4.2 程序输入1.建立项目文件2.建立设计文件在MAX+PLUS管理窗口中选择FileNew命令,建立文本编辑区,并在File Name文本框中输入mimachuli.vhd,存盘。3.编辑程序在文本编辑区内,输入程序,程序如下:library ieee; use ieee.std_logic_1164.all; entity mimachuli is port( numin:in std_logic_vector(3 downto 0); conin:in std_logic_vector(2 downto 0); clk:in std_logic; dataa,datab,datac,datad:out std_logic_vector(3 downto 0); ledr,ledg,numout,conout:out std_logic); end mimachuli; architecture EDA of mimachuli is type lockstate is (unlock,locked); signal numa,numb,numc,numd,codea,codeb,codec,coded:std_logic_vector(3 downto 0); signal numstate,constate:std_logic; signal locksta:lockstate; begin process(clk,numin,conin) begin if clkevent and clk=1 then if numin/=1010 then numd=numc; numc=numb; numb=numa; numa=numin; end if; if conin/=000 then if conin=001 then numa=0000; numb=0000; numc=0000; numd=0000; elsif conin=010 then if locksta/=locked then codea=numa; codeb=numb; codec=numc; coded=numd; end if; elsif conin=011 then if locksta/=locked then numa=0000; numb=0000; numc=0000; numd=0000; locksta=locked; end if; elsif conin=100 then if locksta=locked then if numa=codea and numb=codeb then if numc=codec and numd=coded then locksta=unlock; end if; end if; end if; end if; end if; if locksta=locked then ledr=1; ledg=0; else ledr=0; ledg=1; end if; dataa=numa; datab=numb; datac=numc; datad=numd; if numstate=1 then numstate=0; else numstate=1; end if; if constate=1 then constate=0; else constate=1; end if; numout=numstate; conout=constate; end if; end process; end EDA;4.保存文件并检查语法错误在MAX+PLUS管理窗口中选择File/Project/Save&Check命令,可将变异的文件存盘并检查语法错误,如果有错误则返回编辑区内修改。5.建立默认符号在MAX+PLUS管理窗口中选择File/Create Default Symbol命令,建立一个符号文件供顶层图形设计文件调用。3.5 输出处理3.5.1 功能介绍根据密码处理提供的数码管数据刷新显示数字,需要配合七段译器。3.5.2 程序输入1.建立项目文件2.建立设计文件在MAX+PLUS管理窗口中选择FileNew命令,建立文本编辑区,并在File Name文本框中输入shuchu.vhd,存盘。3.编辑程序在文本编辑区内,输入程序,程序如下:library ieee; use ieee.std_logic_1164.all; entity shuchu is port( dataa,datab,datac,datad:in std_logic_vector(3 downto 0); clk:in std_logic; dataout:out std_logic_vector(3 downto 0); outsel:out std_logic_vector(1 downto 0); end shuchu; architecture EDA of shuchu is signal timer:std_logic_vector(1 downto 0); begin process(clk) begin if clkevent and clk=1 then if timer=00 then dataout=dataa; outsel=00; timer=01; elsif timer=01 then dataout=datab; outsel=01; timer=10; elsif timer=10 then dataout=datac; outsel=10; timer=11; else dataout=datad; outsel=11; timer dataout dataout dataout dataout dataout dataout dataout dataout dataout dataout dataout=0000000; end case; end process; end EDA;4.保存文件并检查语法错误在MAX+PLUS管理窗口中选择File/Project/Save&Check命令,可将

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论