




免费预览已结束,剩余10页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东北石油大学课程设计任务书课程 EDA技术课程设计题目 电子密码锁专业 电子信息工程 姓名 学号 主要内容:设计一个密码锁的控制电路,第一个按钮触动后的5秒内若未将锁打开,则电路自动复位并进入自锁状态,当输入正确代码时,输出开锁信号以推动执行机构工作。设计内容、技术条件和要求1、设计一个密码锁的控制电路,当输入正确代码时,输出开锁信号以推动执行机构工作,用红灯亮、绿灯熄灭表示关锁,用绿灯亮、红灯熄灭表示开锁;2、在锁的控制电路中储存一个可以修改的4位二进制代码,当开锁按钮开关的输入代码等于储存代码时,开锁;3、 从第一个按钮触动后的5秒内若未将锁打开,则电路自动复位并进入自锁状态,使之无法再打开,并由扬声器发出持续20秒的报警信号,并输出一个信号推动LED不断闪烁4、 主要参考文献1 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.2 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006.3 阎石主编.数字电子技术基础. 北京:高教出版社,2003.4 谭会生、瞿遂春,EDA技术综合应用实例与分析,西安电子科技大学出版社,20045 高有堂,EDA技术及应用实践,清华大学出版社,2006完成期限 2010.3.11 指导教师 专业负责人 2010年 3月7日1、 设计思路该电子密码锁的设计主要有两个模块组成:按键输入部分和控制电路结构图如下:图1其中key_in0.4是五个密码输入按键, Change用于修改密码,在电锁打开状态下,按下change可以对密码锁的密码进行修改;在电锁未打开,输入密码时候按一下change键可以对已输入的密码清零,重新输入密码。当输完密码后按下ok键,密码输入到电锁内部。稍后,会将已输入的密码进行清零。Ff是报警信号,当按下第一个密码输入按键后,五秒内电锁未打开,则电路自动复位并进入自锁状态,使之无法再打开,并且输出256hz报警信号驱动蜂鸣器报警,并且红灯闪烁,均持续20s;若五秒内密码输入正确,电锁打开,则输出128hz的提示信号,告诉用户电锁已打开,并且绿灯亮红灯灭。提示信号持续20s,电锁打开时间为60s,超过60s后,电锁自动上锁,红灯亮,绿灯灭。输入密码和修改密码时,输入的数字 都会在数码管上显示,当输入完毕按下ok确认后,数码管清零,不再显示。二、各部分的详细说明以及功能介绍1、按键输入部分主要功能是,识别密码按键的输入,并将输入码译为对应的BCD码,同时进行移位操作,内部置有串行输入并行输出移位寄存器,每输入一位密码,就将其译为BCD并在数码管上输出,同时输出给控制部分contra。再次按下密码输入按键后,数码左移,直到四位密码全部输入。有计数器控制,只能允许输入四位密码,超过密码长度的输入,既不显示也不移位。该部分的电路主要有yima,count5和shift三部分以及逻辑门组成,结构图如下:图21)5进制计数器count5主要功能是记录按键的次数,用于控制密码个数的输入。计数器开始值为0,驱动信号cp为key_in0.4五个按键信号相或得到,五个按键中任意一个按下,cp就为1否则为0。当rst清零信号为1时计数器清零,否则,计数器在cp的上升沿,计数。当计数器的值不为0时,c_out置为1,其余为0;当计数器记到4时,不再增加,且oc置为0,其余oc为1。2) 移位寄存器shift移位寄存器shift的驱动信号cp和计数器相似依然由key_in0.4产生,但却受计数器输出端的oc控制通断。当oc为1时,cp 是由key_in0.4产生的脉冲,当oc为0时,cp被拉低。当rst=1时,移位寄存器被置为1111111111111111,否则就在cp的下降沿进行移位,每次移动4位,同时将结果输出,并在数码管上显示。以上三个部分综合仿真的结果如下:图32、 主要控制部分电路主要控制部分是有众多小电路组成的,包括时钟分频电路,数据锁存电路,D触发器,60进制计数器,25进制计数器,数据比较电路,分用器,复用器,电平保持电路以及少量逻辑门电路组成。电路组成结构图如图15该电路主要实现对电子密码锁的全面控制。1) 时钟分频电路将输入的256Hz时钟经处理后输出为1Hz,4Hz,128Hz,256Hz四种时钟信号,用于驱动不同的器件。1Hz主要用于驱动计数器工作,4Hz用于输出驱动密码输入错误的时候的红灯闪烁,128Hz和256Hz用于输出驱动蜂鸣器发声,当密码锁在5秒钟内输入正确打开时,输出为256Hz的脉冲;输入密码错误或者没打开则输出128Hz脉冲。图42)25进制计数器25进制计数器只要功能是对输入密码的时间以及报警时间计时。当输入第一个密码时,按键输入译码模块的cout被置为高电平,计数器使能,开始计数。当计数器值5时,oc1为低电平,计数器记到5,oc1被置为高电平,用于对输入部分进行封锁。当计数器25的时候oc2为低电平,记到25的时候,oc2被置为高电平。该计数器带有清零端rst,rst由oc2和开锁信号相或得到。所以当电子密码锁被打开后,计数器停止计数并清零。所以,当5秒内密码还没有输入正确,则不能输入密码,而且开始报警,报警持续20秒。20秒后,计数器清零。图53) fen_1分用电路主要是将按键输入change分用为两个功能,如果电锁目前是打开状态,那么change的作用就是修改密码,如果电锁目前没有打开,那么change的作用就是把输入的密码清除,重新输入。其中en由开锁信号控制,控制输入信号的走向。不同走向的change会有不同的功能。图64) fen_2分用电路主要控制输入的数据din和确认键ok的走向,控制端为change,当change为0的时候,数据由dout(31 downto 0)的低16位输出,ok由ko(0)输出。当change为1时候,数据和ok都由高位输出。低位输出的数据和ok输入到M7:lock,M7锁存器用于盛放输入的密码。高位输出的数据送到M8:lock,M8用于盛放密码锁已经设定的密码。图75) 锁存器lock锁存器主要功能是对数据进行锁存。Lock有三个输入端,rst清除,ok确认(使能),din(15 downto 0)数据输入和1个输出dout。当rst为1时候,执行清除操作,将输出端置为0FFFFH;在rst为0,ok的下降沿将din的数据送到dout(输出端)。仿真图如下:图8该模块有两个用处,(1)用来盛放按键输入的密码M7;(2)存放电子密码锁里面的设置密码M8。其中M8的清除按键悬空。在ok键的作用下,将M7 和 M8的数据都输入到比较器中进行比较。6) 数值比较器当输入端dout_a和输入端dout_b的数据项同时,输出dout为高电平,否则就为低电平。输出为高电平,表示电子密码锁成功开启。电子密码锁成功开启后,经过电平保持电路和60秒计数器的控制,输出持续时间为60秒的高电平,60秒后,密码锁自动上锁。图97) 电平保持电路baochi.vhd该电路的主要功能是,将短暂的高电平保持一段时间,这样不会导致修改了密码后,电锁就马上被锁。60秒后通过清零端清零。图108)60进制计数器该计数器有两个输出端op和oc。Op用于清零,oc用于控制绿灯是否点亮。主要用于对电锁开启后的的状态进行计数。开锁信号通过保持电路保存60秒,在此期间,该信号作为60进制计数器的使能信号。计数器开始工作。当计数到60时候,输出端op变为高电平,通过op信号对保持电路清零,计数器不再使能,停止工作,同时计数清零,等待下一次的是能信号。同时op也对输入密码锁存器进行清零。开锁信号由高变低,电锁上锁。在计数器计数期间,输出端的oc输出为高电平,直接控制绿灯点亮,当计数器为0时候,变为低电平,绿灯熄灭。图119) dff_1主要实现带异步清零D触发器的功能。当rst为1时候,清零,输出q为0;在rst低电平,同时时钟上升沿,将输入送到输出。图1210) dff_2用于选择输出。当en为1时,输出为输入端的时钟信号cp;当en为0时候,输出为高电平。该电路主要用于控制红灯的闪烁。输入时钟选用4Hz的。输出信号和经过反相器的counter60输出信号oc相与,控制红灯。当开锁失败后,由counter25控制en使能,是输出为脉冲信号。当电锁处于关闭状态时候,由于en为0,输出为高电平,对红灯没影响。图1311) ctr蜂鸣器控制电路该电路主要是选择输出用于控制蜂鸣器的脉冲频率。当开锁成功后,en1为高电平,控制输出频率为128Hz的脉冲,告诉用户,密码锁已经打开,信号持续60秒;若5秒内没有打开电锁,则由counter25的oc1控制en2为高电平,控制输出频率为256Hz的脉冲,告诉用户电锁由于在规定时间内没能打开电锁,发出警告。若en1和en2 都没有为高电平,那么就不输出。图14整个contra的程序如下:contra.vhdentity contra is port(change,ok,clk:in std_logic;din:in std_logic_vector(15 downto 0);hong,lv:out std_logic;ff:out std_logic;dout_m3:out std_logic_vector(0 to 1);rst :buffer std_logic); end;architecture mbl of contra is signal cp1,cp128,cp4,cp256:std_logic;signal a,b,c,d,e,f,g,i,j,k,l,m,n,p,q:std_logic;signal data_a,data_b,h_1,h_2:std_logic_vector(15 downto 0);signal c_tmp:std_logic;signal c_out:std_logic;signal cp:std_logic;signal dout:std_logic_vector(15 downto 0);component yima_count5_shift isport (key_in: in std_logic_vector(0 to 4);rst,s: in std_logic;-din: in std_logic_vector(3 downto 0);dout: out std_logic_vector(15 downto 0);c_out:out std_logic);end component;component baochi is port (en,rst:in std_logic;q:out std_logic);end component;component compore is port(din_a,din_b:in std_logic_vector(15 downto 0);dout:out std_logic);end component;component counter25 is port(en,clk,rst:in std_logic;oc1,oc2:out std_logic:=0);end component;component counter60 is port(en,cp:in std_logic;oc,op:out std_logic:=0);end component ;component ctr is -用于控制蜂鸣器的输入port(en1,en2,cp128,cp256:in std_logic;dout:out std_logic:=0);end component ;component dff_1 is port(d,cp,rst:in std_logic;q:out std_logic);end component;component dff_2 is port(en,cp:in std_logic;dout:out std_logic);end component;component fen_1 is port(din,en:in std_logic;dout:out std_logic_vector(0 to 1);end component ;component fen_2 is port(en,ok:in std_logic;din:in std_logic_vector(15 downto 0);ko:out std_logic_vector(0 to 1);dout:out std_logic_vector(31 downto 0);end component;component free is port(clk:in std_logic;cp1,cp4,cp128,cp256:out std_logic);end component ;component lock is port(din :in std_logic_vector(15 downto 0);rst,ok:in std_logic;dout:out std_logic_vector(15 downto 0) );end component;component shift isport (cp: in std_logic;rst : in std_logic;din : in std_logic_vector(3 downto 0);dout: out std_logic_vector(15 downto 0) );end component;begin p=k or n;rst=a or b or c;hong=I and (not q);lv=q;dout_m3clk,cp1=cp1,cp4=cp4,cp128=cp128,cp256=cp256);M2:dff_1 port map(d=ok,cp=cp4,q=a,rst=0);M3:fen_1 port map(din=change,en=k,dout(0)=b,dout(1)=d );M4:dff_1 port map(d=1,cp=d,rst=a,q=e);M5:fen_2 port map(din=din,en=e,ok=ok,ko(0)=f,ko(1)=g,dout(15 downto 0)=data_a,dout(31 downto 16)=data_b);M6:lock port map(din=data_a,ok=f,dout=h_1,rst=m);M7:lock port map(din=data_b,ok=g,dout=h_2,rst=0);M8:compore port map(din_a=h_1,din_b=h_2,dout=j);M9:baochi port map(en=j,rst=m,q=k);M10:dff_2 port
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农行理财考试题库及答案
- 2025年陪诊服务知识题库及答案
- 2025年财务分析师中级专业能力测试题库与答案解析
- 2025年陪诊师资格证考试题库(附答案)
- 2025年文化旅游部公务员招录考试专业知识精讲
- 2025年篮球裁判员测试题及答案
- 2025年酒店物业管理水电维修师笔试模拟试题集及答案解析
- 桡骨小头骨折课件
- 2025年城市设计与可持续发展考试试题及答案
- 2025年篮球教练职业技能认证考试试题及答案
- JT-T 495-2025 公路交通安全设施产品质量检验抽样方法
- 《废旧锂电池的回收与再利用》课件
- 汽车制造工艺技术课件:汽车总装生产工艺流程及检测工艺
- 硬笔书法训练行业深度调研及发展战略咨询报告
- 2024年中国心力衰竭诊断与治疗指南更新要点解读
- JJF(新) 146-2024 可燃气体和有毒气体检测报警控制系统校准规范
- 《高血压的护理常规》课件
- 《更年期的中医调理》课件
- 《环形件模锻实验》课件
- DB37T 5059-2016 工程建设地下水控制技术规范
- 智慧安监大数据云平台建设方案
评论
0/150
提交评论