电子密码锁控制系统设计.doc_第1页
电子密码锁控制系统设计.doc_第2页
电子密码锁控制系统设计.doc_第3页
电子密码锁控制系统设计.doc_第4页
电子密码锁控制系统设计.doc_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

单单片片机机课课程程设设计计说说明明书书 电子密码锁控制系统设计电子密码锁控制系统设计 专业专业电气工程及其自动化 学生姓名学生姓名张海啸 班级班级b 电气 104 学号学号1010601410 指导教师指导教师张兰红 完成日期完成日期2013 年 6 月 15 日 盐城工学院课程设计说明书(2013) 1 摘摘 要要: : 锁是指加在门、箱子、抽屉等物体上的封缄器,要用专用的钥匙才能打开。 自古以来锁都是人们财产安全乃至生命安全的一种重要保障。伴随着人类历史的发 展和人们对自身财产安全和人生安全的重视,各种各样的多功能的锁具也相继出现, 人们使用的锁具也由传统的机械式锁逐渐发展为安全性能更好,功能更多的电子密 码锁。 在现代社会,电子密码锁已是一个被大家所熟识的名词。相信很多人的小区大门上的锁都用的 是电子密码锁。本文中将要介绍的电子密码锁是一种通过判断密码输入是否正确来控制电路或 是芯片的工作状态,进而控制锁的打开和闭合,从而完成开锁、闭锁任务的电子锁装置。 本设计是基于 at89c51 单片机为控制核心的密码锁设计方案。在本次基于单片 机的电子密码锁设计中,将采用 at89c51 单片机作为控制核心,配合相应的电 路和软件程序,实现密码的输入和修改、信息的显示、键盘的锁定、系统报警、 开锁和闭锁等功能。在设计中, 利用识别密码是否正确来开锁或报警,通过串行 存储器 at24c02 来实现密码的修改和存储 关键词关键词: :单片机;密码锁;矩阵键盘;掉电存储 the design of electronic code lock based on single chip microcomputer abstractabstract:as sealed device, the lock added to such objects like door, box, drawer etc, can be opened with specified key. since the ancient time, lock is a kind of security, guaranteeing peoples property safety even life safety. with the development of human history and more attention paid to property safety and life safety, various multi-functional locks can be seen in the world. traditional mechanical locks people use in life are gradually replaced by electronic combination lock characterized with better safety performance and more functions. in the modern society, electronic combination lock is a noun familiar to everyone. usually, the door of community is equipped with electronic combination lock. this paper will introduce an electronic combination lock. this lock controls the electric circuits and the performance of chips by identifying password. thus, the openness and closeness of the lock can be controlled, and the task of electronic lock device can be completed. this design is about combination lock, based on the at89c51 single-chip microcomputer as the core of controlling goals. this design in which the at89c51 single- chip microcomputer as the core of the controlling goals cooperated with relevant circuits and software programs can achieve such functions like password input and modification, information display, keyboard locking, warning system, and the openness and closeness of the lock etc. in this design, the openness of lock and alarming are according to identifying 盐城工学院课程设计说明书(2013) 2 the password, and password revision and storage is achieved by the function of the at24c02 serial storage. keywords: single-chip microcomputer, combination lock, electronic lock, matrix keyboard, power lost storage 盐城工学院课程设计说明书(2013) 3 目录 绪 论4 电子密码锁简介5 电子密码锁设计的背景及意义5 电子密码锁的现状及发展趋势6 1 课题设计目标.6 2 总体设计方案.6 2.1 设计思路6 2.2 方案确立7 3 硬件电路方框图.7 3.1 单片机及其最小系统7 3.1.1 复位电路的设计 8 3.1.2 时钟电路的设计.9 3.2 密码锁电路.10 3.2.1 按键电路的设计 .10 3.2.2 lcd 显示电路11 3.2.4 开锁机构.12 3.2.5 报警机构.13 4 程序设计14 4.1 软件总体设计.14 4.2 键盘扫描子程序.15 4.3 显示模块子程序 .18 4.4 掉电存储子程序.19 4.4.1 写操作方式 .19 4.4.2 读操作方式 .20 4.5 定时器中断子程序.21 4.6 密码输入子程序.21 4.7 报警子程序.23 5 课程设计总结23 6 参考文献25 7 附 录.25 附录一 总电路原理图26 附录二:电子密码锁的 pcb 图.27 附录三:电子密码锁的实物图.27 盐城工学院课程设计说明书(2013) 4 附录四:元器件清单.30 附录五 源程序清单31 盐城工学院课程设计说明书(2013) 5 绪 论 电子密码锁简介 什么是电子密码锁?“一种通过密码输入来控制电路或者是芯片工作,从而控 制机械开关的闭合,完成开锁、闭锁任务的电子产品。 ”百度百科上是这样解释 的。简单来说,电子密码锁就是能够实现密码等信息的设置、存贮、识别和显示, 以及报警信号的接收和发送等功能的电子器件。 电子密码锁相对传统机械锁有以下几个优势: (1)密码可更改。用户可以随时更改密码,以确保密码锁的安全性和可靠性。可 以更改密码这一功能同时也避免了人员的更替而使锁的安全性降低,这是传统钥匙 锁所不具备的功能。 (2)操作简单。无论是开锁还是更改密码,只要识字的人都能够直接使用,使用 方法简单而不繁琐。 (3)能够报警。报警功能无疑更增加了锁的安全性。 (4)无法“技术”破解。不知道密码就无法打开锁,即使是惯偷也只能望“锁” 兴叹。 电子密码锁设计的背景及意义 在现代文明社会,虽然人们的道德素质越来越高, “梁上君子” 、 “三只手”等人 群相对旧社会大大减少,但是像“某某小区遭入室行窃,居民损失 xxxx”之类的新 闻我们还是经常能够在报纸上看到的。随着人们生活水平和自身防范意识的提高, 个人财产安全和人身安全的问题也越来越受到人们的重视,拥有一把能够有效保证 居民财产安全和人身安全的锁具也越发的重要起来。 锁具的起源可以追朔到人类社会财产私有化的出现,锁具从其出现到发展至今 天的高科技化、信息化,已经有若干年的历史了。经过若干年的使用和研究,人们 对锁具的结构、机理也了解得相当透彻了,因此,不使用钥匙就能将锁打开的方法 也层出不穷。特别是传统的机械锁,由于其构造简单,在惯偷面前,甚至能够只用 一根铁丝就直接将其打开,使其失去了保障用户个人财产安全的意义。 那么,如何才能提高锁具保障用户财产安全的有效性呢?在信息现代化的今天, 锁具也应该向高精度、高安全性的智能化、信息化发展。自 20 世纪 70 年代第一块 单片机芯片 tms-1000 于美国德克萨斯仪器公司面世以来,基于其体积小、价格低廉、 个性突出等特点,越来越多的电子产品开始采用单片机芯片作为核心控制部件。在 这样的大环境下,基于单片机的电子密码锁也应运而生。这种电子密码锁是以单片 机为核心,配以相应的硬件电路和软件程序,实现密码的设置、存贮、识别和显 示,以及报警信号的接收和发送等功能,具有操作快、修改密码简单、安全性 盐城工学院课程设计说明书(2013) 6 高、功耗低等优点。基于单片机的电子密码锁的面世 使人们的自身财产安全有了 更多的保障,同时也促进了安全信息系统的发展,是安全信息系统的一大进步。 基于单片机的电子密码锁的出现,在一定程度上解决了用户私人财产安全的问 题。但是,时代在发展,社会在进步,任何事物只有不断地进步才能适应时代发展 的需求。电子密码锁虽然有安全性高、操作简单等优点,但是却不如机械锁价格低 廉,因此,在市场上的主流产品还是机械锁。电子密码锁要想取代机械锁成为市场 上的主流,就必须不断改进,在具有更多功能的同时向更智能化和更低成本化发展。 这就需要我们不断研究电子密码锁的设计方法和实现原理。因此,研究基于单片机 的电子密码锁的设计是很有必要且具有现实意义的。 电子密码锁的现状及发展趋势 目前,和西方发达国家相比,我国的电子密码锁技术还相对落后。在西方发达 国家,电子密码锁的种类已经很齐全,技术也比较先进,且在各个领域得到了广泛 应用。在我国,电子密码锁技术却才相当于国际上七十年代的水平,相对来说还很 落后。20 世纪 80 年代以来,随着各种电子集成电路的出现,特别是单片机的面世, 电子密码锁得到了很大的发展。相对于笨重而构造简单的传统机械锁来说,电子密 码锁具有体积小,可靠性高的优势。但是就目前而言,电子密码锁的价格相对较高 且需要有电源提供能量,使得其使用还局限在一定范围,特别是在国内,各种条件 的制约使得电子密码锁暂时难以普及。 尽管电子密码锁还存在着一些缺陷,但是其安全性高、方便易用、能够智能报 警的优势却是传统钥匙锁取代不了的,而且随着电子信息技术的发展和各种电子器 件的价格的不断降低,电子密码锁也将往低成本、多功能的方向发展。 1 1 课题设计目标课题设计目标 本设计采用 mcs-51 系列单片机 at89s52 作为主控芯片,结合外围电路,设计密 码锁控制系统,能够实现。 2 2 总体设计方案总体设计方案 2.1 设计思路 该电路是一种采用以 at89s52 为核心的单片机控制方案。 利用单片机灵活的编程设计和丰富的 io 端口,及其控制的准确性,不但能实现 基本的密码锁功能,还能根据实际需要添加调电存储、声光提示功能。 盐城工学院课程设计说明书(2013) 7 2.2 方案确立 (1)为了实现密码的保密性,采用一个 44 的矩阵式键盘可以任意设置用户密 码,从而提高了密码的保密性。 (2)采用 lcd 显示单元,提高了可读性 ,提供良好的人机界面。 3 3 硬件电路方框图硬件电路方框图 电路由两大部分组成:at89s51 单片机及其外围电路和密码锁电路。 密码锁电路包含:矩阵键盘输入、lcd 指示电路、报警控制电路、at24c02 掉电 存储电路。其原理方框图如图 3-1 所示。 图 3-1 原理图框图 单片机 at89c52 晶振电路 初始密码恢复模块 复位电路 存储模块 lcd显示 开锁模块 报警电路 矩阵键盘 盐城工学院课程设计说明书(2013) 8 3.1 单片机及其最小系统 单片机最小系统是单片机正常工作的基础,任何一个单片机系统设计都是基于 单片机最小系统的基础上来完成的,而在单片机系统实物设计中,最应该首先解决 的也应该是单片机最小系统问题,只有保证了单片机最小系统的正确性,才能保证 接下来的其他模块的正确设计。 图 3-2 是单片机最小系统的完整仿真图。 图 3-2 单片机最小系统的完整仿真图 3.1.13.1.1 复位电路的设计复位电路的设计 复位是单片机的初始化操作。单片机启运运行时,都需要先复位,其作用是使 cpu 和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。因而, 复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相 应的外部电路才能实现。该复位电路采用按键电平复位式复位电路。当单片机已在 运行当中时,按下复位键 s 后松开,在复位引脚 ret(9 脚)脚持续出现 24 个振荡 器脉冲周期(即 2 个机器周期)的高电平信号将使单片机复位。也能使 rst 为一段 时间的高电平,从而实现上电或开关复位的操作。如图 3-3 所示。 盐城工学院课程设计说明书(2013) 9 图 3-3 复位电路 3.1.23.1.2 时钟电路的设计时钟电路的设计 时钟电路为单片机产生时序脉冲,单片机所有运算与控制过程都是在统一的时 序脉冲的驱动下的进行的,如果单片机的时钟电路停止工作(晶振停振),那么单 片机也就停止运行了。当采用内部时钟时,连接方法如下图所示,在晶振引脚 xtal1(19 脚)和 xtal2(18 脚)引脚之间接入一个 11.0592mhz 晶振,两个引脚对 地分别再接入一个电容即可产生所需的时钟信号,电容的容量一般在几十皮法,如 20pf。如图 3-4 所示。 图3-4 时钟电路 盐城工学院课程设计说明书(2013) 10 3.2 密码锁电路 3.2.13.2.1 按键电路的设计按键电路的设计 为了加强密码的保密性,采用一个 44 的矩阵式键盘可以任意设置用户密码 (1-16 位长度),从而提高了密码的保密性,同时也能减少与单片机接口时所占用 的 i/o 口线的数目,节省了单片机的宝贵资源,在按键比较多的时候,通常采用这 种方法。其原理图如图 3-5 所示。 图3-5 矩阵键盘电路 每一行与每一列的交叉处不相同,而是通过一个按键来连通,利用这种行列式 矩阵结构只需要 n 根行线与 m 根列线,即可组成具有 n m 个按键的矩阵键盘。 在这种行列式矩阵键盘编码的单片机系统中,键盘处理程序首先执行等待按键 并确认有无按键按下的程序段。 当确认有按键按下后,下一步就是要识别哪一个按键被按下。对键的识别方法 通常有两种:一种是通用的组行扫描查询法;另一种是速度较快的线反转法。 此系统中,我们采用线反转法。首先辨别键盘中有无按键被按下,在单片机 i/o 口向键盘送全扫描字,然后读入行线状态来判断。具体方法是:向行线输出全 扫描字 00h,把全部列线置成低电平,然后将列线的电平状态读入累加器 a 中。如 果有按键被按下,总会有一根行线电瓶被拉至低电平从而使行线不全为 1。 判断键盘中哪一个按键被按下通常是通过将列线逐列至低电平后,检查行输入 状态来实现的。方法是:依次给列线送低电平,然后检查所有行线状态,如果全为 1,则所按下的按键不在此列;如果不全为 1,则所按下的按键必在此列,而且是在 与零电平行线相交的交点上的那个按键。 实现功能如图 3-5 盐城工学院课程设计说明书(2013) 11 3.2.23.2.2 lcdlcd 显示电路显示电路 本系统设计的显示电路是为了给使用者以提示而设置的。因为系统具有账户管 理系统,使用 lcd 可以为用户提供更友好的人机界面,故选用 lcd1602 作为显示器 件。开锁时,按下键盘上的开锁按键后,利用键盘上的数字键 09 输入密码,每按 下一个数字键后在显示器上显示一个*,输入多少位就显示多少个*。当密码输入完 成时,按下确认键,如果输入的密码正确的话, lcd 显示“”,单片机其中 p3.0 引脚会输出低电平,使三极管 t2 导通,电磁铁吸合,继电器开关跳转,电子密码锁 被打开,如果密码不正确,lcd 显示屏会显示“you are thief!”,p3.0 输出的是 高电平,电子密码锁不能打开。通过 lcd 显示屏,可以清楚地判断出密码锁所处的 状态。 图3-6 显示器电路 使用 lcd1602 可以轻松的实现所有字母和符号显示,显示功能丰富,驱动程序 简单。能提高系统的安全行,使系统更人性化,更有可扩展性。下面几幅图是本课 题用到的显示和提示语: 图 3-7.1. 初始化 图 3-7.2 密码输入正确 图 3-7.3 密码输入错误第一次 图 3-7.4 密码输入错误第二次 盐城工学院课程设计说明书(2013) 12 图 3-7.5 密码输入错误第三次 图 3-7.6 修改密码 图 3-7.7 输入新密码 图 3-7.8 清屏 3.2.33.2.3 at24c04at24c04 存储电路存储电路 at24c02 是 atmel 公司生产的 at24cxx 系列串行 e2prom 中的一种,是 具有 i2c 总线接口功能的电可擦除串行存储器。 at24c02 内部含有 256 个字节, 通过 i2c 总线接口进行操作,有一个专门的写保护功能( wp=1 时即为写保护) 。 电路如下图 3-8 图 3-8 at24c04 存储电路 盐城工学院课程设计说明书(2013) 13 3.2.43.2.4 开锁机构开锁机构 在基于单片机的电子密码锁设计中,用户需要输入密码,密码正确则发出开 锁信号开锁。 因为在设计中是以发光二极管代替电磁锁,二极管亮代表锁开,因此可以设 计一个简单的可以点亮二极管的电路系统代替电磁锁开锁机构。如图3-9 所示。 图 3-9 开锁显示电路 由于单片机 i/o 口默认为高电平,故初始时二极管不亮,代表锁是闭着的。 当用户输入密码并验证正确时,发出开锁信号(使p2.4=0) 。 3.2.53.2.5 报警机构报警机构 在这次基于单片机的电子密码锁设计中,通过控制蜂鸣器的发音来实现系统 的报警功能。 蜂鸣器是一种采用直流电压供电的电子讯响器。图3-10 是用蜂鸣器模拟的 报警机构仿真图。 图 3-10 报警机构模拟仿真图 当 p3.7 口有脉冲信号输入时,蜂鸣器 speaker 即会发音。通过控制输入 脉冲的频率还能控制蜂鸣器的发音频率。 当用户输入密码错误次数达到预设警告次数时,系统调用报警子程序,使蜂 鸣器发出报警音,同时禁止键盘输入。 3 3. .2 2. .6 6 密密码码初初始始化化电电路路 密码初始化是有个相当于超级用户的功能电路当用户密码忘记时可以点击按键 实现密码的初始化: 123456。当然要有一定的权限的啦 仿真图如下图 3-11 盐城工学院课程设计说明书(2013) 14 图 3-11 密码初始化电仿真图 4 4 程序设计程序设计 4.1 软件总体设计 根据电子密码锁的实际应用要求和其应该具有的功能,本次设计的主程序流 程图如图 4-1 所示。 盐城工学院课程设计说明书(2013) 15 初始化 显示输入密码界面 输入密码 密码正确? 开锁 扫描功能键 有键输入? 是改密键? 进行改密操作 显示界面 是闭锁键? 进行闭锁操作 y n y n n y 开启定时中断 次数3? 调用报警子程序 y n 图 4-1 主程序流程图 此次基于单片机的电子密码锁设计的软件设计方面的主要问题是如何实现键 盘输入、信息显示、密码的掉电存储以及密码的比较和处理。本设计接下来将分 步解决这几个问题。 4.2 键盘扫描子程序 矩阵键盘扫描子程序应该具有以下2 个基本的功能: (1)能判断是否有键按 下;(2)能确定是哪个键被按下。其软件管理主要分为以下三步来完成: (1)判断整个键盘是否有键按下。 让所有的行为 0,然后读列的数值。如果列的数值全部为1,说明没有键被 盐城工学院课程设计说明书(2013) 16 按下,否则说明有键被按下。 (2)识别被按下的键的位置。 采用一行一行的扫描方法,逐行输出0,然后读列的值。如果列的数值全部 为 1,说明不是这一行的按键被按下,扫描下一行,如果列的数值不全为1, 则说明被按下的按键时在这一行。 (3)查键值表,返回键值对应信息,以便确定各按键应该完成的功能。 采用某种算法,将被按下的键所在的行和列的信息合并成为一个信息,该信 息即为此键的键值。用相同的方法给每一个键确定键值。在给按键确定键值时必 须采用同一种算法,并且计算出来的键值应该是互不相同的。 本设计中各按键对应键值如表 4-1 所示。 表 4-1 按键键值表 按键名称键值按键名称键值 1 0x7e 9 0x7d 2 0xbe 0 0xbb 3 0xde a 0xdb 4 0xee b 0xeb 5 0x7d c 0x77 6 0xbd d 0xb7 7 0xdd e 0xd7 8 0xed f 0xe7 键盘扫描子程序的流程图如图 4-2 所示: 盐城工学院课程设计说明书(2013) 17 y n 确定被按下的键 在第二行? y n 确定被按下的键 在第三行? y n 确定被按下的键 在第四行中确 定被按下的键 返回对应的按键号 在第一行? 开始 扫描键盘 有键按下? y n 图 4-2 键盘扫描程序流程图 从流程图可以看出,此键盘识别程序是通过逐行扫描来确定是否有键按下, 当确定某一行有键按下时,再在该行中确定被按下的是哪一个按键。 在本设计中, p1.0p1.3 为行输出口, p1.4p1.7 为列输出口。初始时将 p1.0p1.3 值赋为 0,p1.4p1.7 赋为 1,cpu 始终扫描 p1 端口,当 p1 值不为 0xf0 时,有按键被按下,否责没有按键被按下。 在实际应用中,为了防止因为按键的抖动而使得一次按键按下被当做2 次 或者 2 次以上处理,应该进行按键消抖程序设计,只要方法是当有键闭合时,延 时一段时间再确定是否还有键闭合,若有,则为键有效闭合,若无则为键无效闭 合,返回重新扫描。 图 4-3 为 cpu 扫描第一行键盘的程序流程图。单行键盘扫描能够准确确定被 按下键所在的位置。 盐城工学院课程设计说明书(2013) 18 开始 扫描端口 y n 有键闭合? 延时 有键闭合? 查表确定按键 y n i/o 口初始化 返回按键值 结束 图 4-3 单行键盘扫描流程图 在本设计中, 各按键的功能与图 3-5 一样 详见图 4.3 显示模块子程序 由于设计中要求能够显示密码输入界面、密码输入信息、密码正确后提示界面、 密码错误后提示界面和修改密码相关界面等信息,故要用到很多个显示子程序来 显示不同的内容。虽然显示子程序很多,但是由于其显示原理都一样,所以我就 不一一介绍各个子程序了,只要能够熟练使用lcd1602 各个指令,这些大同小 异的子程序也就不在话下了。 以下是 lcd1602 从第一行第一列开始显示 n(0 #include #include #define uchar unsigned char #define uint unsigned int #define lcdio p0 #define delay4us() _nop_();_nop_();_nop_();_nop_(); uchar buffer6=0; sbit sda=p34; sbit scl=p33; sbit beep=p37; sbit relay=p23; sbit huifu=p26; bit flag=0,aa;/用户 zi 定时溢出标志位 uchar dsy_buffer16=“ “; uchar dsy_buffer116=“ “; uchar userpassword6=0; uchar mem6=0; sbit rs=p20; sbit rd=p21; 盐城工学院课程设计说明书(2013) 32 sbit lcden=p22; sbit led=p24; sbit led1=p27; uchar code table2=“123456“; uchar code table=“input your code:“; void delayms(uint z) uint x

温馨提示

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

评论

0/150

提交评论