ImageVerifierCode 换一换
格式:DOCX , 页数:48 ,大小:561.92KB ,
资源ID:27242764      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27242764.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(张海啸.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

张海啸.docx

1、张海啸单片机课程设计说明书 电子密码锁控制系统设计专业电气工程及其自动化学生姓名张海啸班级B电气104学号1010601410指导教师张兰红完成日期2013年 6月 27日摘 要: 锁是指加在门、箱子、抽屉等物体上的封缄器,要用专用的钥匙才能打开。自古以来锁都是人们财产安全乃至生命安全的一种重要保障。伴随着人类历史的发展和人们对自身财产安全和人生安全的重视,各种各样的多功能的锁具也相继出现,人们使用的锁具也由传统的机械式锁逐渐发展为安全性能更好,功能更多的电子密码锁。在现代社会,电子密码锁已是一个被大家所熟识的名词。相信很多人的小区大门上的锁都用的是电子密码锁。本文中将要介绍的电子密码锁是一种

2、通过判断密码输入是否正确来控制电路或是芯片的工作状态,进而控制锁的打开和闭合,从而完成开锁、闭锁任务的电子锁装置。本设计是基于AT89C51单片机为控制核心的密码锁设计方案。在本次基于单片机的电子密码锁设计中,将采用AT89C51单片机作为控制核心,配合相应的电路和软件程序,实现密码的输入和修改、信息的显示、键盘的锁定、系统报警、开锁和闭锁等功能。在设计中,利用识别密码是否正确来开锁或报警,通过串行存储器AT24C02来实现密码的修改和存储关键词:单片机;密码锁;矩阵键盘;掉电存储The Design Of Electronic Code Lock Based On Single Chip M

3、icrocomputerAbstract: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

4、 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 combin

5、ation 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 clos

6、eness 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 controll

7、ing 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

8、 identifying 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目录绪 论 4电子密码锁简介 5电子密码锁设计的背景及意义 5电子密码锁的现状及发展趋势 61 课题设计目标 62 总体设计方案 62.1 设计思

9、路 62.2 方案确立 73 硬件电路方框图 73.1 单片机及其最小系统 73.1.1 复位电路的设计 83.1.2时钟电路的设计 93.2 密码锁电路 103.2.1 按键电路的设计 103.2.2 LCD显示电路 113.2.4 开锁机构 123.2.5 报警机构 134 程序设计 144.1 软件总体设计 144.2 键盘扫描子程序 154.3显示模块子程序 184.4 掉电存储子程序 194.4.1 写操作方式 194.4.2 读操作方式 204.5 定时器中断子程序 214.6 密码输入子程序 214.7 报警子程序 235 课程设计总结 236 参考文献 257 附 录 25附录

10、一 总电路原理图 26附录二:电子密码锁的PCB图 27附录三:电子密码锁的实物图 27附录四:元器件清单 30附录五 源程序清单 31 绪 论 电子密码锁简介 什么是电子密码锁?“一种通过密码输入来控制电路或者是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。”XX百科上是这样解释的。简单来说,电子密码锁就是能够实现密码等信息的设置、存贮、识别和显示,以及报警信号的接收和发送等功能的电子器件。 电子密码锁相对传统机械锁有以下几个优势: (1)密码可更改。用户可以随时更改密码,以确保密码锁的安全性和可靠性。可以更改密码这一功能同时也避免了人员的更替而使锁的安全性降低,这是传统钥

11、匙锁所不具备的功能。 (2)操作简单。无论是开锁还是更改密码,只要识字的人都能够直接使用,使用方法简单而不繁琐。 (3)能够报警。报警功能无疑更增加了锁的安全性。 (4)无法“技术”破解。不知道密码就无法打开锁,即使是惯偷也只能望“锁”兴叹。 电子密码锁设计的背景及意义在现代文明社会,虽然人们的道德素质越来越高,“梁上君子”、“三只手”等人群相对旧社会大大减少,但是像“某某小区遭入室行窃,居民损失XXXX”之类的新闻我们还是经常能够在报纸上看到的。随着人们生活水平和自身防范意识的提高,个人财产安全和人身安全的问题也越来越受到人们的重视,拥有一把能够有效保证居民财产安全和人身安全的锁具也越发的重

12、要起来。锁具的起源可以追朔到人类社会财产私有化的出现,锁具从其出现到发展至今天的高科技化、信息化,已经有若干年的历史了。经过若干年的使用和研究,人们对锁具的结构、机理也了解得相当透彻了,因此,不使用钥匙就能将锁打开的方法也层出不穷。特别是传统的机械锁,由于其构造简单,在惯偷面前,甚至能够只用一根铁丝就直接将其打开,使其失去了保障用户个人财产安全的意义。那么,如何才能提高锁具保障用户财产安全的有效性呢?在信息现代化的今天,锁具也应该向高精度、高安全性的智能化、信息化发展。自20世纪70年代第一块单片机芯片TMS-1000于美国德克萨斯仪器公司面世以来,基于其体积小、价格低廉、个性突出等特点,越来

13、越多的电子产品开始采用单片机芯片作为核心控制部件。在这样的大环境下,基于单片机的电子密码锁也应运而生。这种电子密码锁是以单片机为核心,配以相应的硬件电路和软件程序,实现密码的设置、存贮、识别和显示,以及报警信号的接收和发送等功能,具有操作快、修改密码简单、安全性高、功耗低等优点。基于单片机的电子密码锁的面世使人们的自身财产安全有了更多的保障,同时也促进了安全信息系统的发展,是安全信息系统的一大进步。基于单片机的电子密码锁的出现,在一定程度上解决了用户私人财产安全的问题。但是,时代在发展,社会在进步,任何事物只有不断地进步才能适应时代发展的需求。电子密码锁虽然有安全性高、操作简单等优点,但是却不

14、如机械锁价格低廉,因此,在市场上的主流产品还是机械锁。电子密码锁要想取代机械锁成为市场上的主流,就必须不断改进,在具有更多功能的同时向更智能化和更低成本化发展。这就需要我们不断研究电子密码锁的设计方法和实现原理。因此,研究基于单片机的电子密码锁的设计是很有必要且具有现实意义的。电子密码锁的现状及发展趋势目前,和西方发达国家相比,我国的电子密码锁技术还相对落后。在西方发达国家,电子密码锁的种类已经很齐全,技术也比较先进,且在各个领域得到了广泛应用。在我国,电子密码锁技术却才相当于国际上七十年代的水平,相对来说还很落后。20世纪80年代以来,随着各种电子集成电路的出现,特别是单片机的面世,电子密码

15、锁得到了很大的发展。相对于笨重而构造简单的传统机械锁来说,电子密码锁具有体积小,可靠性高的优势。但是就目前而言,电子密码锁的价格相对较高且需要有电源提供能量,使得其使用还局限在一定范围,特别是在国内,各种条件的制约使得电子密码锁暂时难以普及。 尽管电子密码锁还存在着一些缺陷,但是其安全性高、方便易用、能够智能报警的优势却是传统钥匙锁取代不了的,而且随着电子信息技术的发展和各种电子器件的价格的不断降低,电子密码锁也将往低成本、多功能的方向发展。1 课题设计目标本设计采用MCS-51系列单片机AT89S52作为主控芯片,结合外围电路,设计密码锁控制系统,能够实现。2 总体设计方案2.1 设计思路该

16、电路是一种采用以AT89S52为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能根据实际需要添加调电存储、声光提示功能。2.2 方案确立(1)为了实现密码的保密性,采用一个44的矩阵式键盘可以任意设置用户密码,从而提高了密码的保密性。(2)采用LCD显示单元,提高了可读性 ,提供良好的人机界面。3 硬件电路方框图电路由两大部分组成:AT89S51单片机及其外围电路和密码锁电路。密码锁电路包含:矩阵键盘输入、LCD指示电路、报警控制电路、AT24C02掉电存储电路。其原理方框图如图3-1所示。图3-1 原理图框图3.1 单片机及其

17、最小系统 单片机最小系统是单片机正常工作的基础,任何一个单片机系统设计都是基于单片机最小系统的基础上来完成的,而在单片机系统实物设计中,最应该首先解决的也应该是单片机最小系统问题,只有保证了单片机最小系统的正确性,才能保证接下来的其他模块的正确设计。图3-2是单片机最小系统的完整仿真图。图3-2单片机最小系统的完整仿真图3.1.1 复位电路的设计复位是单片机的初始化操作。单片机启运运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。该复位电路采用按

18、键电平复位式复位电路。当单片机已在运行当中时,按下复位键S后松开,在复位引脚RET(9脚)脚持续出现24个振荡器脉冲周期(即2个机器周期)的高电平信号将使单片机复位。也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。如图3-3所示。图3-3 复位电路3.1.2时钟电路的设计时钟电路为单片机产生时序脉冲,单片机所有运算与控制过程都是在统一的时序脉冲的驱动下的进行的,如果单片机的时钟电路停止工作(晶振停振),那么单片机也就停止运行了。当采用内部时钟时,连接方法如下图所示,在晶振引脚XTAL1(19脚)和XTAL2(18脚)引脚之间接入一个11.0592MHZ晶振,两个引脚对地分别再接入

19、一个电容即可产生所需的时钟信号,电容的容量一般在几十皮法,如20PF。如图3-4所示。图3-4 时钟电路3.2 密码锁电路3.2.1 按键电路的设计 为了加强密码的保密性,采用一个44的矩阵式键盘可以任意设置用户密码(1-16位长度),从而提高了密码的保密性,同时也能减少与单片机接口时所占用的I/O口线的数目,节省了单片机的宝贵资源,在按键比较多的时候,通常采用这种方法。其原理图如图3-5所示。图3-5 矩阵键盘电路每一行与每一列的交叉处不相同,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N根行线与M根列线,即可组成具有N M 个按键的矩阵键盘。在这种行列式矩阵键盘编码的单片机系统中,

20、键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就是要识别哪一个按键被按下。对键的识别方法通常有两种:一种是通用的组行扫描查询法;另一种是速度较快的线反转法。此系统中,我们采用线反转法。首先辨别键盘中有无按键被按下,在单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。具体方法是:向行线输出全扫描字00H,把全部列线置成低电平,然后将列线的电平状态读入累加器A中。如果有按键被按下,总会有一根行线电瓶被拉至低电平从而使行线不全为1。判断键盘中哪一个按键被按下通常是通过将列线逐列至低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后检查所有行线状

21、态,如果全为1,则所按下的按键不在此列;如果不全为1,则所按下的按键必在此列,而且是在与零电平行线相交的交点上的那个按键。实现功能如图 3-53.2.2 LCD显示电路本系统设计的显示电路是为了给使用者以提示而设置的。因为系统具有账户管理系统,使用LCD可以为用户提供更友好的人机界面,故选用LCD1602作为显示器件。开锁时,按下键盘上的开锁按键后,利用键盘上的数字键09输入密码,每按下一个数字键后在显示器上显示一个*,输入多少位就显示多少个*。当密码输入完成时,按下确认键,如果输入的密码正确的话, LCD显示“”,单片机其中P3.0引脚会输出低电平,使三极管T2导通,电磁铁吸合,继电器开关跳

22、转,电子密码锁被打开,如果密码不正确,LCD显示屏会显示“you are thief!”,P3.0输出的是高电平,电子密码锁不能打开。通过LCD显示屏,可以清楚地判断出密码锁所处的状态。图3-6 显示器电路使用 LCD1602可以轻松的实现所有字母和符号显示,显示功能丰富,驱动程序简单。能提高系统的安全行,使系统更人性化,更有可扩展性。下面几幅图是本课题用到的显示和提示语: 图3-7.1. 初始化 图3-7.2 密码输入正确 图3-7.3 密码输入错误第一次 图3-7.4 密码输入错误第二次 图3-7.5 密码输入错误第三次 图3-7.6 修改密码 图3-7.7 输入新密码 图3-7.8 清屏

23、3.2.3 AT24C04 存储电路 AT24C02是Atmel公司生产的AT24CXX系列串行E2PROM中的一种,是具有I2C总线接口功能的电可擦除串行存储器。AT24C02内部含有256个字节,通过I2C总线接口进行操作,有一个专门的写保护功能(WP=1时即为写保护)。电路如下图3-8 图3-8 AT24C04 存储电路3.2.4 开锁机构 在基于单片机的电子密码锁设计中,用户需要输入密码,密码正确则发出开锁信号开锁。因为在设计中是以发光二极管代替电磁锁,二极管亮代表锁开,因此可以设计一个简单的可以点亮二极管的电路系统代替电磁锁开锁机构。如图3-9所示。图3-9 开锁显示电路 由于单片机

24、I/O口默认为高电平,故初始时二极管不亮,代表锁是闭着的。当用户输入密码并验证正确时,发出开锁信号(使P2.4=0)。3.2.5 报警机构 在这次基于单片机的电子密码锁设计中,通过控制蜂鸣器的发音来实现系统的报警功能。 蜂鸣器是一种采用直流电压供电的电子讯响器。图3-10是用蜂鸣器模拟的报警机构仿真图。图3-10 报警机构模拟仿真图 当P3.7口有脉冲信号输入时,蜂鸣器SPEAKER即会发音。通过控制输入脉冲的频率还能控制蜂鸣器的发音频率。 当用户输入密码错误次数达到预设警告次数时,系统调用报警子程序,使蜂鸣器发出报警音,同时禁止键盘输入。3.2.6密码初始化电路 密码初始化是有个相当于超级用

25、户的功能电路当用户密码忘记时可以点击按键实现密码的初始化:123456。当然要有一定的权限的啦 仿真图如下图 3-11 图3-11 密码初始化电仿真图4 程序设计4.1 软件总体设计 根据电子密码锁的实际应用要求和其应该具有的功能,本次设计的主程序流程图如图4-1所示。图4-1 主程序流程图此次基于单片机的电子密码锁设计的软件设计方面的主要问题是如何实现键盘输入、信息显示、密码的掉电存储以及密码的比较和处理。本设计接下来将分步解决这几个问题。4.2 键盘扫描子程序 矩阵键盘扫描子程序应该具有以下2个基本的功能:(1)能判断是否有键按下;(2)能确定是哪个键被按下。其软件管理主要分为以下三步来完

26、成:(1) 判断整个键盘是否有键按下。让所有的行为0,然后读列的数值。如果列的数值全部为1,说明没有键被按下,否则说明有键被按下。(2) 识别被按下的键的位置。采用一行一行的扫描方法,逐行输出0,然后读列的值。如果列的数值全部为1,说明不是这一行的按键被按下,扫描下一行,如果列的数值不全为1,则说明被按下的按键时在这一行。(3) 查键值表,返回键值对应信息,以便确定各按键应该完成的功能。采用某种算法,将被按下的键所在的行和列的信息合并成为一个信息,该信息即为此键的键值。用相同的方法给每一个键确定键值。在给按键确定键值时必须采用同一种算法,并且计算出来的键值应该是互不相同的。 本设计中各按键对应

27、键值如表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所示:图4-2 键盘扫描程序流程图从流程图可以看出,此键盘识别程序是通过逐行扫描来确定是否有键按下,当确定某一行有键按下时,再在该行中确定被按下的是哪一个按键。 在本设计中,P1.0P1.3为行输出口,P1.4P1.7为列输出口。初始时将P1.0P1.3值赋为0,P1.4P1.7

28、赋为1,CPU始终扫描P1端口,当P1值不为0xf0时,有按键被按下,否责没有按键被按下。 在实际应用中,为了防止因为按键的抖动而使得一次按键按下被当做2次或者2次以上处理,应该进行按键消抖程序设计,只要方法是当有键闭合时,延时一段时间再确定是否还有键闭合,若有,则为键有效闭合,若无则为键无效闭合,返回重新扫描。 图4-3为CPU扫描第一行键盘的程序流程图。单行键盘扫描能够准确确定被按下键所在的位置。图4-3 单行键盘扫描流程图 在本设计中,各按键的功能与图3-5 一样 详见图4.3显示模块子程序由于设计中要求能够显示密码输入界面、密码输入信息、密码正确后提示界面、密码错误后提示界面和修改密码

29、相关界面等信息,故要用到很多个显示子程序来显示不同的内容。虽然显示子程序很多,但是由于其显示原理都一样,所以我就不一一介绍各个子程序了,只要能够熟练使用LCD1602各个指令,这些大同小异的子程序也就不在话下了。以下是LCD1602从第一行第一列开始显示N(0N16)个字符的程序流程图。 图4-4 显示字符程序流程图 显示模块子程序主要指根据LCD1602的命令和引脚功能来编写,程序逻辑相当简单。4.4 掉电存储子程序 掉电存储子程序就是将初始密码写进AT24C04,单片机每次复位后从AT24C04中读取密码用来和输入的密码进行比较,以判断输入的密码的正确性。当密码修改成功后,将新密码写入AT

30、24C04,以便单片机下次复位后使用。 掉电存储模块子程序主要涉及AT24C04的写操作方式和读操作方式。AT24C04有2种不同的写操作形式和3种不同的读操作方式。 4.4.1 写操作方式 两种写操作方式为:字节写和页写。(1)字节写。字节写模式下,主机发送(R/位置为0)起始命令和器件地址信息,主机在收到AT24C04的应答信号后,发送18位字节地址,写入AT24C04的地址指针中。对于高于8位的地址,主机连续发送两个8位字节地址写入AT24C04中,主机在收到AT24C04的另外一个应答信号后再发送数据到被寻址的存储单元,AT24C04再次应答,并在主机发出停止信号后开始内部数据的擦写。

31、AT24C04在内部擦写过程中不响应主机的任何请求,因此在两次写操作之间应该留有足够的反应时间。字节写的时序是这样的: 地址只有8位:开始器件地址响应8位字节地址响应数据响应停止 地址高于8位:开始器件地址响应高8位字节地址响应低8位字节地址响应数据响应停止(2)页写。页写和字节写所不同的是:字节写一次只能写入一个字节数据,页写一次可以写入8个或16个字节数据。页写的时序是这样的: 地址只有8位:开始器件地址响应8位字节地址响应数据1响应数据N响应停止。 地址高于8位:开始器件地址响应高8位字节地址响应低8位字节地址响应数据1响应数据N响应停止。三种不同的读操作方式为:读当前地址内容(立即地址读取)、读随机地址内容(随机地址读取)和读顺序地址内容(顺序地址读取)。4.4.2 读操作方式 (1)读当前地址内容。AT24C04的地址计数器内容为最后操作字节的地址加1,所有如果上次读写操作的地址为N,采用读当前地址内容方式读地址应该从N+1地址

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1