基于单片机的电子密码锁1.doc_第1页
基于单片机的电子密码锁1.doc_第2页
基于单片机的电子密码锁1.doc_第3页
基于单片机的电子密码锁1.doc_第4页
基于单片机的电子密码锁1.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

DESIGN INTRODUCTION 电子密码锁设计 0 基于单片机的电子密码锁基于单片机的电子密码锁 第 1 章 绪论 1 1背景 随着社会物质财富的日益增长 安全防盗已成为社会问题 而锁自古以来就是把 守门户的铁将军 人们对它要求甚高 既要安全可靠地防盗 又要使用方便 这也是 制锁者长期以来研制的主题 目前国内 大部分人使用的还是传统的机械锁 然而 眼下假冒伪劣的机械锁泛滥成灾 互开率非常之高 所谓互开率 是各种锁具的一个 技术质量标准 也就是1把钥匙能开几把锁的比率 经国家工商局 国家内贸局 中国 消协等部门对锁具市场的调查 发现个别产品的互开率居然超标26倍 为何弹子锁的 互开率 会如此之高 据有关专家人士剖析 弹子锁质量好坏主 要取决于弹子数量的多少以及弹子的大小 而弹子的多少和大小受一定条件的限制 此外 即使是一把质量过关的机械锁 通过急开锁 甚至可以在不损坏锁的前提下将 锁打开 机械锁的这些弊端为一种新型的锁 电子密码锁 提供了发展的空间 1 2电子锁 电子锁是采取电子电路控制 以电磁铁或者卫星电机和锁体作为执行装置的机电 一体化锁具 相比传统的机械锁具 电子锁不使用金属钥匙 保密性 精度都有很大 提高 电子锁的发明思路 源自古代发明的自动机械 例如古希腊数学家赫伦的液压自 动门 中国古代诸葛亮的木牛流马 它们以重力或蒸汽压力驱动 最广泛的用途乃是 用在古代墓道的地下机关 电子工业的诞生 使得以微小电量驱动机械成为可能 于 是有了电子锁一日千里的跃进 1 3电子密码锁的特点 电子密码锁是一种通过密码输入来控制电路或是芯片工作 从而控制机械开关的 闭合 完成开锁 闭锁任务的电子产品 它的种类很多 有简易的电路产品 也有基 于芯片的性价比较高的产品 现在应用较广的电子密码锁是以芯片为核心 通过编程 电子密码锁设计 1 来实现的 其性能和安全性已大大超过了机械锁 主要特点如下 1 保密性好 编码量多 远远大于弹子锁 随机开锁成功率几乎为零 2 密码可变 用户可以经常更改密码 防止密码被盗 同时也可以避免因人员 的更替而使锁的密级下降 3 误码输入保护 当输入密码多次错误时 报警系统自动启动 防止试探密码 1 4电子密码锁的发展趋势 从目前的技术水平和市场认可程度看 使用最为广泛的是键盘式电子密码锁 该产品主要应用 于保险箱 保险柜和金库 还有一部分应用于保管箱和运钞车 键盘式电子密码在键盘上输入 与 打电话差不多 因而易于掌握 其突出优点是 密码 是记在被授权人脑子里的数字和字符 既准确 又可靠 不会丢失 除了忘记 难以被窃 除非自己泄露 但是密码不能太简单 太简单了就容 易被他人在键盘上试探出来 或者可能被旁观者窥测出来 造成保密性不足 当然 密码又不能太 复杂 太复杂了可能自己都糊涂了 或者输入密码操作成功率低 造成使用不便 因此 为了发扬 优点 克服弱点 键盘式电子密码也在不断发展中 如 任意设定密码 技术使得被授权人可以根据 自己的需要或喜好设定密码 常用常新 而 自动更改密码 技术使得本次输入的密码将自动更改成 下次应输入的密码 更改的规律不为他人所知 因而不怕旁观者窥测 独出心裁的 键盘乱序显示 技术使得键盘上的固定键位每次显示出的字符不固定 并且显示的窄小角度只能由操作者正面看得 到 因而即使旁观者看见操作动作也难以窥测出密码 多重密码设定 技术使得单组密码不一定有 效 适合多人分权使用 需要输入两组以上的密码才被认可 大大提高了保密性 如果限定输入这 些密码的先后顺序或时间区段 则保密性还可提高 在输入密码的过程中 为了限制试探密码的企 图 通常输入错误码若干次或若干时间内输入不正确 即 封锁 键盘 不再接受输入操作 总之 尽管新式电子防盗锁层出不穷 但键盘式电子密码防盗锁不仅在市场上居于主流地位 而且 还经 常作为其他类型电子防盗锁的辅助输入手段 电子密码锁设计 2 第 2 章 系统总体设计 系统结构 P89V51R B2 数码管 蜂鸣器 LED 4 4 键盘 复位电路 图 2 1 2 2 系统组成 如图 2 1 所示系统主要由 P89V51RB2 51 系列 一位数码管 蜂鸣器 LED 4 4 矩阵键盘 复位电路等组成 2 3 系统可行性分析 系统工作原理分析 使用 P89V51RB2 单片机 4 4 矩阵键盘 LED 蜂鸣器等 矩阵键盘分别为 0 1 2 3 4 5 6 7 8 9 Enter 共 4 位密码 每位的取值范 电源 电子密码锁设计 3 围为 0 9 用户可以自行设定和修改密码 当密码输入正确时 用一个发光二极管和 蜂鸣器作为指示 若键入的 4 位密码不完全正确 则蜂鸣器就是想起 进行提示 开 锁密码错 3 次就会锁定键盘 锁定时间为一分钟 第 3 章 硬件电路设计 3 1 单片机P89V51RB2简介 P89V51RB2 是一款增强型 80C51 微控制器 包含 16KB 的 Flash 程序存储器和 1024 个字节的数据 RAM P89V51RB2 的典型特性是它的 X2 方式选项 利用该特性 用户可以编写的应用程 序以传统的 80C51 时钟频率或 X2 方式的时钟频率运行 选择 X2 方式可在相同时钟频 率下获得 2 倍的执行速度 这样还可以极大地降低电磁干扰 Flash 程序存储器支持并行编程和 ISP 编程 并行编程方式提供了高速的分组编程 方式 可节省编程成本和上市时间 ISP 编程方式不需要专用烧录器 所需外围电路简 单 可靠性强 近年来得到了广泛的应用 目前 许多新型的单片机均具有此功能 P89V51RB2 也可以采用在应用中编程 允许随时对 Flash 程序存储器重新配置 即 使是应用程序正在运行也不例外 3 1 1 主要特性 80C51 核心处理单元 5V 的工作电压 操作频率为 0 40MHz 具有 ISP 和 IAP 功能 通过软件或 ISP 选择支持 12 时钟 默认 或 6 时钟的工作模式 SPI 串行外围接口 和增强型 UART PCA 可编程技术器陈列 具有 PWM 和捕获 比较功能 4 个 8 位 I O 口 含有 3 个高电流 P1 口 每个 I O 口的电流为 16mA 3 个 16 位定时器 计数器 可编程看门狗定时器 WDT 8 个中断源 4 个中断优先级 2 个 DPTR 寄存器 低 EMI 方式 ALE 禁能 兼容 TTL 和 CMOS 逻辑电平 掉电检测及低功耗模式 电子密码锁设计 4 3 1 2 功能框图和管脚 1 功能框图 电子密码锁设计 5 2 管脚 管脚符号 DIP40TQFP44PLCC44 类 型 描述 P0 0 P0 7 39 3237 3043 36I O P0 口 P0 口是一个 8 位漏 级开路双向 I O 口 写入 1 时 P0 口悬浮 可用作高阻态输 入 当访问外部程序数据存储 器时 P0 口为低位地址和数据 总线 应用中 P0 口利用内部上 拉来发送 1 电平 P0 口可 在外部主机模式编程过程中接 收代码字节可在外不主机模式 校验过程中发送代码字节 P0 口用作程序校验或通用 I O 口 时用均需连接一个外部上拉电 阻 P1 0 P1 71 840 44 1 32 9I O 带 内 部 上 拉 P1 口 P1 口是一个带内部上拉的 8 位双向口 写入 1 时 P1 口被 内部上拉拉高 可用作输入 用作 输入时 由于内部上拉的存在 P1 口被外部器件拉低时将吸收电流 此外 P1 5 P1 6 P1 7 还有 16mA 的 高电流驱动能力 在外部主机模式 编程和校验中 P1 口也可接收低位 地址字节 P1 01402I O T2 定时器 计数器 2 的外部计数输 入或时钟输出 P1 12413I T2EX 定时器 计数器 2 捕获 重装 触发和方向控制 P1 23424I ECI 外部时钟输入 PCA 的外部 时钟输入 P1 34435I O CEX0 PCA 模块 0 的捕获 比较外 部 I O 口 每个捕获 比较模块连接 一个 P1 口用作外部 I O 口该线不被 PCA 占用时仍可作标准 I O 口 P1 45446I O SS SPI 从机选择输入 CEX1 PCA 模块 1 的捕获 比较外 部 I O 口 电子密码锁设计 6 P1 5617I O MOS1 SPI 主机输出从机输入端 CEX2 PCA 模块 2 的捕获 比较外 部 I O 口 P1 6728I O MOS0 SPI 主机输入从机输出端 CEX3 PCA 模块 3 的捕获 比较外 部 I O 口 P1 7839I O SCK SPI 主机输出从机输入端 CEX4 PCA 模块 4 的捕获 比较外 部 I O 口 P2 0 P2 7 21 2818 2524 31I O 带 内 部 上 拉 P2 口 P2 口是一个带内部上拉 的 8 位双向口 写入 1 时 P2 口 被内部上拉拉高 可用作输入 用 作输出时 由于内部上拉的存在 P2 口被外部器件拉低时将吸收电流 在取指外部程序存储器或访问 16 位 地址 MOVX DPTR 的外部数据 存储器时 P2 口发送高位地址 应 用中 P2 口利用强内部上拉来发送 1 在外部主机模式编程和校验 中 P2 口可接收一些控制信号和部 分高地址位 P3 0 P3 7 10 175 7 1311 13 19I O 带 内 部 上 拉 P3 口 P3 口是一个带内部上拉的 8 位双向口 写入 1 时 P3 口被 内部上拉拉高 可用作输入 用作 输出时 由于内部上拉的存在 P3 口被外部器件拉低时将吸收电流 在外部主机模式编程和校验中 P3 口可接收一些控制信号和部分高地 址位 P3 010511I RxD 串口输入 P3 111713O TxD 串口输出 P3 212814I INT0 外部中断 0 输入 P3 313915I INT1 外部中断 1 输入 P3 4141016I T0 定时器 计数器 0 的外部计数输 入 电子密码锁设计 7 P3 5151117I T1 定时器 计数器 1 的外部计数输 入 P3 6161218O WR 外部数据存储器写选通信号 P3 7171319O RD 外部数据存储器读选通信号 PSEN292632I O 程序选通使能 PSEN 是外部程序 存储器的读选通信号 PSEN 在执 行内部程序存储器的程序时无效 高电平 执行外部程序存储器时 每个机器周期内两次有效 但当访 问外部数据存储器时两个有效 PSEN 脉冲将被跳过 当 RST 输入 引脚的高电平时间大于 10 个机器周 期时 向 PSEN 脚强制输入一个高 电平到低电平的跳变将使器件进入 外部之际模式编程 RST9410I 复位 振荡器工作时 该引脚上 2 个机器周期的高电平逻辑状态将使 器件复位 当 RST 输入引脚为高电 平时 如果 PSEN 脚输入一个高电 平到低电平你的跳变 器件将进入 外部主机模式 否则进入正常工作 模式 EA312935I 外部访问使能 若器件要对外部程 序存储器取指 EA 就必须与 Vss 相连 器件执行内部程序存储器的 程序时 EA 就必须与 Vdd 相连 然 而 4 个安全锁定电平可将 EA 禁 用 使器件只能执行内部程序存储 器的程序 EA 脚可承受 12V 的高 压 ALE PROG 312935I 地址锁存使能 ALE 是一个输出信 号 在访问外部存储器时将地址低 字节锁存 该引脚也用作 Flash 的 编程脉冲输入 PROG 通常 ALE 在 1 6 的振荡频率时输出 可 用作外部定时或外部时钟 每次访 问外部数据存储器时都有一个 ALE 脉冲被跳过 但是 只要 AO 被置 1 ALE 就被禁用 NC 6 17 28 391 12 23 34 I O 不连 电子密码锁设计 8 XTAL1191521I 晶振 1 反相振荡放大器的输入和 内部时钟发生电路的输入 XTAL2181420O 晶振 2 反相振荡放大器的输出 Vdd403844I 电源 Vss201622I 地 3 1 3 上电复位后代码的执行过程 复位后 P89V51RB2 将尝试自动执行 ISP 引导装载程序或进入 Soft ICE 模式 如 果之前已通过 ISP 命令将其使能 如果该自动执行操作在 400ms 后仍未成功 器件 就开始执行用户代码 3 1 4 中断优先级和查询序列 P89V51RB2 单片机支持 8 个中断源 4 个中断优先级的中断结构表 1 5 汇总了支持 中断的查询序列 表 1 5 中断查询序列 描述中断标志向量地址中断使能中断优先级服务优先级掉电唤醒 外部中断 0 IE00003HEX0PX0 H 1 最高 能 掉电 004BHEB0PB0 H2 不能 T0TF0000BHET0PT0 H3 不能 外部中断 1 IE10013HEX1PX1 H4 能 T1TF1001BHET1PT1 H5 不能 PCACF CCFFn0033HECPPCH6 不能 UART SPITI RI SPIF0023HESPS H7 不能 T2TF2 EXF2002BHET2PT2 H8 不能 3 2 4 4 矩阵键盘 如图所示 本系统采用 4 4 矩阵键盘 16 个按键分为输入数字键 0 1 2 3 4 5 6 7 8 9 功能键 cel Enter 矩阵键盘 电子密码锁设计 9 图 3 2 3 3复位电路 图 3 3 时钟电路工作后 在 REST 管脚上加两个机器周期的高电平 芯片内部开始进行初 始复位 如图 3 3 3 4 振荡电路 电子密码锁设计 10 图 3 4 本设计晶振选择频率为 12MHZ 电容选择 30pF 如图 3 4 经计算得单片机工 作胡机器周期为 12 1 12M 1us 3 5 数码管 图 3 5 本设计采用一个 1 位 8 段共阴极数码管 电子密码锁设计 11 3 6 电子锁控制电路 图 3 3 7 蜂鸣器 图 3 9 由于蜂鸣器使用 P0 口驱动要加上上拉电阻如图 3 9 电子密码锁设计 12 3 8 完整电路图 图 3 9 电子密码锁设计 13 3 10 使用到的元器件列表 元器件规格 型号数量 一位八段共阴数码管1 发光二极管红色1 三极管PNP8 三极管NPN1 电阻3208 电阻2k 电阻1k3 继电器开关1 蜂鸣器1 单片机P89V51RB21 按钮12 表 3 1 电子密码锁设计 14 第 4 章 软件程序设计 本系统程序部分使用 C 语言编写 C 语言是一种高级程序设计语言 它的优点是 简洁明了 可移植性高 4 1 软件设计流程图 主程序设计流程图如图4 1所示 N Y V NY 图图4 14 1主程序流程图主程序流程图 开始 初始化 密码正确 输入旧密码 出错警报 响 开锁原密码相同 设新密码 返回 开锁修改 电子密码锁设计 15 4 2 显示功能 本系统使用共阴极数码管显示 如图 3 5 选用 P0 口输出高电平有效 显示 原理如下图及下表 图 4 表 4 显示方式分别有静态显示与动态显示两种 静态显示应用在输入密码时数码管的显示进行输入密码操作时 每输入一位密码 数码管显示一个 本次课程设计 根据设计要求可知 其显示方式为静态显示 如子程序 input view void input view void k 为判断输入第几位的变量 switch k case 0 P0 0X3F 显示 0 case 1 P0 0X06 显示 1 case 2 P0 0X5B 显示 2 case 3 P0 0X4F 显示 3 case 4 P0 0X66 显示 4 case 5 P0 0X6D 显示 5 case 6 P0 0X7D 显示 6 case 7 P0 0X07 显示 7 case 8 P0 0X7F 显示 8 case 9 P0 0X6F 显示 9 1 位数码管上的管脚单片机输出管脚 a1P0 0 b2P0 1 c3P0 2 d4P0 3 e5P0 4 f6P0 5 g7P0 6 dp8P0 7 电子密码锁设计 16 4 2 4 键盘扫描 如图 3 2 本系统使用 4 4 矩阵键盘当没有键按下时 行线和列线之间是不相连 的 若第 N 行与第 M 列的键被按下 那么第 N 行与第 M 列的线就被接通 根据上述原理 本系统的键盘扫描方法是利用 P0 口的低四位作为行扫描线 P0 口的高 四位作为列回扫线 具体实施方法为 先使 P0 0 口输出低电平 P0 口其他口输出高电 平 然后对 P0 4 P0 5 P0 6 P0 7 四个口分别作判断 若此四口都为高电平 则没 有键按下 若有键按下 P0 4 P0 5 P0 6 P0 7 四个口必定有一个口输入为低电平 再判断 P0 4 P0 5 P0 6 P0 7 哪个口为低电平则可判断按键在哪列上 如 P0 4 P0 5 P0 6 P0 7 没有低电平 再使 P0 1 为低电平 其他口为高电平 依次扫 描下去 找到按键所在的行 再判断 P0 口的高四位哪一位为低 便可知道键在哪一列 上 4 2 5 修改密码 本系统设定的修改密码过程为 在输入正确的密码后 按 Enter 此时提示输入旧 密码 输入正确的旧密码后 可以输入新密码 此时键入的六位新密码将保存到数组 check 6 中 然后显示器提示再次输入 输入完毕后 第二次输入的密码将保存在 check2 6 中 然后将 check 6 中六位分别与 check2 6 中的六位比对 若两次密码输 入一直 即将新的密码 也就是 check2 6 和 check2 6 中的六位赋值到 PASSWORD 6 中 此时修改密码工作完成 系统将跳翻到开始 即提示输入密码 电子密码锁设计 17 第 5 章 结束语及展望 通过这次课程设计 让我复习了很多学过的旧知识 同时锻炼了自己的动手能力 和查阅资料 更使我认识到团队合作的重要性 1 通过这次的设计 我熟悉了使用 Protel 的技巧 学会了制作电路板的一些技 巧 2 在设计中 我学到了如何使用 C 语言对单片机进行编写程序 熟悉了使用 KEIL C 软件 并且加深了对单片机的编程技巧 3 在做这个设计的过程中 我遇到了不少的问题 这锻炼了我筛选 查阅资 料 并将理论结合到自己的设计中的能力 一步一步的排除故障原因 找 到故障的原因并解决故障 4 这次的设计使我对模拟电子 数字电子知识加深了了解 尤其是在对电路 进行调试的时候 出现了很多这些方面的问题 通过对以往知识的复习巩 固 将问题解决 参考文献 18 致 谢 在本次设计完成之际 在这里要感谢李老师在设计中对我的指导 帮助 感谢在 本次设计中给予我帮助的同学 第 7 章 参考文献 1 钟启仁 编著 HT46xx 单片机原理与实践 北京航空航天大学出版社 2008 9 2 彭为 黄科 雷道仲 编著 单片机典型系统设计 电子工业出版社 2006 5 3 江志红 编著 51 单片机技术与应用系统开发 清华大学出版社 2008 12 4 潘勇雄 编著 新编单片机原理与应用 西安电子科技大学出版社 2007 2 5 李钟实 实用电子报警器精选百例 M 北京 科技技术文献出版社 2002 6 刘坤 宋戈 等编著 51 单片机 C 语言应用开发技术大全 人民邮电出版社 2008 9 附 录 19 附 录 电子密码锁源程序 include typedef unsigned char uchar typedef unsigned int uint define BLANKCHAR 10 define PCHAR 11 define OPENCHAR 12 define ALARMCHAR 13 define LINECHAR 14 defineBACKKEY 0 x0C defineENTERKEY 0 x0A defineLOCKKEY 0 x0B define NO KEY 20 defineKEYPORT P2 uchar code KEYCODE 0 x76 0 x75 0 x73 0 x6E 0 x6D 0 x6B 0 x5E 0 x5D 0 x5B 0 x3E 0 x3D 0 x3B uchar KeyPre PassPosi uchar KeyUp define LEDPORT P0 uchar code SEGCODE 0 x3F 0 x06 0 x5B 0 x4F 0 x66 0 x6D 0 x7D 0 x07 0 x7F 0 x6F 0 x00 0 x73 0 x70 0 x77 0 x40 uchar DispBuf 6 bit DispNormal uchar DispCnt define SHORT TIME 10 define LONG TIME 100 define LONGER TIME 9000 sbit ALARMCON P3 3 bit AlarmEnable uint AlarmTime sbit LOCKCON P3 5 uchar code PassWord 1 2 3 4 5 uchar PassInBuf 6 uchar PassPosi bit TimerBit uchar SysMode uchar ErrorCnt 附 录 20 123 void Fill Buf uchar FillChar uchar i for i 0 i 6 i DispBuf i FillChar PassInBuf i FillChar void Fill Buf P Fill Buf BLANKCHAR DispBuf 0 PCHAR void Fill Buf O Fill Buf BLANKCHAR DispBuf 0 OPENCHAR void Fill Buf A Fill Buf LINECHAR DispBuf 0 ALARMCHAR void Disp Led Sin uchar DispChar LEDPORT SEGCODE DispChar void Disp Led OFF LEDPORT 0 x00 void Disp Led All uchar i for i 0 i 6 i 附 录 21 Disp Led Sin DispBuf i void Disp LED DispCnt DispCnt 10 if DispCnt 0 DispNormal DispNormal if SysMode 1 if DispNormal Disp Led OFF return Disp Led All void Sys Speaker uint stime AlarmEnable 1 AlarmTime stime void Sys Alarm if AlarmEnable 1 ALARMCON 0 AlarmTime if AlarmTime 0 AlarmEnable 0 ALARMCON 1 if SysMode 1 SysMode 0 Fill Buf P 附 录 22 uchar Find Key uchar KeyTemp i KEYPORT 0 xe0 KeyTemp KEYPORT if KEYPORT 0 xe0 return NO KEY KEYPORT 0 x07 KeyTemp KEYPORT for i 0 i 12 i if KeyTemp KEYCODE i return i return NO KEY uchar Scan Key uchar KeyTemp KeyTemp Find Key if KeyTemp NO KEY if KeyUp 2 KeyUp 0 return NO KEY if KeyUp 2 KeyUp 3 return NO KEY if KeyUp 3 KeyUp 0 return KeyPre 附 录 23 else if KeyUp 0 KeyUp 1 KeyPre KeyTemp else if KeyUp 1 if KeyPre KeyTemp KeyU

温馨提示

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

评论

0/150

提交评论