好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于cpld数字密码锁的设计[实用论文].doc

26页
  • 卖家[上传人]:小**
  • 文档编号:57152666
  • 上传时间:2018-10-19
  • 文档格式:DOC
  • 文档大小:5.98MB
  • / 26 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1目目 录录第一部分第一部分 设计概述设计概述………………………………………………………………2第二部分第二部分 系统组成及参数说明系统组成及参数说明 2.1 密码锁具体功能…………………………………………………………… 3 2.2 验证密码锁功能的具体操作……………………………………………… 3 2.3 对应开发板按键图………………………………………………………… 4 2.4 系统组成…………………………………………………………………… 5 2.5 顶层模块图………………………………………………………………… 6第三部分第三部分 完成情况与实际参数完成情况与实际参数……………………………………………… 7第四部分第四部分 结构设计结构设计 4.1 液晶模块………………………………………………………………… 8 4.2 控制模块………………………………………………………………… 10 4.3 键盘输入模块…………………………………………………………… 17 4.4 音乐与报警模块………………………………………………………… 20第五部分第五部分 设计方法与实现步骤设计方法与实现步骤……………………………………………… 23第六部分第六部分 设计特点设计特点…………………………………………………………… 24第七部分第七部分 总结总结………………………………………………………………… 25附:编译报告…………………………………………………………………… 262基于基于 cpldcpld 电子密码锁的设计电子密码锁的设计 第一部分:设计概述第一部分:设计概述锁可以说是使我们日常生活中的必须品。

      它的用处相当广泛,小到个人 财物,大到国家机密都离不开它我们生活中的锁分为机械锁和电子锁两种 现在绝大多数人家的大门使用的是机械锁,但是机械锁的弊端可不少其一, 机械锁具有一定的体积,且大多数为金属制品,每次上锁,开锁后拿在手里不 方便且有一定的重量其二,机械锁只能是一把钥匙对应一把锁,且钥匙容易 丢失或被盗 其三,电子密码锁通常有报警功能,而机械锁通常不具备报警功能随着电子 密码锁的发展和制作成本的降低,数字密码锁大众化的时代即将到来该密码锁为四位的带液晶提示和报警功能的密码锁它的设计基于 VHDL 语言,在 CPLD 开发板上实现其功能 它的大体功能如下:在进行每个菜单操作时,液晶均会给出操作提示, 在按下确认键之后液晶会给出判定的结果在解锁或改变密码时若连续三次输 错密码,则判断为恶意开锁,此时扬声器将给出 5 秒的报警音,锁将自动被锁 死,只有待拥有更高权限的管理员进行系统复位之后才可重新启用该锁,数码 管会给出当前已经连续输错密码的次数,以便用户做到心中有数;该密码锁的应用领域非常广泛它可以应用在家庭中以代替防盗门,密码 由户主设定,这样人们不用到哪兜里都要装着一串钥匙了,且不要到处小心把 钥匙对了,密码记在脑子里,方便且使用。

      它还适合用在有多人工作的地方, 比如公司里的一个工作小组,多人共用一间办公室,若在办公室的门上安装了 电子密码锁来控制门的开关,工作组的成员进出都变得非常方便当然,改密 码锁还可以应用在更高层和更复杂的系统中,如验证保险柜,个人信息验证等3第二部分:系统组成及参数说明第二部分:系统组成及参数说明一一.该电子密码锁要实现的详细功能如下:该电子密码锁要实现的详细功能如下: 1.菜单选择; 2.解锁; 3.上锁; 4.修改密码; 5.防止非法开锁并报警; 6.系统的复位; 7.自动返回菜单界面二.验证上述功能具体操作:二.验证上述功能具体操作: 1.菜单选择:按 MENU 键实现“Input code.”和“Chang code”两个功能界面的 循环切换 2.解锁: 选择“解锁菜单”后按确认键,输入四位密码后按确认键若密码正确,播放音乐,LED 灯闪烁,液晶显示“Open!” 若密码错误,液晶显示“error”,数码管 1 计错次数加 1 3.上锁: 在锁被打开的情况下按下 LOCK 键,音乐停止,LED 灯停止闪烁, 锁重新被锁上 4.修改密码:先选择“Chang code”菜单,按确认进入此功能,然后 1.输入四位旧密码,按确认键: 2.输入四位新密码,按确认键; 3.再次输入四位新密码,按确认键; 液晶给出每一步操作提示信息,在三步中若有任何一步出错,液 晶给出提示“error”,第 1 步出错时数码管 2 计数加一,若每步均 正确,最后提示“finish” 。

      这时返回到“Inout code”功能,验证 新密码是否有效 5.防止非法开锁并报警:连续输入三次错误密码,连续三次错误之后,给出 5 秒的警报音, 之后锁自动锁死,解锁与修改密码功能均无效 6.系统的复位:按下系统复位键 RESET,在锁被锁死状态下,锁的密码被初始化 为“1111” ,重新启用所有功能 7.自动返回菜单界面:随机地进行到操作中的某一步骤,然后 30 秒内不做其他动作,液 晶显示将自动跳回主界面4开发板上相应操作按钮如图 1 所示:(1) 当第一个拨码开关由 0 置 1 时,液晶屏幕显示;menu 键用来切换菜单界面; lock 键用来上锁;reset 键用来复位到初始状态5三.系统组成:三.系统组成: 本系统由四大部分组成:即键盘输入模块,液晶显示模块,液晶控制模块,音乐 与报警模块其主要模块如图 2 所示:(2) 工作原理为:外接键盘按下相应的键,通过编码模块后传输出四位逻辑矢量数, 表示 0 到 11;menu 键控制数据传输到控制模块 1 或者控制模块 2;数据经过控制模块 1 后输出 count1 来控制解锁液晶显示模块, 数据经过控制模块 2 后输出 count2 来控制修改密码液晶显示模块。

      控制模块 1 用来控制在“Input code.”下工作状态它可以判 断输入的密码的个数,若输入满四位密码,按“enter” 键,作出 判断若密码正确,输出一高电平驱动音乐模块;若错误,输错 次数自加 1,在数码管 1 上显示出来若出错满三次,输出一高 电平驱动报警音响起,同时该报警高电平将键盘锁死,直到按“reset”键将该报警高电平置为一位置控制模块 2 用来控制在”Change code.”下工作状态用户先 输入四位正确密码才能更改密码输错的次数在数码管 2 上显示 出来在该模块下,若输入老密码错三次,同样输出一高电平使 蜂鸣器报警,这时键盘被锁死,直到按下“reset”键,键盘被解 锁6顶层模块如图 3 所示:(3)7第三部分:完成情况与实际参数第三部分:完成情况与实际参数该电子密码锁要实现的功能和为验证此功能的具体操作步骤已在第二部分 开始第一,二点给出,这些功能已经全部实现请返回到第二部分以作参考8第四部分:结构设计第四部分:结构设计一一.液晶模块液晶模块. 如图 4 所示:(4)上图是顶层模块中“液晶控制模块”中的内容,其各个分模块已在图中标 出,该模块含有控制模块 其中“菜单显示切换模块”,“解锁显示切换模块” , “修改密码显示切换模 块”是由做好的各个界面的液晶显示模块和选择器组成,而选择器的选择输入 端的信号来自控制模块。

      控制模接收键盘译码后的数据,并根据键盘的操作输 出相应的控制信号传输给选择器来控制界面的切换其对应的放大图及详细工 作原理如下所述:1.菜单显示切换模块: 如图 5,menu 键经过消斗模块,将 0,1 信号传给二位加法器加法器输 出 0 或者 1 信号传输给二位选择器的控制端,从而使“Input code.”和“Change code.”菜单显示模块的输出端有选择的输出其中各个液晶显示的输出端信号都为:data_out[70],rw_out,cont,slect_out,enable_out.每一个显示模块的这五组输 出信号通过选择器最终接到液晶显示器的相应引脚以驱动液晶显示9(5) 2.解锁显示切换模块:其原理和“菜单显示切换模块”完全相同,该模块用的是八选一的选择 器,液晶分别显示的是在“Input code.”操作下的界面3. 解锁显示切换模块:其原理和“菜单显示切换模块”完全相同,该模块用的是十九选一的选 择器,液晶分别显示的是在“Change code.”操作下的界面10二.控制模块二.控制模块.(6) 控制模块由数据选择器(slect2) ,控制模块 1(mode1),控制模块 2(mode2),计时返回模块(auto_return)组成。

      “Slect2”是一个选择器,它的功能是接受键盘传输来的数据,并把数 据传输给“mode1”或是“mode2”,选择控制信号来自菜单选择器的控 制信号,这样在选择菜单 1(“Input code.” )的同时,键盘数据传输给“mode1”, 在选择菜单 2(“Change code.” )的同时,键盘数据传输给“mode2” mode1”用来处理在“Input code.”界面下的工作状态每当键盘传输 0-9 之间的数是,其判断接收到的是第几个数,并相应地传输出三 位逻辑适量数 count1 给选择器的控制端以切换页面当满四位数时,按 enter 键其判断密码是否正确mode2”用来处理在“Change code.”界面下的工作状态其工11作原理与”mode1”类似语言也与“mode1”的语言类似mode1 模块语言如下:12131415161718三.键盘输入模块三.键盘输入模块.键盘模块在顶层模块中已标出,其内部连接如图 7 所示:(7) 此键盘由我们亲手制作,12 个按键都不按时传出的是高电平 1,每当有一 个按键被按下时,其对应引脚传出低电平 0上图中每个按键信号传输到编码 模块之前都经过消斗模块消抖。

      19键盘编码 VHDL 语言如下所示:20键盘的制作采用上拉电阻的方法,原理图如图 8 所示:(8)键盘背面连线图如图 9 所示:(9) 其中红色线接到+5 电源上(由扩展槽的一个引脚提供) ,蓝色线接地,接 到扩展槽的右边第二排(内部接地) 在制作键盘的时候我们又采用了硬件消抖,并联了一个 0.47uF 的电容,在 进行硬件测试时效果很好,但液晶对于抖动很敏感,所以在模块设计的时候, 又加入了软件消抖模块及分频器,加入分频器使之扫描键盘时钟不至于太快, 不至于对抖动更为敏感21四.音乐与报警模块四.音乐与报警模块. 该模块在顶层模块图中已标出,其放大图如图 10 所示:(10) 当 flag_open 输出开锁信号的时候(以高电平输出) ,此时模块 test 的使能 端有效,进而触发该模块输出音乐信号及配合音乐节拍闪动的 LED 灯,test 模 块内部见图 11!当 en=1 时,clk 时钟信号输入分频器 a,b,而后分别接到 song 的输入端,从而有音乐信号输出;当 en=0 时,clk 时钟信号无法输入,也就谈 不上有音乐信号输出其中 song 模块的程序如下,此程序一大部分时引用板子 随带光盘上的 Spark 模块,通过编码我们实现了一段“童年”音乐的输出。

      11)22音乐输出模块程序如下:23……24第五部分:设计方法及实现步骤第五部分:设计方法及实现步骤本电子密码锁采用自顶向下的设计方法我们先确定要实现的功能,并用 状态机详细描述出密码锁的各个工作状态最终为完成这些功能划分为上面描 述的四个大模块同时我们事先定义好各个模块的输入输出信号和模块之间的 连接方式,以便模块的整合接下来我们各自分工,一位同学负责键盘的制作 和编码,另一位同学负责音乐与报警模块,第三位同学负责两个控制模块及液 晶模块 在完成各自模块的设计中,我们用的方法有所偏重控制模块主要是由语 言构成,要十分注重各个细节判断;键盘编码也着重于语言;音乐与报警模块 两个大模块下又包含许多小模块,并且要用到。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.