基于单片机的数字密码锁设计.doc_第1页
基于单片机的数字密码锁设计.doc_第2页
基于单片机的数字密码锁设计.doc_第3页
基于单片机的数字密码锁设计.doc_第4页
基于单片机的数字密码锁设计.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

沈阳理工大学课程设计报告 I 摘摘 要要 自从人类开始制造锁以来长期所使用的锁都是机械锁 而其本身锁芯密齿的有限 加之开锁工具钥匙的容易复制性 使得其安全性大大降低 随着人们生活质量的提高 如何实现安全有效的防盗这一问题受到越来越多人的关注 传统的机械锁由于安全性 能太差 被撬的事件屡见不鲜 相比之下 电子密码锁因其保密性强 使用灵活性好 安全系数高 受到了广大用户的欢迎 电子密码锁作为一种新型的锁 不仅拥有海量 的密齿 还省去了传统机械锁的钥匙 使用者只要记得其密码 便可以开启 从而大 大提高了防盗功能 本文主要设计了一种以单片机 89C51 为核心的数字密码锁 详细的介绍了该数字 密码锁完整的设计过程和外围的开锁电路的设计 数字密码锁主要由三部分组成 键 盘接口电路 数字密码锁的控制电路 输出八段显示电路 键盘接口电路包括时序产 生电路 键盘扫描电路 键盘译码电路 数字密码锁控制电路设计包括数字按键的数 字输入 功能按键的功能设计 密码清除 变更等 输出八段显示电路包括数据选择 电路 八段显示器扫描电路 关键词 单片机 密码锁 键盘接口 显示电路 沈阳理工大学课程设计报告 II 目 录 1 引言 1 2 总体设计 2 2 1 密码锁的基本原理分析 2 2 2 密码锁设计分析 2 2 3 系统的结构框图 3 3 详细设计 4 3 1 硬件设计 4 3 1 1 51 单片机的简单介绍 4 3 1 2 按键电路设计 4 3 1 3 报警设置 5 3 1 4 显示部分 6 3 1 5 硬件原理图 7 3 2 软件设计 8 3 2 1 主要程序 8 3 2 2 程序流程图 18 4 实验结果及分析 19 4 1 硬件实物图 19 4 2 实验结果分析 20 5 心得体会 21 参考文献 22 沈阳理工大学课程设计报告 1 1 引言 随着科学技术的不断发展 人们对日常生活中的安全保险器件的要求越来越高 为满足人们对锁的使用要求 增加其安全性 用密码代替钥匙的密码锁应运而生 密 码锁因具有安全性高 成本低 功耗低 易操作等优点 受到了广大用户的青睐 据有关资料介绍 电子密码锁的研究从 20 世纪 30 年代就开始了 在一些特殊场 所早就有所应用 但当时多半是配合机械锁一起作用且存在着诸如体积较大 成本较 高 可靠性较低等缺点一时难以普及 20 世纪 80 年代后 随着信息技术 集成电路 半导体技术的发展 电子密码锁的 设计也取得了快速的进步 目前 在西方发达国家 电子密码锁技术相对先进 种类齐全 电子密码锁已被 广泛应用于安全处所 而我国在此点上这稍有落后 现今常见的密码锁设计主要有两种方案 一种是中规模集成电路控制的方案 另 一种是单片机控制的方案 对于采用集成电路控制的方案 其中的编码电子锁电路分 为编码电路 控制电路 复位电路 解码电路 防盗报警电路 门铃电路 而电子锁 主要由输入元件 电路 包括电源 以及锁体三部分组成 显然此种方案的物理实现结 构较为复杂且重新设置密码 输入密码的操作过程也会给用户带来一定的不方便 而 利用单片机控制的方案 由于单片机灵活的编程设计和丰富的 I O 端口 及其控制的 准确性 不但能实现基本的密码锁功能 还能添加掉电存储 声光提示甚至添加遥控 控制功能 但其也有一定的局限性 就在于其控制原理的复杂以及要求设计人员具有 更加良好的程序设计能力 调试较为繁琐 否则程序一旦跑飞将造成意想不到的损失 通过对这两种方案的优缺点比较 再考虑到本人自己对单片机设计具有一定的基础 所以此次选择利用单片机来进行密码锁的设计 沈阳理工大学课程设计报告 2 2 总体设计 2 1 密码锁的基本原理分析 设计选用单片机 AT89S51 作为本设计的核心元件 利用单片机灵活的编程设计和 丰富的 I O 端口 及其控制的准确性 实现基本的密码锁功能 在单片机的外围电路 外接输入键盘用于密码的输入和一些功能的控制 外接四位七段数码管显示器用于显 示作用 当用户需要开锁时 先按键盘输入键之后输入数字 0 9 的 5 位密码 密码输 完后按下确认键 如果密码输入正确显示 hello 并开锁 不正确显示 error 并伴随警报 当用户需要修改密码时 先按下键盘修改键后输入原来的密码 只有当输入的原密码 正确后才能设置新密码 新密码输入无误后按确认键使新密码将得到存储 密码修改 成功 此方案不但能实现所要求的功能而且能在很大的程度上扩展功能 而且还可以 方便的对系统进行升级 2 2 密码锁设计分析 本次设计使用 AT89C51 实现一基于单片机的电子密码锁的设计 主要由三部分组成 4 4 矩阵键盘接口电路 密码锁的控制电路 输出八段显示电路 另外系统还有 LED 提示灯 报警蜂鸣器等 其主要具有如下功能 1 本密码锁设置的初始密码为 12345 2 密码输入功能 密码通过键盘输入 先按下输入按钮 随后输入密码 数字即从 左边开始显示 若密码正确 开锁成功并显示 hello 和提示音 若密码错误 显 示 error 并伴有滴滴的警报声 3 密码更改功能 密码可以由用户自己修改设定 只支持 5 位密码 修改密码之 前必须再次输入正确的密码 修改成功之后会有简单提示 修改后的密码会把旧 密码覆盖 4 密码清除功能 当按下清除键时 清除前面输入的所有值 并清除所有显示 沈阳理工大学课程设计报告 3 2 3 系统的结构框图 图 1 电路的总体设计框架 1 4 7 2 5 8 0 3 6 9 清屏 输入 修改 确定 图 2 键盘设计 开锁模块 89C51 单片机 矩阵 键盘 控制 显示模块 报警模块 沈阳理工大学课程设计报告 4 3 详细设计 3 1 硬件设计 3 1 1 51 单片机的简单介绍 图 3 AT89C51 封装图 图 4 引脚图 AT89C51 是一种带 4K 字节 FLASH 存储器 FPEROM Flash Programmable and Erasable Read Only Memory 的低电压 高性能 CMOS 8 位微处理器 俗称 单片机 单片机的可擦除只读存储器可以反复擦除1000 次 该器件采用 ATMEL 高密度非易失存储器制造技术制造 与工业标准的MCS 51 指令集和输出管脚相 兼容 由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中 ATMEL 的 AT89C51 是一种高效微控制器 AT89C51 单片机为很多 嵌入式控制系统 提供了一 种灵活性高且价廉的方案 单片机是一种采用超大规模集成电路技术 它把具有数据处理能力的中央处理器 CPU 随机存储器 RAM 只读存储器 ROM 多种 I O 口和中断系统 定时器 计数 器等集成到一块硅片上 构成了一个小而完善的小计算机系统的集成电路芯片 3 1 2 按键电路设计 由于设计要求使用矩阵键盘 所以本设计就采用行列式键盘 同时也能减少键盘 与单片机接口时所占用的 I O 线的数目 在按键比较多的时候 通常采用这样方法 其原理如图 5 所示 沈阳理工大学课程设计报告 5 图 5 行列式键盘原理电路图 3 1 3 报警设置 如图 6 当密码输入正确时 小灯量并伴随轻快的铃声 密码输入错误时 小灯闪烁 并伴随蜂鸣器滴滴的警报声 图 6 报警设置模块 沈阳理工大学课程设计报告 6 3 1 4 显示部分 显示部分总体电路图如 7 所示 点击输入键 数码管显示图 8 所示的界面 开始输 入密码 设置初始密码为 12345 如图 9 所示 密码输入正确开锁成功 显示 HELLO 如图 10 所示 密码输入错误无法开锁 显示 REEOR 如图 11 所示 修改密码时需先输 入正确的密码 数码管显示如图 12 所示的 FFFFF 界面进入设置新密码的状态 设置好 密码后点击确认 显示屏闪烁即修改成功 图 7 显示模块 图 8 显示模块 图 9 显示模块 沈阳理工大学课程设计报告 7 图 10 显示模块 图 11 显示模块 图 12 显示模块 3 1 5 硬件原理图 各模块拼接组合 电路总体设计图如图 13 数码管位选的 8 个端口接在单片机的 P2 口 段选端则接在单片机的 P0 口 由于 P0 口内部没有接电阻 因此需在 P0 口外 部接一个 10k 的排阻 并将其上拉 键盘矩阵接在单片机的 P3 口 用来输入密码 报 警装置安排在 P1 口 沈阳理工大学课程设计报告 8 图 13 硬件原理图 3 2 软件设计 3 2 1 主要程序 数码管显示字形 uchar code SEG7LED 29 0 x3f 0 x06 0 x5b 0X4F 0 x66 0 x6D 0 x7D 0 x07 0 x7F 0 x6F 0 x77 0 x7C 0 x39 0 x5E 0 x79 0 x71 0 x00 0 x40 0 xff 0 x76 0 x79 0 x38 0 x38 0 x3f hello 0 x79 0 x77 0 x77 0 x3f 0 x77 error 变量声明 uchar Ge Shi Bai Qian Wan uchar WeiNum 1 uchar code P3Pin 9 0 xfe 0 xfd 0 xfb 0 xf7 0 xef 0 xdf 0 xbf 0 x7f 0 xff uchar state 0 uint bb 0 cc 0 zz pp second bit alarmfl bit errorfl bit rightfl bit haofl 沈阳理工大学课程设计报告 9 uchar InputNum 1 uchar InPassWord 5 uchar PassWord 5 1 2 3 4 5 sbit P1 7 P1 7 sbit P1 0 P1 0 函数声明 void initTimer0 void display uchar WeiNum uchar keyscan void delayms uint Xms void password uchar key uchar Compare uchar InPassWord 5 主函数 void main uchar key initTimer0 while 1 key keyscan password key void initTimer0 EA 1 ET0 1 TMOD 0X01 TH0 65535 500 256 TL0 65535 500 6 TR0 1 void Timer0 interrupt 1 TH0 65536 500 256 TL0 65536 500 6 display WeiNum WeiNum if WeiNum 6 WeiNum 1 if errorfl 1 if bb 500 bb 0 alarmfl alarmfl P1 0 P1 0 if alarmfl 1 P1 7 P1 7 second if second 3000 second 0 errorfl 0 rightfl 0 alarmfl 0 else if errorfl 0 cc if cc 1000 haofl 1 else if cc0 i for j 110 j 0 j 键盘扫描 uchar keyscan uchar i 0 uchar key8 0 xff uchar key 0 xff uchar Button for i 0 i 0 InPassWord 0 key break case 2 Shi key InPassWord 1 key break case 3 Bai key InPassWord 2 key break case 4 Qian key InPassWord 3 key break case 5 Wan key InPassWord 4 key break default break if InputNum 0 InPassWord 0 key break case 2 Shi key InPassWord 1 key break case 3 Bai key InPassWord 2 key break case 4 Qian key InPassWord 3 key break case 5 Wan key InPassWord 4 key break default break if InputNum 6 InputNum else if key 12 if Compare InPassWord Ge 15 Shi 15 Bai 15 Qian 15 Wan 15 for i 0 i 0 PassWord 0 key break case 2 Shi key PassWord 1 key break case 3 Bai key PassWord 2 key break case 4 Qian key PassWord 3 key break case 5 Wan key PassWord 4 key break default 沈阳理工大学课程设计报告 17 break if InputNum 6 InputNum else if key 12 Ge 16 Shi 16 Bai 16 Qian 16 Wan 16 delayms 250 Ge 17 Shi 17 Bai 17 Qian 17 Wan 17 delayms 250 Ge 16 Shi 16 Bai 16 Qian 16 Wan 16 delayms 250 Ge 17 Shi 17 Bai 17 Qian 17 Wan 17 state 0 InputNum 1 else if key 14 Ge 18 Shi 18 Bai 18 Qian 18 Wan 18 delayms 1000 for i 0 i 5 i PassWord i InPassWord i state 0 InputNum 1 else if state 0 Ge 16 Shi 16 Bai 16 Qian 16 Wan 16 uchar Compare uchar InPassWord 5 uchar i uchar out 1 for i 0 i 5 i if InPassWord i PassWord i 沈阳理工大学课程设计报告 18 out 1 else out 0 return out 3 2 2 程序流程图 开始 初始化 模式选择 识别按键 密码输入手动清除 密码比较 开门 旧密码输入 新密码输入 修改成功 再次输入密码重新输入 完成 返回 N A N B Y 图 14 行列式键盘原理电路图 沈阳理工大学课程设计报告 19 4 实验结果及分析 4 1 硬件实物图 焊接好的电路实物图如图 15 所示 点 start 开始输入密码 密码显示如图 16 显 示 密码输入正确成功开锁 小灯常亮 数码管显示 HELLO 如图 17 所示 密码输入错 误 小灯间断闪烁 数码管显示 ERROR 如图 18 所示 键盘实物图如图 19 所示 设有 开始 修改 清屏 确认及 0 9 十个输入数字按键 图 15 输入密码 图 16 输入密码 沈阳理工大学课程设计报告 20 图 17 密码正确开锁成功 图 18 密码错误 图 19 密码锁键盘实物图 4 2 实验结果分析 数字密码锁通电之后提示灯常亮 按下 start 键 显示 密码输入完毕后点 Enter 若密码正确数码管显示 HELLO 并伴有小灯闪烁和喇叭发出叮咚的声音 若密 码错误数码管显示 ERROR 并伴有小灯快速闪烁和喇叭滴滴的提示音 按下 mod 键进行 修改密码 修改密码前需先输入正确的密码 数码管显示 FFFFF 后开始设置新密码 按 Enter 键数码管闪烁 则密码输入成功 在操作过程中可按 clr 键进行清屏 清 屏时数码管显示 88888 然后重新开始密码锁的操作 沈阳理工大学课程设计报告 21 5 心得体会 经过一学期的研究和创作 我终于完成了这次实训项目及实训报告 感谢在本次 论文设计中给予我帮助的老师和同学们 在本次论文设计中 我学习到了很多知识 重新对 51 系列单片机进行了系统学习 更加详细的了解了 51 系列单片机的功能 也 重新加深了对七段显示管 键盘矩阵等的功能了解及设计技巧 当然 在本次设计中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论