EDA电子密码锁设计报告222Word格式文档下载.docx
- 文档编号:16147774
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:19
- 大小:202.44KB
EDA电子密码锁设计报告222Word格式文档下载.docx
《EDA电子密码锁设计报告222Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《EDA电子密码锁设计报告222Word格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。
3.1.1输入模块程序-6-
3.1.2输入模块元件-7-
3.2电子密码锁系统控制模块-7-
3.2.1控制模块程序-8-
3.2.2控制模块元件-10-
3.2.3控制模块仿真-11-
3.3显示模块-11-
3.3.1显示模块元件-14-
3.3.2显示模块仿真-14-
4收获与体验-15-
参考文献-16-
附件-17-
摘要
随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。
电子电路设计常用的方法是试验设计法,一般都包括设计方案提出、方案验证、方案修改3个阶段。
传统的试验设计法通常采用手工搭接实验电路来完成,往往需要经过试验和修改的反复过程,直到设计出正确的电路。
随着电子和计算机技术的发展,产生了在计算机平台上的EDA(电子设计自动化)技术,这种技术除了具有强大的设计功能外,还具有测试、仿真分析、管理等功能。
在"
EAD桌面设计环境"
下用计算机来完成电路的系统综合设计和仿真。
关键字:
EDA分模块设计电子密码锁
1统设计总述
1.1设计要求
1、密码输入:
每按下一个键,要求在数码管上显示,并依次左移;
2、密码删除:
每删除一位,数码管上的显示右移一位,在左边空出的位补充零;
3、密码设置:
当四位密码输入完毕,按下设置功能键进行设置。
4、密码检验:
输入密码,按下检验键。
1.2设计方案
在电子密码锁的设计中,我首先考虑的方法:
是用密码输入删除控制模块、动态扫描模块、寄存器模块、比较模块、触发模块实现的。
在密码输入删除控制模块中,每输入一位数,数码管左移一位,设置删除信号back,每按一次,删除最后输入的数字,密码在数码管显示右移一位,左边空处0。
设置密码确认信号set,当四位密码输入完毕后,按下set,则密码被送到寄存器锁存,比较器模块得到数据A,同时密码显示电路清零。
设置密码锁状态显示信号lock。
Lock=0表示锁未开,lock=1表示锁开,设置关锁信号close,当密码送到寄存器模块锁存后,按下close,则lock=0.
设置密码检验信号check,在lock=0下从数据开关输入四位开锁数据,按下check,则开锁数码送寄存器锁存,数据比较模块得到数据B,若A=B,则触发器被置”1”。
设计成三个模块:
开关编码模块、控制模块、动态显示模块
设计的总结构图如图1.1。
图1.1设计总结构图
2总体程序设计
2.1整体组装设计原理图
系统的整体组装设计有密码按键输入模块、密码控制模块、密码显示模块三部分组成,系统整体组装原理图如图2.1所示。
图2.1系统整体组装原理图
2.2顶层模块程序调用
2.2.1程序部分
LIBRARYieee;
USEieee.std_logic_1164.all;
LIBRARYwork;
ENTITYeleclockIS
PORT
(CLK2_1:
INSTD_LOGIC;
CLK1_1:
KEY_1:
INSTD_LOGIC_VECTOR(9DOWNTO0);
SET_1:
CHECK_1:
CLOSE_1:
BACK_1:
LED_1:
OUTSTD_LOGIC_VECTOR(6DOWNTO0);
SN_1:
OUTSTD_LOGIC_VECTOR(2DOWNTO0);
LOCK_1:
OUTSTD_LOGIC
);
ENDeleclock;
ARCHITECTUREbdf_typeOFeleclockIS
COMPONENTleds
PORT(DIN:
INSTD_LOGIC_VECTOR(15DOWNTO0);
CLK:
CON:
OUTSTD_LOGIC_VECTOR(1DOWNTO0);
LED7:
SN:
OUTSTD_LOGIC_VECTOR(2DOWNTO0)
ENDCOMPONENT;
COMPONENTart
PORT(CLK:
SET:
CHECK:
CLOSE:
BACK:
DN:
INSTD_LOGIC_VECTOR(3DOWNTO0);
SOUT:
OUTSTD_LOGIC_VECTOR(15DOWNTO0);
LOCK:
COMPONENTtra
PORT(N:
OUTSTD_LOGIC_VECTOR(3DOWNTO0)
);
SIGNALSYNTHESIZED_WIRE_3:
STD_LOGIC_VECTOR(15DOWNTO0);
SIGNALSYNTHESIZED_WIRE_4:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
b2v_inst1:
leds
PORTMAP(DIN=>
SYNTHESIZED_WIRE_3(15DOWNTO0),
CLK=>
CLK2_1,
LED7=>
LED_1(6DOWNTO0),
SN=>
SN_1(2DOWNTO0)
b2v_inst2:
art
PORTMAP(SET=>
SET_1,
CHECK=>
CHECK_1,
CLOSE=>
CLOSE_1,
BACK=>
BACK_1,
CLK1_1,
DN=>
SYNTHESIZED_WIRE_4,
SOUT=>
LOCK=>
LOCK_1
b2v_inst3:
tra
PORTMAP(N=>
KEY_1(9DOWNTO0),
SOUT=>
SYNTHESIZED_WIRE_4
ENDbdf_type;
2.2.2顶层模块原理文件
顶层模块原理文件如图2.2
图2.2顶层模块原理图
3单元模块程序设计
3.1按键输入模块
按键输入与对应的编码输出之间的关系如表3-1所示。
表3-1按键编码
按键输入
编码输出
对应的数字
0000000001
0001
1
0000000010
0010
2
0000000100
0011
3
0000001000
0100
4
0000010000
0101
5
0000100000
0110
6
0001000000
0111
7
0010000000
1000
8
010*******
1001
9
1000000000
0000
3.1.1输入模块程序
libraryieee;
---定义实体
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitytrais
port(n:
instd_logic_vector(9downto0);
---定义按键输入端口
sout:
outstd_logic_vector(3downto0));
----定义编码输出端口
endtra;
architectureatoftrais-----定义结构体
signaltemp:
std_logic_vector(3downto0);
begin
process(n)
begin
casenis----输入键编码
when"
0000000001"
=>
temp<
="
0001"
;
0000000010"
0010"
0000000100"
0011"
0000001000"
0100"
0000010000"
0101"
0000100000"
0110"
0001000000"
0111"
0010000000"
1000"
0100000000"
1001"
1000000000"
0000"
whenothers=>
1111"
endcase;
endprocess;
sout<
=temp;
endat;
3.1.2输入模块元件
图3.1电子密码锁键盘输入
3.2电子密码锁系统控制模块
密码锁的控制电路是整个电路的控制中心。
设置set为密码设置端口,check为密码检验端口,close为关锁端口,back为删除密码端口,clk时钟输入端口,dn[3..0]为3位数字输入端口,sout[15..0]为16位输出端口,lock密码锁状态显示端口。
在此电路中每输一位数,密码在数码管上左移一位。
设置删除密码back,每按下一次back,删除最后输入的数字,左边空处补0。
设置密码确认信号set,当四位密码输入完毕,按下set,设置的密码被存储。
设置密码锁状态信号lock,lock=0表示锁未开,lock=1表示锁开。
设置关锁信号close,按下close,则锁关闭。
设置密码检验信号check,在lock=0下从数据开关书去四位开锁数字,按下check,若数据等于设置的密码或万能密码,则lock=1。
模块程序流程图如图3.3
图3.3控制模块程序流程图
3.2.1控制模块程序
密码锁控制电路的VHDL源程序
----定义实体
entityartis
port(set,check,close,back,clk:
instd_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 电子 密码锁 设计 报告 222