




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子密码锁设计设计任务及要求分析设计一个电子密码锁,在锁开的状态下输入密码,设置的密码共4位,用数据开关K1K10分别代表数字1,2,9,0,输入的密码用数码管显示,最后输入的密码显示在最右边的数码管上,即每输入一位数,密码在数码管上的显示左移一位。可删除输入的数字,删除的是最后输入的数字,每删除一位,密码在数码管的显示右移一位,并在左边空出的位上补充“0”。用一位输出电平的状态代表锁的开闭状态。根据题目要求,本次设计包括键盘输入电路的设计,输出显示电路的设计,密码控制电路。其中输出显示电路包括数码管显示电路和密码锁开关状态显示电路。方案比较及认证在本次设计中,我们使用的Altera公司的FPGA芯片EPF10K10LC84-3。由于采用VHDL 语言设计,使用FPGA 实现,因而体积小,功耗低、性能特别灵活,稍加修改就可以改变密码的位数和输入密码的次数,因而升级和维护都很方便,而且容易做成ASIC 芯片,具有较好的应用前景。但由于结构还比较简单,有待进一步完善。系统原理阐述在本实验中采用的是VHDL编程,通过文本编辑方式建立模块,通过原理图方式将生成的图形符号连接,然后再下载,进行硬件的仿真。为达到密码锁的以上功能,可将电子密码锁分为以下几个模块进行设计:按键输入电路:2、密码控制电路:包括密码删除、修改与检验。3、输出显示电路。其中,最为关键的是密码控制电路即主电路的设计。可以为主电路分配如下管脚:其中set为密码设置端口, check为密码检验端口, close为关锁端口, back为删除密码端口, clk时钟输入端口, dn3.为数字输入端口,lock密码锁状态显示端口。在此电路中每输一位数,密码在数码管上左移一位。设制删除密码back,每按下一次back,删除最后输入的数字,左边空处补0。设置密码确认信号set,当四位密码输入完毕,按下set,设置的密码被存储。设置密码锁状态信号lock, lock=0表示锁未开,lock=1表示锁开,同时设置关锁信号close,按下close,则锁关闭。设置密码检验信号check,在lock=0下从数据开关书去四位开锁数字,按下check,若数据等于设置的密码或万能密码,则lock=1设计方案结构图根据本次设计的特点,可以根据对密码的处理方式分为密码输入模块,密码存储模块,密码设置模块,密码显示模块。如下图所示:图1其中,密码输入模块即为按键编码电路,其原理图如下。 其中n9.0为按键输入端口, sout3.0为输出端口。按键输入编码通过案件输入高低电平,每按一个键通过编码显示对应的数字。图2 密码存储模块即使用EPF10K10LC84-3芯片中的寄存器模块。密码控制模块的原理图如所示。其中set为密码设置端口, check为密码检验端口, close为关锁端口, back为删除密码端口, clk时钟输入端口, dn3.为数字输入端口,sout15.0为16位输出端口,lock密码锁状态显示端口。图3软件设计软件思想为了简化设计过程,根据fpga的设计特点,我在本次设计过程中将整个软件设计分成不同的功能模块:键盘输入模块,数码管显示模块,密码存储模块,密码匹配模块。对上述每个模块进行程序编程和波形仿真正确以后,再把它们添加至工程下进行整体编译,管脚分配和整体原理图生成。最后对整个工程进行功能仿真。流程图整体流程图图4密码设置流程图 图6源程序及程序注释键盘输入电路的VHDL语言源程序library ieee; -定义实体use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;entity tra isport( n:in std_logic_vector(9 downto 0); -定义按键输入端口sout:out std_logic_vector(3 downto 0); -定义编码输入端口end tra; architecture at of tra is -定义结构体signal temp:std_logic_vector(3 downto 0); beginprocess(n)begin case n is -输入键编码when 0000000001=temptemptemptemptemptemptemptemptemptemptemp=1111;end case;end process;sout=temp; -sout怎么传出的end at;数码管显示电路的VHDL语言源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity leds is -定义实体port(din:in std_logic_vector(15 downto 0); -16输入信号clk:in std_logic; -时钟信号 con: buffer std_logic_vector(1 downto 0); led7:out std_logic_vector(6 downto 0); -七段数码管输入信号sn:out std_logic_vector(2 downto 0); -数码管七段译码信号end leds;architecture he of leds is -定义结构体signal db:std_logic_vector(3 downto 0);begin process(clk,din)beginif clkevent and clk=1 thencon=con+1; -数码管的片选计数 end if;if(con=00) then -片选为0,03位显示db=din(3 downto 0);sn=000;elsif(con=01) then -片选为1,47位显示db=din(7 downto 4);sn=001;elsif(con=10) then -片选为2,811位显示db=din(11 downto 8);sn=010;elsif(con=11) then -片选为3,1215位显示db=din(15 downto 12);snled7led7led7led7led7led7led7led7led7led7led7=0000000;end case;end process;end he;密码存储电路的VHDL语言源程序library ieee; use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity regm is -实体定义port(set,check:in std_logic;clk:in std_logic;c:in std_logic_vector(15 downto 0); a,b:out std_logic_vector(15 downto 0); clr:out std_logic);end regm;architecture behv of regm is -结构体定义begin process(set,check,clk)begin if clkevent and clk=1 then if set=1 then -设置密码时,输入数据送给a,显示电路清零 a=c; clr=0; else clr=1;end if;if check=1 then -检验时,输入数据送给b b0000000000000000 and b0000000000000000 then -若有按键if a=b then -若a=bsd0=0; -触发器置位为1 elsif a=1000100010001000then -或为万能密码,触发器置位为1 sd0=0; else sd0temptemptemptemptemptemptemptemptemptemptemp=1111;end case;fn=not(temp(3) and temp(2) and temp(1) and temp(0); -设置输入上升沿nc:=000; if fn=1 then if nc4 then -输入左移控制 acc=acc(11 downto 0)&temp; nc=0 then acc=0000&acc(15 downto 4); nc=nc-1; end if; end if;end process;end at;密码开启显示电路VHDL语言源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity diff is -实体定义port(d,close,sd0:in std_logic; lock:out std_logic);end diff;architecture art of diff is -结构体定义 begin process(close,sd0)variable lock_1:std_logic;beginlock_1:=0; if sd0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六单元测试卷及答案
- 2025湖南永州辉泓人力资源管理有限公司永州回龙圩管理区分公司会计招聘备考练习题库及答案解析
- 公路施工过程质量检查方案
- 电梯改造期间居民安全保障方案
- 道路工程施工合同
- 2025年临沂城市职业学院招聘专业负责人、专任教师、公共课教师及教辅人员(78人)考试参考试题及答案解析
- 城市公园林木种植承包协议书2篇
- 安岳县2025年从“三支一扶”计划项目服务期满人员中考核招聘乡镇事业单位人员备考练习试题及答案解析
- 国际结算答题题库及答案
- 2025年诗歌鉴赏题库及答案
- 农资货运运输管理办法
- 2025至2030全球及中国过敏原提取物行业产业运行态势及投资规划深度研究报告
- 物业基础培训课件
- 人教版九年级上册历史期末复习知识点考点背诵提纲详细版
- 2025年广东省中考英语真题(原卷版)
- 捐资奖学金活动方案
- 非标自动化培训
- 2025年贵州省中考化学试卷真题(含答案解析)
- 高桩码头施工培训课件
- 2025至2030中国工业混合式步进电机行业发展趋势分析与未来投资战略咨询研究报告
- 《大学体育理论与实践教程》大学体育课程全套教学课件
评论
0/150
提交评论