1、 1目录第 1章 概述 2第 2章 设计要求 2第 3章 总体框图 3第 4章 功能模块 54.1 输入模块 54.2 控制模块 84.3 显示模块 .16第 5章 总体设计电路图 .18第 6章 设计心得体会 .21参考文献 23EDA 密码锁课程设计第 1章 概述电子密码锁在生活中十分常见,在这我将设计一个具有较低成本的电子密码锁,本文讲述了我整个设计过程及收获。讲述了电子密码锁的的工作原理以及各个模块的功能,并讲述了所有部分的设计思路,对各部分电路方案的选择、元器件的筛选、以及对它们的调试、对波形图的分析,到最后的总体图的分析。第 2章 设计要求本 设 计 名 称 为 电 子 密 码 锁
2、 , 用 四 个 模 块 , 分 别 为 输 入 模 块 、 控 制 模 块 、 扫 描 器 模 块 、 显 示 模 块 , 来 控 制 密 码 的 输 入 、 验 证 与 显 示 。设 计 所 要 实 现 的 功 能 为 :1 数 码 输 入 : 手 动 用 3个 拨 码 开 关 与 3个 按 键 设 计 三 位 密 码 的 输 入 , 并 在 显 示 器 显 示 出 该 数 值 。2 数 码 验 证 : 开锁时输入密码后,拨动 RT 键使其为高电平,而 CHANGE 为低电平检测,密码正确时开锁,输出LOCKOPEN 灯灭,LOCKCLOSE 灯亮,表 示 开 锁 成 功 。3 错 误 显
3、 示 : 当 密 码 输 入 错 误 时 , LOCKOPEN 灯亮,LOCKCLOSE 灯灭,表 示 开 锁 失 败 。4 更 改 密 码 : 当 改 变 密 码 时 , 按下 CHANGE 键使其为高电平,而 RT 为低电平时,可改变密码。5 密 码 清 除 : 按 下 REST可 清 除 前 面 的 输 入 值 , 清 除 为 “888”。第 3章 总体框图1) 设 计 方 案 :电 子 密 码 锁 , 主 要 由 三 部 分 组 成 : 密 码 输 入 电 路 、 密 码 锁 控 制 电 路 和 密 码 锁 显 示 电 路 。作 为 电 子 密 码 锁 的 输 入 电 路 , 可 选
4、用 的 方 案 有 拨 码 与 按 键 来 控 制 输 入 和 触 摸 式 键 盘 输 入 等 多 种 。拨 码 与 按 键 和 触 摸 式 4*4键 盘 相 比 简EDA 密码锁课程设计单 方 便 而 且 成 本 低 , 构 成 的 电 路 简 单 , 本 设 计 中 采 用 拨 码 与 按 键 来 作 为 该 设 计 的 输 入 设 备 。数 字 电 子 密 码 锁 的 显 示 信 息 电 路 可 采 用 LED数 码 显 示 管 和 液 晶 屏 显 示 两 种 。 液 晶 显 示 具 有 高 速 显 示 、 可 靠 性 高 、易 于 扩 展 和 升 级 的特 点 , 但 是 普 通 的
5、液 晶 存 在 亮 度 低 、 对 复 杂 环 境 适 应 能 力 差 的 特 点 , 但 是 在 本 设 计 中 任 然 使 用LED数 码 管 。根 据 以 上 选 定 的 输 入 设 备 与 与 显 示 器 件 , 并 考 虑 到 现 实 各 项 密 码 锁 功 能 的 具 体 要 求 ,与系统的设计要求,系统设计采用自顶向下的设计方案。整个密码锁系统的总体总体框图如图 1.1 所示。拨码与按键 单脉冲控制 输入译码BCD 七段译码显示电路图 3.1 电子密码锁系统总体框图控制模块寄存器与清零信号发生电路 数值比较器开/关锁电路三选一选择器扫描电路LED 灯显示模块输入模块EDA 密码锁
6、课程设计第 4章 功能模块4.1 输入模块1)功能介绍输入时有三个拨码键控制输入,每个拨码各控制一位密码,对于其中一个拨码键每拨一次码按一次按键,表示输入一位,当输入四位时输出一位数,用“888”作为初始密码。2)输入模块与仿真图形单脉冲控制如图 5.1 如下图图 5.1EDA 密码锁课程设计上图为单脉冲控制输入,当 M 给一上升沿信号将在 PUL 输出一位与之对应的高或低电平。四位串行输入并行输出寄存器如下图 5.2图 5.2上图为 4 为串行输入并行输出寄存器,它由 4 个 D 触发组成,当 reset 为高电平时,每给一脉冲输入数据将向右移一位二值代码,它能同时复位3)程序的输入在文本区
7、内输入程序,程序如下: 单脉冲信号控制puls.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY puls ISPORT (PUL,M:IN STD_LOGIC;Q:OUT STD_LOGIC);END puls;EDA 密码锁课程设计ARCHITECTURE BEHAVE OF puls ISSIGNAL TEMP:STD_LOGIC;BEGINPROCESS(M)BEGINIF MEVENT AND M=1 THENIF PUL=1 THEN TEMP0);ELSEif clkevent and clk=1 thenq(3):=q(2);
8、q(2):=q(1);q(1):=q(0);q(0):=din;END IF;END IF;qoutqqqqqqqqqqqCLK,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);EDA 密码锁课程设计PROCESS(CLK,D_B,D_S,D_G) ISBEGINIF CLKEVENT AND CLK=1 THENIF ENABLE=1 THENTBQOUTQOUTQOUTQOUT=“0000“;sel=“11111111
9、“;END CASE;END IF;END PROCESS;END ARCHITECTURE ART;EDA 密码锁课程设计4.3 显示模块1)功能介绍将密码用 BCD 七段数码管显示2)显示模块与仿真波形图 5.6,如下图图 5.6上图将 BCD码转化到七段译码电路上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 00 0 0 1 0 1 1 0 0 0 0 10 0 1 0 1 1 0 1 1 0 1 20 0 1 1 0 1 1 1 0 0 1 30 1 0 0
10、 0 1 1 0 0 1 1 40 1 0 1 1 0 1 1 0 1 1 50 1 1 0 1 0 1 1 1 1 1 60 1 1 1 1 1 1 0 0 0 0 71 0 0 0 1 1 1 1 1 1 1 81 0 0 1 1 1 1 0 0 1 1 9表 5-2在文本区内输入程序,程序如下:Seg7.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY Seg7 ISPORT(num:IN STD_LOGIC_VECTOR(3 DOWNTO 0);led:OUT STD_L
11、OGIC_VECTOR(6 DOWNTO 0);END Seg7;ARCHITECTURE ACT OF Seg7 ISBEGINLED=“1111110“WHEN num=“0000“ELSE“0110000“WHEN num =“0001“ELSE“1101101“WHEN num =“0010“ELSE“1111001“WHEN num =“0011“ELSEEDA 密码锁课程设计“0110011“WHEN num =“0100“ELSE“1011011“WHEN num =“0101“ELSE“1011111“WHEN num =“0110“ELSE“1110000“WHEN num
12、=“0111“ELSE“1111111“WHEN num =“1000“ELSE“1111011“WHEN num =“1001“ELSE“1110111“WHEN num =“1010“ELSE“0011111“WHEN num =“1011“ELSE“1001110“WHEN num =“1100“ELSE“0111101“WHEN num =“1101“ELSE“1001111“WHEN num =“1110“ELSE“1000111“WHEN num =“1111“;END ACT;第 5章 总体设计电路图1)功能介绍将各个模块连接在一起实现。2)顶层文件如下:EDA 密码锁课程设计3
13、)波形仿真如下:EDA 密码锁课程设计图 61当 change为高电平,rt 为低电平时,输入“952”验证,当再次输入“952”时锁打开,设计正确。第 6章 设计心得体会通过这次设计,使我对 EDA产生了浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。在编写蜂鸣器模块时,我遇到了很大的困难,一直被定时问题所困扰,解决了这个问题时,我特别的高兴。写控制文件的程序时,也遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了。再对控制模块仿真时,虽然语法正确,但连最基本的输入输出都进不去,我们弄了很多遍
14、都不行,后来在老师的指导下我们才解决了这个问题。另一个问题就是三个时钟信号的配合,其中显示模块和控制模块的信号频率要高。其次,在进行引脚连接时一定要细心,有些引脚不能使用,我因为没注意使得开始时一直不能得到正确的结果。这次 EDA课程设计历时两个星期,在整整两个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
15、在设计的过程中遇到的问题,反映出来我的许多不足之处,我以后要努力克服缺点。EDA 密码锁课程设计总的来说,这次设计的密码锁还是比较成功的,在设计中遇到了很多问题,最后在同学和老师的辛勤的指导下外加上自己的努力,终于都得到了解决,因此很有成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的。参考文献1 阎 石 主 编 . 数 字 电 子 技 术 基 础 (第 五 版 ).高 等 教 等 育 出 版 社 .,20072 李 国 丽 朱 维 勇 何 剑 春 . EDA与 数 字 系 统 设 计 ( 第 2版 ) .机 械 工 业 出 版 社 .,20023 宋 武 烈 , 等 . EDA技 术 实 用 教 程 . 湖 北 科 学 技 术 出 版 社 ,20064谭 会 生 , 等 . EDA技 术 综 合 应 用 实 例 与 分 析 .西 安 电 子 科 技 出 版 社 ,2003