EDA数字逻辑系统课程设计报告-电子密码锁
更新时间:2024-01-31 08:54:01 阅读量: 教育文库 文档下载
JIANG XI PROVINCE JIUJIANG UNIVERSITY
EDA课程设计报告
电子密码锁设计
院 (系) 电子工程学院 专 业: 应用电子技术 学生姓名: 帅逸 学 号: 01 号 指导教师:
2010年1月2日-2010年1月13日
1
EDA密码锁课程设计
目录
第1章 概述 ................................................................... 3 第2章 设计要求 ............................................................... 3 第3章 总体框图 ............................................................... 4 第4章 功能模块 ............................................................... 6 4.1 输入模块 ............................................................... 6 4.2 控制模块 ............................................................... 9 4.3 显示模块 .............................................................. 17 第5章 总体设计电路图 ........................................................ 19 第6章 设计心得体会 .......................................................... 21 参考文献 ..................................................................... 23
2
EDA密码锁课程设计
第1章 概述
电子密码锁在生活中十分常见,在这我将设计一个具有较低成本的电子密码锁,本文讲述了我整个设计过程及收获。讲述了电子密码锁的的工作原理以及各个模块的功能,并讲述了所有部分的设计思路,对各部分电路方案的选择、元器件的筛选、以及对它们的调试、对波形图的分析,到最后的总体图的分析。
第2章 设计要求
本设计名称为电子密码锁,用四个模块,分别为输入模块、控制模块、扫描器模块、显示模块,
来控制密码的输入、验证与显示。 设计所要实现的功能为:
1 数码输入:手动用3个拨码开关与3个按键设计三位密码的输入,并在显示器显示出该数值。 2 数码验证:开锁时输入密码后,拨动 RT键使其为高电平,而CHANGE为低电平检测,
密码正确时开锁,输出LOCKOPEN灯灭,LOCKCLOSE灯亮,表示开锁成功。
3 错误显示:当密码输入错误时,LOCKOPEN灯亮,LOCKCLOSE灯灭,表示开锁失败。 4 更改密码:当改变密码时,按下CHANGE键使其为高电平,而RT为低电平时,可改
变密码。
5 密码清除:按下REST可清除前面的输入值,清除为“888”。
3
EDA密码锁课程设计 第3章 总体框图
1)设计方案:
电子密码锁,主要由三部分组成:密码输入电路、密码锁控制电路和密码锁显示电路。 作为电子密码锁的输入电路,可选用的方案有拨码与按键来控制输入和触摸式键盘输入等多种。拨码与按键和触摸式4*4键盘相比简单方便而且成本低,构成的电路简单,本设计中采用拨码与按键来作为该设计的输入设备。
数字电子密码锁的显示信息电路可采用LED数码显示管和液晶屏显示两种。液晶显示具有高速显示、可靠性高、易于扩展和升级的特点,但是普通的液晶存在亮度低、对复杂环境适应能力差的特点,但是在本设计中任然使用LED数码管。
根据以上选定的输入设备与与显示器件,并考虑到现实各项密码锁功能的具体要求,与系统的设计要求,系统设计采用自顶向下的设计方案。整个密码锁系统的总体总体框图如图1.1所示。
4
EDA密码锁课程设计 输入模块拨码与按键 单脉冲控制 输入译码 控 制模 块 寄存器与清零信号发生电路 LED灯 开/关锁电路 数值比较器 扫描电路 三选一选择器 显示模块 BCD七段译码显示电路
图3.1电子密码锁系统总体框图
5
EDA密码锁课程设计 第4章 功能模块
4.1 输入模块
1)功能介绍
输入时有三个拨码键控制输入,每个拨码各控制一位密码,对于其中一个拨码键每拨一次码按一次按键,表示输入一位,当输入四位时输出一位数,用“888”作为初始密码。
2)输入模块与仿真图形
单脉冲控制如图5.1如下图
图5.1
上图为单脉冲控制输入,当M给一上升沿信号将在PUL输出一位与之对应的高或低电平。
四位串行输入并行输出寄存器如下图5.2
6
EDA密码锁课程设计
图5.2
上图为4为串行输入并行输出寄存器,它由4个D触发组成,当reset为高电平时,每给一脉冲输入数据将向右移一位二值代码,它能同时复位
3)程序的输入
在文本区内输入程序,程序如下: 单脉冲信号控制 puls.vhd LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY puls IS
PORT (PUL,M:IN STD_LOGIC; Q:OUT STD_LOGIC); END puls;
ARCHITECTURE BEHAVE OF puls IS SIGNAL TEMP:STD_LOGIC; BEGIN
7
EDA密码锁课程设计 PROCESS(M) BEGIN
IF M'EVENT AND M='1' THEN IF PUL='1' THEN TEMP<='1'; ELSE TEMP<='0'; END IF; END IF; END PROCESS; Q<=TEMP; END BEHAVE;
4位串行输入并行输出寄存器 shifter.vhd LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY shifter IS
PORT
(din:IN STD_LOGIC; );
reset,CLK: IN
STD_LOGIC;
qout: buffer STD_LOGIC_VECTOR(0 TO 3)
END shifter;
ARCHITECTURE act OF shifter IS BEGIN
PROCESS(CLK)
VARIABLE q:STD_LOGIC_VECTOR(0 TO 3);
BEGIN IF reset='0' THEN q:=(others=>'0'); ELSE
8
EDA密码锁课程设计 if clk'event and clk='1' then q(3):=q(2); q(2):=q(1); q(1):=q(0); q(0):=din;
END IF;
END IF; qout<=q; END PROCESS; END architecture act;
4.2 控制模块
1)功能介绍
开锁时输入密码后,拨动 RT键使其为高电平,而CHANGE为低电平检测,密码正确时开锁,输出LOCKOPEN灯灭,LOCKCLOSE灯亮,表示开锁成功。当密码输入错误时,LOCKOPEN灯亮,LOCKCLOSE灯灭,表示开锁失败。当改变密码时,按下CHANGE键使其为高电平,而RT为低电平时,可改变密码。按下REST可清除前面的输入值,清除为“888”。
2)控制模块与仿真图形
输入译码器图5.3,如下图
9
EDA密码锁课程设计
图5.3
上图为译码器将4位二值代码转化成BCD码从“0000”~“1001”表示 0~9。
表5-1输入译码的真值表
输入 输出
D C B A Y1 Y2 Y3 Y4 字形 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 2 0 0 1 1 0 0 1 1 3 0 1 0 0 0 1 0 0 4 0 1 0 1 0 1 0 1 5 0 1 1 0 0 1 1 0 6 0 1 1 1 0 1 1 1 7 1 0 0 0 1 0 0 0 8 1 0 0 1 1 0 0 1 9
表5-1
总功能控制模块图5.4,如下图
10
EDA密码锁课程设计
图5.4
当CHANGE为高电平且rt为低电平时开始输入密码这时lockopen为高电平,而lockclose为低电平,当rt为高电平,change为低电平时开始检测密码,如上图开始密码为“108”当再次出现“108”时lockopen为高电平,而lockclose为低电平,当密码错误时lockopen为低电平,而lockclose为高电平。
4选1选择器与扫描器图5.5,如下图
11
EDA密码锁课程设计
图5.5
如上图多路选择器可以从多组数据来源中选取一组送入目的地,在本设计中利用多路选择器做扫描电路来分别驱动输出装置,可以将低成本消耗,如上图当输入“819”时,在时钟地控制下qout将输出“819”,而与之对应的sel扫描对应的数码管。
在文本区内输入程序,程序如下:
输入译码器
12
EDA密码锁课程设计 KEY.vhd LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY KEY IS PORT(clk:IN STD_LOGIC;
data:IN STD_LOGIC_VECTOR(3 DOWNTO 0); q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); q1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END ENTITY KEY;
ARCHITECTURE ART OF KEY IS BEGIN
PROCESS(clk,data)IS BEGIN
IF clk'EVENT AND clk='1' THEN CASE data IS
WHEN \WHEN \WHEN \WHEN \WHEN \WHEN \WHEN \WHEN \WHEN \WHEN \WHEN OTHERS=>q<=\
END CASE; END IF; END PROCESS;
END ARCHITECTURE ART;
13
EDA密码锁课程设计 总功能控制模块 Eleclock.vhd LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY Eleclock IS
PORT(NB:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
NS:IN STD_LOGIC_VECTOR(3 DOWNTO 0); NG:IN STD_LOGIC_VECTOR(3 DOWNTO 0); CLK:IN STD_LOGIC; CHANGE,RT: IN STD_LOGIC;
DB:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); DS:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); DG:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); LOCKOPEN,LOCKCLOSE:OUT STD_LOGIC); END ENTITY Eleclock;
ARCHITECTURE ART OF Eleclock IS COMPONENT Key IS PORT(CLK:IN STD_LOGIC;
DATA:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); Q1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)
);
END COMPONENT Key;
SIGNAL ENABLE,C0,C1,S,ENABLE1:STD_LOGIC;
SIGNAL TB,TS,TG,D_B,D_S,D_G:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
ENABLE<=CHANGE AND(NOT RT); ENABLE1<=RT AND(NOT CHANGE);
U0:KEY PORT MAP(CLK=>CLK,DATA=>NB,Q=>DB,Q1=>D_B); U1:KEY PORT MAP(CLK=>CLK,DATA=>NS,Q=>DS,Q1=>D_S); U2:KEY PORT MAP(CLK=>CLK,DATA=>NG,Q=>DG,Q1=>D_G);
14
EDA密码锁课程设计 PROCESS(CLK,D_B,D_S,D_G) IS
BEGIN
IF CLK'EVENT AND CLK='1' THEN IF ENABLE='1' THEN TB<=D_B; TS<=D_S; TG<=D_G; END IF;
IF ENABLE1='1' THEN
IF ( TB<=D_B AND TS<=D_S AND TG<=D_G) THEN LOCKOPEN<='1'; LOCKCLOSE<='0'; ELSE
LOCKOPEN<='0'; LOCKCLOSE<='1'; END IF; END IF; END IF; END PROCESS;
END ARCHITECTURE ART;
4选1选择器与扫描器 sel.vhd
LIBRARY IEEE;
USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY sel IS
PORT(QIN1,QIN2,QIN3:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
CLK,RST:IN STD_LOGIC;
QOUT:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
15
EDA密码锁课程设计 sel:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END sel;
ARCHITECTURE ART OF sel IS
BEGIN
PROCESS(CLK,RST)
VARIABLE CNT:INTEGER RANGE 0 TO 2;
BEGIN IF (RST='0') THEN CNT:=0;
sel <=\QOUT<=\
ELSIF CLK'EVENT AND CLK='1' THEN
IF CNT=2 THEN CNT:=0; ELSE CNT:=CNT+1;
END IF; CASE CNT IS
WHEN 0=>QOUT<=QIN1; sel <=\WHEN 1=>QOUT<=QIN2; sel<=\
WHEN 2=>QOUT<=QIN3; sel<=\
WHEN OTHERS=>QOUT<=\sel<=\
END CASE; END IF; END PROCESS; END ARCHITECTURE ART;
16EDA密码锁课程设计 4.3 显示模块
1)功能介绍
将密码用BCD七段数码管显示
2)显示模块与仿真波形图5.6,如下图
图5.6
上图将BCD码转化到七段译码电路上
17
EDA密码锁课程设计 表5-2 BCD-七段数码管的真值表
输入 输出
D C B A Y1 Y2 Y3 Y4 Y5 Y6 Y7 字形 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0 1 1 0 1 2 0 0 1 1 0 1 1 1 0 0 1 3 0 1 0 0 0 1 1 0 0 1 1 4 0 1 0 1 1 0 1 1 0 1 1 5 0 1 1 0 1 0 1 1 1 1 1 6 0 1 1 1 1 1 1 0 0 0 0 7 1 0 0 0 1 1 1 1 1 1 1 8 1 0 0 1 1 1 1 0 0 1 1 9 表5-2
在文本区内输入程序,程序如下: Seg7.vhd LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY Seg7 IS
PORT(num:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
led:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END Seg7;
ARCHITECTURE ACT OF Seg7 IS BEGIN
LED<=\ \ \ \
18
EDA密码锁课程设计 \\\\\\\\\\\\END ACT;
第5章 总体设计电路图
1)功能介绍
将各个模块连接在一起实现。
2)顶层文件如下:
19
EDA密码锁课程设计
3)波形仿真如下:
20
EDA密码锁课程设计
图6﹒1
当change为高电平,rt为低电平时,输入“952”验证,当再次输入“952”时锁打开,设计正确。
第6章 设计心得体会
通过这次设计,使我对EDA产生了浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。在编写蜂鸣器模块时,我遇到了很大的困难,一直被定时问题所困扰,解决了这个问题时,我特别的高兴。写控制文件的程序时,也遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了。再对控制模块仿真时,虽然语法正确,但连最基本的输入输出都进不去,我们弄了很多遍都不行,后来在老师的指导下我们才解决了这个问题。另一个问题就是三个时钟信号的配合,其中显示模块和控制模块的信号频率要高。
其次,在进行引脚连接时一定要细心,有些引脚不能使用,我因为没注意使得
开始时一直不能得到正确的结果。这次EDA课程设计历时两个星期,在整整两个星期的日
21
EDA密码锁课程设计 子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到的问题,反映出来我的许多不足之处,我以后要努力克服缺点。
总的来说,这次设计的密码锁还是比较成功的,在设计中遇到了很多问题,最后在同学和老师的辛勤的指导下外加上自己的努力,终于都得到了解决,因此很有成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的。
22
EDA密码锁课程设计 参考文献
[1] 阎石主编.《数字电子技术基础》(第五版).高等教等育出版社.,2007
[2] 李国丽 朱维勇 何剑春.《EDA与数字系统设计》(第2版).机械工业出版社.,2002 [3] 宋武烈,等.《EDA技术实用教程》. 湖北科学技术出版社 ,2006
[4]谭会生,等 .《 EDA技术综合应用实例与分析》.西安电子科技出版社 ,2003
23
正在阅读:
八年级生物上册 18.1 微生物在生物圈中的作用学案北师大版05-14
髋关节评定表 - 图文07-06
推荐阅读书目06-30
建筑工程定额与预算11-09
特殊教育详细教案 - 图文10-17
中国转向助力泵市场规模份额及行业前景调查分析报告2018年目录03-17
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 密码锁
- 逻辑
- 课程
- 数字
- 报告
- 设计
- 系统
- 电子
- EDA
- 污水处理厂监理规划
- 中华人民共和国海事行政强制实施程序规定
- 北师大古代文学考研真题 1993-2012
- 第二章直角三角形的边角关系 单元测试题
- 在运城市盐湖区第十五届人民代表大会第五次会议上
- 高等数学(专科类)第1阶段测试题
- 2017年科学技术奖推荐项目公示推荐项目名称公路桥梁装配式矮 - 图文
- 七年级历史下册材料题集锦
- 武威市2009年考试录用公务员面试人员名单
- 如何有效的使用AppScan扫描大型网站 - 图文
- 医学三基考试心电图题库及答案
- 上海版牛津英语4b教案1、2部分
- 中债登收益率算法
- 高中数学1.3.2.1余弦函数的图象与性质学案新人教B版必修4
- 《关于减少城市基础设施项目施工对周边环境影响的试行规定》
- 药剂学题库
- JAVA工程师个人简历
- 物理治疗学(1)
- 新版人教版三年级上册语文期末试卷20套(2018最新精编)
- 高中通用技术课程与职业生涯规划整合的研究