




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计说明书 论文 作作 者者 学学 号 号 系系 专专 业业 题题 目目 基于单片机的保险柜电子密码锁的 设计与实现 毕业设计 论文 原创性声明和使用授权说明毕业设计 论文 原创性声明和使用授权说明 原创性声明原创性声明 本人郑重承诺 所呈交的毕业设计 论文 是我个人在指导教 师的指导下进行的研究工作及取得的成果 尽我所知 除文中特别 加以标注和致谢的地方外 不包含其他人或组织已经发表或公布过 的研究成果 也不包含我为获得 及其它教育机构的学位 或学历而使用过的材料 对本研究提供过帮助和做出过贡献的个人 或集体 均已在文中作了明确的说明并表示了谢意 作 者 签 名 日 期 指导教师签名 日 期 使用授权说明使用授权说明 本人完全了解 大学关于收集 保存 使用毕业设计 论 文 的规定 即 按照学校要求提交毕业设计 论文 的印刷本和 电子版本 学校有权保存毕业设计 论文 的印刷本和电子版 并 提供目录检索与阅览服务 学校可以采用影印 缩印 数字化或其 它复制手段保存论文 在不以赢利为目的前提下 学校可以公布论 文的部分或全部内容 作者签名 日 期 学位论文原创性声明学位论文原创性声明 本人郑重声明 所呈交的论文是本人在导师的指导下独立进行 研究所取得的研究成果 除了文中特别加以标注引用的内容外 本 论文不包含任何其他个人或集体已经发表或撰写的成果作品 对本 文的研究做出重要贡献的个人和集体 均已在文中以明确方式标明 本人完全意识到本声明的法律后果由本人承担 作者签名 日期 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留 使用学位论文的规定 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版 允许论文被查阅和借阅 本人授权 大学可以将本学位 论文的全部或部分内容编入有关数据库进行检索 可以采用影印 缩印或扫描等复制手段保存和汇编本学位论文 涉密论文按学校规定处理 作者签名 日期 年 月 日 导师签名 日期 年 月 日 注 意 事 项 1 设计 论文 的内容包括 1 封面 按教务处制定的标准封面格式制作 2 原创性声明 3 中文摘要 300 字左右 关键词 4 外文摘要 关键词 5 目次页 附件不统一编入 6 论文主体部分 引言 或绪论 正文 结论 7 参考文献 8 致谢 9 附录 对论文支持必要时 2 论文字数要求 理工类设计 论文 正文字数不少于 1 万字 不包括图 纸 程序清单等 文科类论文正文字数不少于 1 2 万字 3 附件包括 任务书 开题报告 外文译文 译文原文 复印件 4 文字 图表要求 1 文字通顺 语言流畅 书写字迹工整 打印字体及大小符合要求 无错 别字 不准请他人代写 2 工程设计类题目的图纸 要求部分用尺规绘制 部分用计算机绘制 所 有图纸应符合国家技术标准规范 图表整洁 布局合理 文字注释必须使用工 程字书写 不准用徒手画 3 毕业论文须用 A4 单面打印 论文 50 页以上的双面打印 4 图表应绘制于无格子的页面上 5 软件工程类课题应有程序清单 并提供电子文档 5 装订顺序 1 设计 论文 2 附件 按照任务书 开题报告 外文译文 译文原文 复印件 次序装 订 指导教师评阅书指导教师评阅书 指导教师评价 指导教师评价 一 撰写 设计 过程 1 学生在论文 设计 过程中的治学态度 工作精神 优 良 中 及格 不及格 2 学生掌握专业知识 技能的扎实程度 优 良 中 及格 不及格 3 学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格 4 研究方法的科学性 技术线路的可行性 设计方案的合理性 优 良 中 及格 不及格 5 完成毕业论文 设计 期间的出勤情况 优 良 中 及格 不及格 二 论文 设计 质量 1 论文 设计 的整体结构是否符合撰写规范 优 良 中 及格 不及格 2 是否完成指定的论文 设计 任务 包括装订及附件 优 良 中 及格 不及格 三 论文 设计 水平 1 论文 设计 的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2 论文的观念是否有新意 设计是否有创意 优 良 中 及格 不及格 3 论文 设计说明书 所体现的整体水平 优 良 中 及格 不及格 建议成绩 建议成绩 优优 良良 中中 及格及格 不及格不及格 在所选等级前的 内画 指导教师 指导教师 签名 单位 单位 盖章 年年 月月 日日 评阅教师评阅书评阅教师评阅书 评阅教师评价 评阅教师评价 一 论文 设计 质量一 论文 设计 质量 1 论文 设计 的整体结构是否符合撰写规范 优 良 中 及格 不及格 2 是否完成指定的论文 设计 任务 包括装订及附件 优 良 中 及格 不及格 二 论文 设计 水平二 论文 设计 水平 1 论文 设计 的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2 论文的观念是否有新意 设计是否有创意 优 良 中 及格 不及格 3 论文 设计说明书 所体现的整体水平 优 良 中 及格 不及格 建议成绩 建议成绩 优优 良良 中中 及格及格 不及格不及格 在所选等级前的 内画 评阅教师 评阅教师 签名 单位 单位 盖章 年年 月月 日日 教研室 或答辩小组 及教学系意见教研室 或答辩小组 及教学系意见 教研室 或答辩小组 评价 教研室 或答辩小组 评价 一 答辩过程一 答辩过程 1 毕业论文 设计 的基本要点和见解的叙述情况 优 良 中 及格 不及格 2 对答辩问题的反应 理解 表达情况 优 良 中 及格 不及格 3 学生答辩过程中的精神状态 优 良 中 及格 不及格 二 论文 设计 质量二 论文 设计 质量 1 论文 设计 的整体结构是否符合撰写规范 优 良 中 及格 不及格 2 是否完成指定的论文 设计 任务 包括装订及附件 优 良 中 及格 不及格 三 论文 设计 水平三 论文 设计 水平 1 论文 设计 的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格 2 论文的观念是否有新意 设计是否有创意 优 良 中 及格 不及格 3 论文 设计说明书 所体现的整体水平 优 良 中 及格 不及格 评定成绩 评定成绩 优优 良良 中中 及格及格 不及格不及格 教研室主任 或答辩小组组长 教研室主任 或答辩小组组长 签名 年年 月月 日日 教学系意见 教学系意见 系主任 系主任 签名 年年 月月 日日 设设计计说说明明书书 摘摘要要 摘要摘要 在日常生活和工作中 锁是每个人都离不开的 它是保护个人财产安全 保 护资料档案的关键元素 随着电子技术的飞速发展 传统弹子锁的缺点渐渐被放 大 社会对新式电子密码锁的需求越来越大 前景广阔 本次设计基于单片机 其主控芯片选择了单片机 AT89S51 显示模块选择了 LCD1602 结合了自行设计的矩阵键盘 报警模块等外围电路 主控芯片的控制 程序则使用 C 语言写成 完成了一套具有按键输入 显示 解锁 报警及密码修 改等多种功能的电子密码控制系统 本论文详细叙述了各个模块的功能和设计方案 给出了系统各个功能的仿真 结果截图 关键词 单片机 电子密码锁 矩阵键盘 LCD 显示 报警 毕毕业业设设计计说说明明书书 论论文文 外外文文摘摘要要 TitleTitle The Design of Electronic Password Lock Based on SCM AbstractAbstract In daily life and work everyone is inseparable from the lock which is the protection of personal and property safety the protection of data files With the rapid development of electronic technology the shortcomings of traditional tumbler lock gradually been enlarged the demand for new electronic locks increasingly broad prospects This design is based on the microcontroller its main chip microcontroller chosen AT89S51 display module chosen LCD1602 a combination of self designed matrix keyboard alarm module and other peripheral circuits the master chip control program is written in C language From the design we got an electronic password control system which has variety of functions key input display unlock password changing and alarm This article details the features and design of each module the simulation results of the various functions of the system screenshot Keywords Electronic password lock SCM Matrix keyboard LCD Display Alarm 目 录 1 引言 1 1 1 课题背景和意义 1 1 2 电子密码锁的发展趋势 1 1 3 本设计要实现的目标 2 1 4 设计方案的选择 2 2 主要原件介绍 5 2 1 主控芯片 AT89C51 简介 5 2 2 LCD1602 显示器介绍 7 2 3 晶体振荡器 9 3 系统设计 10 3 1 整体思路 10 3 2 系统硬件部分设计 11 3 2 1 键盘输入电路 11 3 2 2 复位电路 12 3 2 3 晶振电路 12 3 2 4 显示电路 13 3 2 5 报警 解锁提示电路 14 3 3 系统软件部分设计 15 3 3 1 主要程序流图 15 3 3 2 按键检测子程序设计 15 3 3 3 LCD 显示子程序设计 17 3 3 4 密码修改子程序设计 18 3 3 5 报警声音子程序设计 19 4 仿真调试 22 4 1 PROTEUS ISIS 简介 22 4 2 软件调试 22 4 3 PROTEUS 仿真 24 5 结论 29 致谢 30 参考文献 31 附录 A 电子密码锁程序源代码 32 1 1 引言引言 1 11 1课题背景和意义课题背景和意义 自从人类脱离原始社会 开始有私有财产的概念以来 锁就是人们生活中 的重要组成部分 它的存在 维护了人们的财产安全 人身安全 增加了人们 的安全感 促进了社会和谐 因此 人们对锁的研究从未停止 但几千年来都 未有较大的变化 直到 20 世纪 30 年代后 电子密码锁的概念出现 这一领域 终于出现了日新月异的进步 得益于电子技术的飞速发展 电子密码锁的功能 愈来愈完善 取密码量相对较少 安全性不好的常规锁具已然是大势所趋 电 子密码锁拥有太多机械锁完全无法相比的优点 它不但能完成 锁 自身的功 用 还可以具有记忆 辨识 警报等特别的作用 因为电子密码锁更安全性 更便宜 易操作 越来越多人开始关注这一领域 当前在第一世界国家中 密码锁技术已经比较成熟 拥有不同的种类 在 各类智能门禁系统中 电子密码锁的使用十分普遍 使得门禁的实现有了数种 安全 可靠的技术来支持 总的来说 中国目前的密码锁技术还只有世界上 70 年代左右的水平 生产仍显昂贵 当前 按键式电子锁仍占据了中国市场的大 头 国内有若干厂家引进了海外较为先进的按键式和卡片钥匙型锁 另一方面 中国自主研发的电子锁还没有形成成型的产业链 尚未普及 现在国内有不少 企业引进了当前世界上先进的技术 发展前景非常可观 1 相信国内的厂商也 会不断进步 使得电子密码锁普及在中国的土地上 1 21 2 电子密码锁的发展趋势电子密码锁的发展趋势 在大家的日常生活中 住所和单位的安全保障 档案 财务报表和大多数 私人资料 文件的保护基本用上锁的办式来实现 现在门锁大都使用弹子锁 这种锁钥匙易丢失 仿制也并不困难 保险箱最常见的就是使用机械密码锁 它的构造很麻烦 制作精度要有相当高的保障 这种情况下 成本就很难降下 来 不仅如此 机械密码锁的缺点依然明显 故障率居高不下 使用者往往要 携带数把钥匙 易用性很成问题 前述锁具有着这样多的不便 而人们对锁的 需求又是巨大的 一种使用密码来代替钥匙的锁具就成为了必然出现的产品 电子密码锁的出现 大大提高了人们的生活水平 提供了诸多便利 这也同时 意味着巨大的市场 前景一片光明 由于电子器件的限制 上世纪制造的电子 密码锁 不仅类型少 易破解 锁具最关键的开锁环节也仅仅是依赖基础的模 拟电子开关 工艺简单却存在相当大的安全隐患 之后 数字电路的飞速发展 使得电子密码锁的电路结构复杂性逐渐增加 元件数量逐渐增多 早先单片机 刚普及时也曾使用 2051 系列单片机来实现 但密码简单 易破解 2 随着电 子技术的进一步发展和大众对保密要求的增强 电子密码锁的种类日益繁多 功能渐趋全面 操作更加便捷 安全保密性更强 由以往单纯的键入口令发展 到今天新增了感应元件 想要开锁 必须同时有密码和电子钥匙 做到了更 加稳妥的电子保密 社会对电子密码锁安全性 易用性的需求 使得多种产品相继问世 但它 们中的大多数仅仅是针对特定的声纹 指纹 并且无法做到远程控制 只能用 在保密要求较高的私人用途上 事实上 数字 字母 图象 生物体征以及地 点等因素都能够作为密钥的信息来源 上述信息的排列组合完全可以把电子密 码锁的保密性推向更高的高度 与此同时 信息要素的组合也使得电子密码锁 得到了无限拓展的可能性 产品将越来越多变 对用户而言就有了很大的挑选 余地 由此可以看出组合使用电子信息是电子密码锁今后发展的趋势 3 1 31 3 本设计所要实现的目标本设计所要实现的目标 本设计基于单片机 使用 AT89C51 作为主控芯片 结合外围电路组成一个 电子密码控制系统 用户若想开锁 必须输入正确的密码 错误则有文字及声 音提示并要求重新输入 密码锁同时具有修改密码的功能 修改密码时 必须 键入正确的原密码进行验证 然后输入新密码 1 41 4 设计方案的选择设计方案的选择 1 4 1 主控部分选择 方案一方案一 采用数字电路控制 把 74LS112 双 JK 触发器当作系统的中心 搭配其他原件组成数字逻辑电路 在功能上 可以设置 9 个按键 选择其中 4 个作为有效的密码按键 并将其它 按键均设定为干扰按键 当按下干扰按键时 就将键盘输入电路复位 使得前 面输入的密码无效化 要求重输 如果用户输入密码的时间超过 10 秒 电路将 报警 20 秒 若电路连续报警三次 电路将锁定键盘 2 分钟 防止他人的非法操 作 4 采用数字电路设计方案时设计虽然简单 但控制的准确性和灵活性差 故不采用 方案二方案二 采用单片机控制方案 单片机当前的类型很多 各种型号的应用环境都各有不同 在选用时就有 了更多的选择 使我们可以多加比较 以便选择最为合适的型号 获得更好的 性能 价格比 下列关键词往往应该成为考虑时最需关注的方面 性能 串行接 口 工作电压 存储器 模拟电路功能 抗干扰性 运行速度 封装形式 I O 口 功耗 定时 计数器 保密性 除此以外 在单片机开发过程中还会产生影 响有开发工具 编程器 开发成本 开发人员的适应性 技术支持和服务等因 素 5 考虑到方方面面 本设计采用了 AT89C51 作为核心芯片 单片机提供的 I O 端口虽有限 但端口复用或扩展 结合有效的控制程序 实现基本的密码控制 功能是十分简单的 单片机的外围电路主要包括 一块外接矩阵键盘 用来密 码输入 控制程序流向 一块 LCD 显示屏 用来作为系统的输出 对用户的操 作进行反馈 当用户进行开锁时 首先利用键盘上的 0 9 完成密码的输入 而后确认 若正确则解锁 否则保持锁定状态并要求重新输入 在适当的时机 可发出报警声 在用户进行密码修改操作时 首先要输入原密码 只有当输入 和原密码匹配时才会允许设置新密码 新密码设置完成后按确认键则保存 显然 方案二的功能丰富 控制方便 有较好的准确性 在保证保密的同 时还能进行功能的拓展 基于以上原因 我在此采用方案二 即使用单片机 AT89C51 结合外围接口电路来完成本此设计 1 4 2 密码输入方式选择 方案一方案一 声纹输入识别 所谓声纹 Voiceprint 是用电声学仪器显示的携带言语信息的声波频谱 人类语言的产生是人体语言中枢与发音器官之间一个复杂的生理物理过程 6 人的发声器官大致有以下几种 舌 齿 头 肺 鼻 虽然人们都是用这些器 官来发声 但不同人的这些器官会存在尺寸或外形的较大差别 因此任意两人 的声纹图谱都会存在差别 另一方面 在一定的年龄段内 每个人的声音特征 都不会发生太大变换 相对稳定 所以人们一般可以区分出不同人的声音或判 断是否是某一个特定人的声音 在作为电子锁的输入时 系统会分析所输入声音的声学特征 如反射系数 共振峰 频谱 倒频谱 基音等 并与先前保存的样本进行对比 通过计算机 计算出两者的相似度 并以此判定输入的正确性 考虑到本方案过于复杂 且 有不低的成本 因此我们不采用 方案二方案二 矩阵键盘输入识别 矩阵键盘的每一行 每一列均相连 引出连接到一个 I O 口上 按键设在 每一个行线和列线的交叉处 每当有一个键按下就使得某一条行线与某一条列 线相接通 只要确定接触的是哪两条线 即哪两个 I O 口线 就可以确定哪一 个键被触动 7 此方案相对简单 易于实现 因此采用之 2 2 主要元件介绍主要元件介绍 2 12 1 主控芯片主控芯片 AT89C51AT89C51 简介简介 AT89C51 是一款工作电压低 高性能的 8 位微处理器 即通常所说的单片 机 这款单片机拥有自己的可编程可擦除只读存储器 容量为 4K 字节 可以 反复擦写 100 次 由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中 ATMEL 的 AT89C51 是一种高效微控制器 8 2 1 1 主要特性 与 MCS 51 兼容 4K 字节可编程闪烁存储器 寿命 1000 写 擦循环 数据保留时间 10 年 全静态工作 0Hz 24MHz 三级程序存储器锁定 128 8 位内部 RAM 32 可编程 I O 线 两个 16 位定时器 计数器 5 个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 2 1 2 管脚功能说明 AT89C51 芯片的引脚图如下 图 2 1 AT89C51 芯片引脚图 VCC 供电电压 GND 接地 P0 P3 口均为 8 位双向 I O 端口 但又有所不同 P0 口 第一次将 P1 口的管脚写为 1 的时候 这 8 位的端口都会变为高 阻状态 P0 可以用于连接外部程序数据存储器 同时 P0 口也能被定义成数据 地址的低八位 P1 口 内部提供上拉电阻 其缓冲器可以吸收的门电流量为 4TTL 将 P1 口的管脚写为 1 时 整个 P1 端口会被内部的上拉电阻上拉为高电平 P2 口 内部同样带有上拉电阻 P2 口缓冲器既允许接收电流 又允许输出 电流 当 P2 口被写 1 时 其作用与 P1 口完全相同 P2 口的特殊用途在于 连接外部的程序存储器和 16 位地址的外部数据存储器 若作为 16 位地址的一 部分时 P2 口输出所需地址高八位 和 P0 口相配合 除此以外 它还可以利 用内部拥有上拉电阻的便利 当对外部的数据存储器实行读写操作 仅限 8 位 地址 时 输出它特殊功能寄存器中的内容 P3 口 P3 口的基本用途和性质与其他端口并无不同 只是它可以作为单片 机的特殊功能口 列于下表中 表 2 1 P3 口功能 P3 口同时为闪烁编程和编程校验接收一些控制信号 2 1 3 振荡器特性 单片机 AT89C51 允许用户自行外接合适频率的晶体振荡器 最常使用的不 外乎石晶振荡和陶瓷振荡 当配置为片内振荡器时 反向放大器输入端口应接 XTAL1 输出端口应当接 XTAL2 当使用外部时钟源时 不接 XTAL2 此处外部 时钟信号的脉冲宽度可以是任意的 2 1 4 芯片擦除 想在任何已存有信息的存储字节上重复编程 首先必须对芯片进行擦出操 作 AT89C51 芯片的擦出方法为 ALE 管脚接低电平 10ms 同时搭配以适当的 控制信号组合 此种操作会将代码阵列全部写为 1 此外 AT89C51 设有两 种掉电模式 用户可以自主选择 一是 闲置模式 此模式下 CPU 将会挂起 但 RAM 定时器 计数器 串口以及中断系统仍会处于工作状态 二是 掉电 模式 此时保存 RAM 的内容并且冻结振荡器 禁止所用其他芯片功能 直到下 一个硬件复位为止 9 2 22 2 LCD1602LCD1602 显示器介绍显示器介绍 液晶显示模块主要用于为系统提供输出 可显示图形 数字或专用符号等 信息 这一元件在电子产品中相当常见 在本次设计中我们选用 LCD1602 显示 模块 这一型号有诸多优点 如显示自由度高 体积小 耗能少等 LCD1602 可显示 2 16 个字符 有 RS R W EN 三个控制端口和 8 位数据总线 D0 D7 工作 电压为 5V 并且具有字符对比度调节和背光功能 10 它的主要特性如下 内含复位电路 对比度可调 1 通过控制命令可以实现实现多种功能 2 内部有一显示数据存储器 DDRAM 其容量为 80 字节 3 拥有 200 个 5 7 的字符发生器 CGROM 其中 8 个可由用户自定义 4 1602 型 LCD 的接口引脚说明如表 2 2 所示 表 2 2 LCD1602 引脚说明 编号符号功能编号符号功能 1VSS 电源地 9D2 数据 2VDD 电源正极 10D3 数据 3VL 液晶显示偏压 11D4 数据 4RS 数据 命令选择 12D5 数据 5R W 读 写选择 13D6 数据 6E 使能信号 14D7 数据 7D0 数据 15BLA 背光源正极 8D1 数据 16BLK 背光源负极 1602 型 LCD 主要技术参数 显示容量 16 2 个字符 芯片工作电压 4 5 5 5V 工作电流 2 0mA 模块最佳工作电压 5 0V 字符尺寸 2 95 4 35mm 宽 高 常用指令见下表 表 2 3 LCD1602 常见指令 2 32 3 晶体振荡器晶体振荡器 晶体振荡器 简称晶振 可以产生一定频率的时钟信号 这一信号经过调 频后可成为处理器中各处的总线频率 现在使用最多当属石英晶体振荡器 也称石英晶体谐振器 石英晶体振荡 器具有精度高和稳定度高的优点 它同时可以作为一种晶体谐振元件实现 LC 谐 振回路的功能 稳定频率和选择频率 石英晶体振荡器在生活中的电子设备里 随处可见 为它们产生时钟信号 应用在在单片机中时也是如此 石英晶体具有压电效应 石英晶体振荡器就是利用这一特点制作成的 简 称为石英晶体或晶体 晶振 大多数晶振是这样构成的 从特定角度切下矩形 或圆形的石英晶体薄片 并在其对应面上敷银制成电极 并在上面各焊一根引 线接到管脚上 再加上封装外壳 11 3 3 系统设计系统设计 3 13 1 整体思路整体思路 本系统主要包括单片机 矩阵键盘 复位电路 晶振电路和液晶显示器等 部分 作为整个系统的输入 矩阵键盘担当着与用户交互的核心任务 用户可 以再此输入密码或控制程序的运行方向 功能上 首先由用户由矩阵键盘输入密码 而后与事先存储的密码进行比 较 判断出密码的正确与否 然后单片机会控制特定引脚的电平以触发开锁电 路或者报警电路 实用产品只须将单片机的负载由发光二极管替换为实际锁具 的开锁电路即可 当然也可以用继电器的常开触点去控制电磁铁吸合线圈 12 具体的讲 本设计可以分为硬件部分与软件部分俩大部分 其中硬件部分 又分为键盘输入电路 复位电路 晶振电路 显示电路 报警或解锁提示电路 等几大模块 相应的 软件部分由主程序 按键检测子程序 LCD 显示子程序 密码修改子程序 报警声音子程序等组成 图 3 1 系统框图 3 23 2 系统硬件部分设计系统硬件部分设计 本系统外围电路包括键盘输入电路 复位电路 晶振电路 显示电路 报 警或解锁提示电路等 结合本设计的原定目标 键盘输入电路选择 4 3 矩阵键 盘 显示电路选择显示屏 LCD1602 来完成 其原理图如图 4 1 所示 图 3 2 系统原理图 3 2 1 键盘输入电路 单片机系统中 常用的键盘设计方式有独立式键盘和矩阵式键盘两种 独立式键盘是指每个 I O 输入端口对应一个物理按键的键盘 其优点是键 盘结构简单 按键识别容易 缺点是占用 I O 口较多 矩阵式键盘适合用在按键数量较多的系统中 它将 I O 口分别引出线 并 分为行线和列线 在每一个行线和列线相交的地方放置一个按键 这种方案下 一个占用 7 个 I O 端口的 4 3 的行列结构可以构成一个 12 键的键盘 显然这 种方式与独立式键盘相比节省了很多 I O 端口 但算法相对复杂 13 常用的矩 阵式键盘扫描原理有反转和行 列扫描法 本设计中采用行扫描法 具体原理将 在软件部分介绍 键盘功能及其引脚接法如图 4 2 所示 图 3 3 键盘输入原理图 3 2 2 复位电路 单片机复位可以让整个系统 单片机芯片本身 从一个确定的初始状态开 始工作 在单片机刚刚上电时 断电后和执行出错 复位都是必须的操作 RST 为高电平并保持一定时间后 单片机进入复位状态 在此期间 P0 口呈现高阻 态 P1 P3 口均呈现高电平 同时 PSEN 信号无效 ALE 为高电平 本设计在最基础的复位电路基础上 添加了一个按键以实现手动复位功能 在刚接通电源时电容 C1 两端电势差很小 电阻 R1 上的电压接近电源电压 这 会使得 RST 为高电平 接着 电容进入充电过程 RST 端电势步降低 当 RST 端的电压表现为低电平时 CPU 脱离复位状态 只要电容 C3 大小适当 就能够 保证 RST 的高电平有效持续时间多于 24 个振荡周期 此时单片机就能够实现可 靠的复位 手动复位按键的加入 使得死机时有了可靠的复位方法 在按下复 位键后 电容 C3 将会经由 R6 进行放电 此过程结束后 RST 端的电位就会由 两个电阻的分压情况决定 14 复位电路的原理如下图所示 图 3 4 复位电路原理图 3 2 3 晶振电路 将晶体振荡器按下图所示方式连接到 XTAL1 引脚和 XTAL2 引脚上 就构成 了晶振电路 图示是一种电容三点式振荡器 振荡信号的频率取决于晶振频率 和两个电容的容量 其中 晶振频率又是主要因素 一般而言 晶振频率的取 值范围在 0 33MHz 之间 两个电容的取值范围在 5 30pF 之间 根据实际情况 本设计中采用 24MHZ 做系统的外部晶振 电容取值为 22pF 15 晶振电路原理图 如图 4 4 所示 C1 22pF C2 22pF X1 CRYSTAL 图 3 5 晶振电路原理图 3 2 4 显示电路 为了使密码锁的显示效果使人满意 电路简洁 此处使用了 LCD1602 作为 显示模块的核心 而不是普通的数码管 接通电源后显示器处于等待开锁状态 提示用户输入密码 当用户需要开锁时 可以使用数字键 0 9 输入密码 每次 按键都会把处理结果反馈到屏幕上 当密码输入结束后 按下确认键 系统将 会把输入的密码和事先保存的对比 若正确 LCD 将显示 Unlock succeed 电子密码锁被打开 否则 LCD 显示屏会显示 Wrong Password Unlock Failed 电子密码锁保持原状态 在密码修改的过程中 LCD 显示屏会显示更为多样的信息 Change Password Y N Old Password Wrong Password Match Failed Enter New PW The Password must be 6 bits The Password has changed 等等 电子锁当前所处的状态一目了然 其显示部分 及引脚接口如图 4 5 所示 图 3 6 显示电路原理图 3 2 5 报警 解锁提示电路 本设计报警部分电路由蜂鸣器实现 当输入密码并确认后 单片机的 P3 1 引脚将输出特定频率的方波 则蜂鸣器被导通而发出声音 当密码错误时 发 出的声音为短促的 3 声 嘟 音高相同 当密码正确时 发出的声音为一小段 乐声 当解锁成功时 接于 P3 0 端口的绿色 LED 灯将会亮起 提示锁已打开 在 实际应用的电子密码锁产品中 可以把其替换为电磁继电器的输入 原理仍是 不变 报警 解锁提示部分电路原理图如图 4 6 所示 图中 led 接 P3 0 口 air 接 P3 1 口 图 3 7 报警 解锁提示电路原理图 3 33 3 系统软件部分设计系统软件部分设计 本设计的软件部分由主程序 按键检测子程序 LCD 显示子程序 密码修 改子程序 报警声音子程序等组成 3 3 1 主程序流程图 如图 5 1 所示为主程序流程图 系统上电后将进行初始化 然后开始进行 键盘扫描 此时在键盘上输入密码 若密码正确 则开锁成功 播放成功提示 音 密码错误则会提示 包括屏幕画面及声音 图 3 8 主程序流程图 3 3 2 按键检测子程序设计 本设计中的的密码输入使用了 4 3 矩阵键盘 键盘上除数字键 0 9 以外还 有 2 个功能键 该矩阵键盘的按键检测采用行扫描法 具体步骤如下 令第一行为低电平 其余行和列为高电平 即给 P1 口赋值 0 xFE 1 延时 5 20ms 再次进行检测 实现按键消抖 2 读 P1 口的值 判断当前是否有键被按下 若无键按下 其值仍应为 3 0 xFE 若第一个按键按下 则第一列会被拉低 即 P1 口的读取值应为 0 xEE 即 0 xEE 为第一行第一列按键的键码 同理可得第一行另两个按键的键码为 0 xDE 0 xBE 16 用同样的方法 令其它行为低电平 经上述 3 个步骤也可判断其它按键是 否按下 根据上述过程 该矩阵键盘的按键检测扫描程序设计如下 uchar code rowScan 0 xFE 0 xFD 0 xFB 0 xF7 行扫描码 uchar code key12 0 xEE 0 xDE 0 xBE 0 xED 0 xDD 0 xBD 0 xEB 0 xDB 0 xBB 0 xE7 0 xD7 0 xB7 1 2 3 4 5 6 7 8 9 0 uchar code keyValue 123456789 0 define KEY P1 键盘扫描函数 uchar keyScan void 返回值 有键按下时获得的键盘值 1234567890 无键按下时返回字符 uchar k 0 flag 0 for k 0 k 4 k KEY rowScan k 逐行扫描 delay 10 按键扫描 if KEY rowScan k uchar i 0 for i 0 i 12 i if KEY key12 i 比较键码 flag 1 break while KEY rowScan k 等待按键释放 if flag return keyValue i return 3 3 3 LCD 显示子程序设计 LCD 显示是本设计的核心模块之一 为了能在屏幕上总能显示恰当的信息 本设计中 LCD 显示子程序的功能 应为保障单个字符 字符串的显示 为主程 序或其他子程序留出接口 以便需要时可以很容易调用 本着上述目的 LCD 显示子程序的结构如下图所示 它的目的是提供字符 与字符串的显示函数 不同层次的函数之间是被调用的关系 图 3 9 显示模块结构图 各函数原型及参数介绍如下 void LCDWriteData uchar Data 写数据函数 1 void LCDWriteCmd uchar Cmd 写指令函数 2 void LCDPosition uchar row uchar column 将坐标转换为 LCD 的坐 3 标 参数 row 为所在行数 1 或 2 column 为在行中的位置 0 15 在指定位置写数据函数 4 void writeChar uchar row uchar column char c 参数 row 指定行 column 指定列位置 c 为待写入的数据 写字符串函数 5 void writeString uchar row uchar column1 uchar column2 char s 参数 row 表示行 column1 表示第一行起始地址 column2 表示下一行起 始地址 均从 1 开始 void moveString char s 移动字符串函数 6 void LCDInit void 液晶初始化函数 7 LCDWriteCmd 0 x38 设置 16 2 显示 5 7 点阵 8 位数据接口 delay 30 LCDWriteCmd 0 x01 清屏 delay 30 LCDWriteCmd 0 x06 地址加一 整屏右移 delay 30 LCDWriteCmd 0 x0f 开显示 光标闪烁 显示光标 3 3 4 密码修改子程序设计 在本设计中 密码修改功能是使用外部中断触发的 这意味用户得以随 时进行密码的修改 十分方便 因此 密码修改子程序同时也是外部中断 0 服 务程序 若要修改密码 须先输入旧密码密码 密码验证通过后方可设置新密 码 新密码输入结束后 验证位数 然后保存新密码 流程如图 3 9 所示 图 3 10 密码修改程序流程图 3 3 5 报警声音子程序设计 本程序的设计类似于电子音乐盒 可以实现 1 7 七个音符的各种组合 理 论上可以播放任意音乐 但音阶始终位于 1 个八度内 音调取决于物体振动的频率 频率越高 所发声音音调也就越高 本程序 就是利用单片机产生不同频率的方波 来驱动蜂鸣器发出不同音调的声音 设计中 系统使用了定时中断的方法 这里以起中的音阶 1 为例说明 其初值设为 0 xF720 对应十进制数 63264 则计数 65536 63264 2272 次后 溢出进入中断 若单片机外接 24MHZ 晶振 则计数一次对应 0 5 s 即计数 1136 s 后溢出 一个音阶周期为 1136 s 2 2272 s 对应频率为 1 2272 s 440Hz 次频率为音阶 1 所对应的频率值 其他频率对应的计数初值可按照 此方法推算出来 具体见表 3 1 17 表 3 1 不同音阶所对应频率 计数初值 音阶1234567 频率 Hz440494523587659698784 计数初值0 xF7200 xF8880 xFC440 xF9590 xFA1 3 0 xFA670 xFB04 由此 可得到报警声音模块的代码如下 sbit Beep P3 1 uchar code scalesH 0 xf7 0 xf8 0 xfc 0 xf9 0 xfa 0 xfa 0 xfb 7 个 音符所对应的计数器初值 uchar code scalesL 0 x20 0 x88 0 x44 0 x59 0 x13 0 x67 0 x04 uchar note 初始化函数 void AlarmInit TMOD 0 x01 T C0 工作在方式一 ET0 1 开定时器中断 EA 1 开总中断 TR0 0 关闭定时器 0 播放声音 void play uchar c uint i switch c case 0 note 6 for i 0 i 3 i TR0 1 delay 300 TR0 0 delay 300 break case 1 for note 2 note 6 note TR0 1 delay 300 TR0 0 delay 300 break Beep 1 定时器 0 的中断服务函数 void time0 interrupt 1 TH0 scalesH note TL0 scalesL note Beep Beep 4 4 仿真调试仿真调试 4 14 1 ProteusProteus ISISISIS 简介简介 本设计硬件原理图的绘制使用了Proteus软件 Proteus软件是一款电路设 计与仿真软件 它基于VSM技术 相比其他软件有着诸多优点 它支持仿真的单 片机型号很多 像MCS 51系列 PIC系列等均可 同时集成了多样的单片机外围 电路 比如键盘 LED LCD等等 Proteus软件使我们可以比较容易地获得一个 功能多 易使用的单片机仿真平台 4 24 2 软件调试软件调试 4 2 1 Keil 软件简介 本设计的软件编译环境使用了 Keil uVision4 这是一款基于 C 语言的 51 系列兼容单片机软件开发系统 相比于汇编而言 C 语言无论是在在功能上 结构性上 还是在可读性 可维护性上都有着巨大的优势 使人们得以编制更 加复杂 精致的程序 除了语言优势 Keil C51 软件生成的目标代码很紧凑 这加快了运行速度 提高了效率 使用者可以用任意编辑器编写代码源文件 添加到C51及A51编译器中就可以 编译生成OBJ文件 然后连接定位库文件后生成ABS文件 ABS文件经过OH51的转 换就可以得到标准的Hex文件 可以使用仿真器直接对目标进行调试 18 4 2 2 程序调试 在 Keil 软件上进行程序的调试 首先新建工程 在空白的代码编辑页输入 程序 保存后进行程序编译 若报错修改报错处 经反复修改后 程序会提示 编译成功 编译成功的画面如图 4 1 所示 图4 1 Keil编译成功 Keil 中的程序需生成 51 单片机可执行的 HEX 文件 需要对 目标 1 的属 性进行如图 4 2 和图 4 3 所示的操作 图 4 2 目标 1 的选项 1 图4 3 目标1的选项 2 4 34 3 ProteusProteus 仿真仿真 在Proteus中打开前面所制作的工程 双击单片机芯片 在其属性中填入上 一部所生成的 E lock hex 文件 如图6 4所示 图4 4 AT89C51的属性 点击 开始仿真 按钮后 就可以看到最终的制作成果了 初始状态如图6 5 所示 图4 5 仿真初始状态 现在就可以逐一实现电子密码锁的各种功能 以下是电子密码锁各种功能 实现的具体仿真过程 1 本电子密码锁在密码输入过程中 每输入一位密码 都会在显示屏上 反应出来 仿真效果图如图6 6所示 图4 6 输入密码时的仿真图 2 本设计设定的初始密码为111222 当在4 3矩阵键盘上输入111222并 按下确认键后 显示屏上将显示 Unlock Succeed 同时播放音乐 实现开 锁功能 在本设计的仿真中使用发光二极管代替实际产品中的电磁锁 以发光 二极管D1的发光代表锁打开 密码输入正确 实现开锁的仿真图如图6 7 图4 7 密码正确实现开锁的仿真图 3 当密码输入有误时 显示屏上将会显示 Wrong Password Unlock Failed 同时播放短促的报警声 锁保持关闭 发光二极管D1不发光 密码 输入错误 锁不打开的仿真图如图6 8所示 图4 8 密码错误不能开锁的仿真图 4 电子密码锁的密码可修改 用户确认修改后会提示用户输入旧密码 当旧密码输入正确并验证通过后 即可设置新的密码 按下 修改密码 键后 显示屏的显示情况如图6 9所示 图 4 9 询问用户是否要修改 图 4 10 确认修改后画面 5 如果旧密码输入错误则不能进行新密码的设置 显示屏上会显示 Wrong Password Match Failed 并于 3 秒后要求重新输入 显示屏显示如图 6 11 所示 图 4 11 验证原密码失败的仿真图 6 只有当输入的旧密码正确时 方可输入新密码 显示如图 6 12 所示 图 4 12 新密码输入界面 7 只有当输入新的密码是 6 位时 电子密码锁的密码才会更新 否则发出错 误警告 要求重新输入 显示图如图 6 13 所示 图 4 13 新密码不足 6 位的提示 8 密码若成功更新 显示屏将显示提示信息 The password has changed 如图 6 14 所示 图 4 14 新密码设定成攻的提示 5 5 结论结论 进行本次毕业设计的过程中 通过网络与图书馆查阅了诸多资料 在老 师的提点下 结合实际 制作了一款功能较为齐全的电子密码锁 实现了报 警 密码修改等核心设计 本设计在充分探究实用性 经济性的基础上 主 控芯片选择了单片机 AT89S51 显示模块选择了 LCD1602 结合了自行设计的 矩阵键盘 报警模块等外围电路 主控芯片的控制程序则使用 C 语言编写而 成 简洁而注释充分条理 完成了课题的要求 本设计在 Proteus 软件中设计了以 AT89C51 单片机为核心 拥有矩阵键 盘 显示 报警 复位 晶振等诸多模块的完整电路 并在 Keil 中编写了全套 程序 程序中添加了较为详细的注释 便于阅读 修改与维护 由 Keil 获取 Hex 文件后 在 Proueus 进行了成功的仿真 得到了完整的设计 本设计最终的电子密码锁成品具有以下功能 1 当通过 4 3 矩阵键盘输入正确密码时 密码锁正常开锁 同时显示屏 出现相应的显示信息 蜂鸣器播放开锁音 2 当输入密码不正确时 不能开锁 系统报警 同时显示屏出现相应显 示信息 3 本设计系统中 密码锁的密码可以通过矩阵键盘更改 但只有在输入 原始密码正确的前提下方可设置新密码 同时显示器的显示屏出现相应显示 信息 在这次毕业设计中 从定下课题 查阅资料 到着手制作 修改完善 每一步都令我受益匪浅 不仅巩固了大学期间学到的知识 又增加了许多工 程实践经验 纸上得来终觉浅 很多时候 不亲手去做一件事 就无法真正 了解其中的关键 困难 多多实践动手 才能理论联系实际 增强自身能力 致 谢 在 老师的悉心指导下 本设计终于得以完成 在此 我衷心的感谢马玲 老师对我的关心与帮助 老师对工作的认真负责 严谨求是 令我感悟良多 引以为准绳 老师在整个毕业设计的过程中 多次询问进度情况与所遇困难 督促 引领着我 没有 老师 我就无法高质量的完成此做 在此 谨向我的 导师马玲老师表示我内心最诚挚的谢意 与此同时 我还要感谢四年来我的任课老师们 没有诸位老师的悉心教 导 我断然无法达到今日的学术水平 遑论完成这个毕业设计 谢谢你们 最后 再一次感谢我周围的朋友们 是你们在我遇到困难时伸出援手 是你们与我相互扶持 还要感谢我论文中所引用 参考的文献的作者 正式 站在你们的肩膀上 我才能看得更远 谢谢大家 参 考 文 献 1 杨茂涛 一种电子密码锁的实现 J 福建电脑 2004 08 2 郭海英 基于单片机的电子安全密码锁的设计 M 现代电子技术 2005 13 3 李明
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025短期公寓租赁合作协议范本
- 语言幼儿防疫知识培训内容课件
- 红酒培训基础知识大全课件
- 2025合作协议范本:讲座教授聘任合同示例
- 红茶鉴赏知识讲解课件
- 诗词竞赛知识培训课件
- 项目风险管理单记录与跟踪模板
- 文档资料归档与索引制作指南
- 大数据时代人工智能技术应用课程教案
- 企业形象塑造与品牌推广模板
- GB/T 2679.7-2005纸板戳穿强度的测定
- GB/T 18884.2-2015家用厨房设备第2部分:通用技术要求
- 文化政策与法规(第一课)
- 色彩基础知识ppt
- 寻找消失的滇缅路:松山战痕课件
- 中小学教师职业道德规范解读
- 政府预算理论与实务(第四版)全套教学课件
- 四年级上册美术课件第1课 送给老师的花|沪教版
- 轧机设备安装施工方案
- 最新开工报告范文
- 制药企业仓库温湿度分布的验证
评论
0/150
提交评论