毕业设计(论文)基于单片机的电子密码锁群的设计(含CAD图纸)_第1页
毕业设计(论文)基于单片机的电子密码锁群的设计(含CAD图纸)_第2页
毕业设计(论文)基于单片机的电子密码锁群的设计(含CAD图纸)_第3页
毕业设计(论文)基于单片机的电子密码锁群的设计(含CAD图纸)_第4页
毕业设计(论文)基于单片机的电子密码锁群的设计(含CAD图纸)_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、全日制普通本科生毕业设计基于单片机的电子密码锁群的设计design ofele ctronic locksgroup basedon scm完整版说明书,cad图纸等,联系153893706学生姓名:学 号:年级专业及班级:2008级机械设计及其自动化指导老师及职称: 学 部:理工学部提交日期:2012年5月全日制普通本科生毕业设计诚信声明本人郑重声明:所呈交的本科毕业设计是本人在指导老师的指导下,进行研究工作所取得的成果,成果不存在知识产权争议。除文中已经注明引用的内容外,本设计不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体在文中均作了明确的说明并表示

2、了谢意。同时,本论文的著作权由本人与湖南农业大学东方科技学院、指导教师共同拥有。本人完全意识到本声明的法律结果由本人承担。 毕业设计 作者签名: 年 月 日目 录摘要1关键词11 前言21.1 课题研究背景和意义21.2 国内外文献综述41.3 设计所要研究的主要内容52 系统总体方案设计53 硬件电路设计7 3.1 键盘电路设计7 3.2 led显示电路设计9 3.3 开锁电路设计11 3.4 报警电路12 3.5 密码存储电路设计13 3.6 复位电路14 4 软件设计15 4.1 软件设计思路15 4.2 片内存贮器空间的分配15 4.3 i/o接口的分配15 4.4 键盘扫描子程序17

3、 4.5 led显示子程序17 4.6 密码修改比较和报警程序175 结束语19参考文献20致谢20附录22基于单片机的电子密码锁群的设计摘 要:单片机已经在家电领域中得到了广泛的应用,而且在安全密保方面,具有防盗报警功能的电子密码锁逐渐取代了传统的机械密码锁,克服了机械密码锁密码过少的安全性问题。本密码锁的主控芯片采用价格实惠而且容易购买的 stc89c51芯片。密码输入采用矩阵键盘及独立键盘,密码显示采用共阴极的八段显示数码管。系统能完成密码输入、正确开锁、超次报警这些基本的密码锁的功能。 系统的软件实现采用功能强大且易于开发的keilc51环境,且支持isp下载。因此没使用编程器,用汇编

4、语言实现系统的软件部分。由于51单片机也有一些不足之处如断电后内部ram储存的数据会完全丢失,为了克服这一缺点,系统的外围加了掉电存储电路并且由2816芯片来实现。此设计具有安全性高、价格低廉便于实现、易于改进等优点。1 关键词:电子密码锁 单片机 矩阵键盘 design of electronic locks group basedonscm (oriental science technology college of hunan agricultural university, changsha 410128)abstract: scm(single chip microcomputer

5、) has been widely used in the field of home appliances, and in terms of safety secret security ,the electronic code locks which with anti-theft alarm function has gradually replaced the traditional mechanical code locks, and it has overcome the security problems of the mechanical code locks whose pa

6、ssword is too short . the affordable and easy to buy stc89c5 chip is used as the main control chip of electronic code locks. password input using matrix keyboard and independent keyboard, and password displays adopt eight display digital tubes which is common cathode. the system can complete these b

7、asic functions like password input 、correctly unlocking and hyper-alert. and the system software to achieve a powerful and easy to develop keilc51 environment, and support for the isp download. so programmer was not be used , with the assembler to realize the software of system. but 51 scm also have

8、 some disadvantages such as the data stored in internal ram will be completely lost when the power was interrupted. in order to overcome this shortcoming , using a power-down memory circuit on the periphery of the system and make the 2816 chip to achieve. this design has advantages such as high secu

9、rity, low cost, easy to implement, easy to improve and so on.keyword: electronic code locks single chip microcomputer matrix keyboard 1 前言1.1 课题研究背景和意义 电子密码锁是一种通过密码输入来控制电路或是芯片工作,控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁,特点如下:1保密性好,编码量多,远远大

10、于弹子锁。随机开锁成功率几乎为零。2密码可变。 用户可以经常更改密码,防止密码被盗,同时也可以避免 因人员的更替而使锁的密级下降。3误码输入保护。当输入密码多次错误时,报警系统自动启动。目前常见的密码锁有很多,下面介绍常见的几种。遥控密码锁:常见有遥控式电子防盗锁主要有光遥控和无线电遥控两类。光遥控又分为红外线遥控和可见光遥控,光遥控利用窄角度的光传输密码,优点是传输信息量可以很大、速度极快、人眼识别不出来,又无法在光路径上(操作者与电子防盗锁主体之间)以仪器捕获信号试图复制,因此保密性极高。无线电遥控的优点也是传输信息量可以很大、速度快、人眼识别不出来,但发射的信号弥散空间,容易被仪器捕获,

11、因此适合采用“变化的密码”,如所谓的“跳码”、“滚码”(均是随机变化而无明显规律),这样即使捕获了当时的信号也无利用、复制的价值。使用遥控式电子防盗锁,需要仔细保管遥控器(即钥匙),而且对某些应用而言,这种钥匙大了一点,可能还要使用特定的电池。1 键盘式电子密码锁:从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。键盘式电子密码在键盘上输入,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。但是密码不能太简单,太

12、简单了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性不足。当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。因此,为了发扬优点、克服弱点,键盘式电子密码也在不断发展中,如“任意设定密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新;而“自动更改密码”技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测;独出心裁的“键盘乱序显示”技术使得键盘上的固定键位每次显示出的字符不固定,并且显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作也难以窥测出密码;“多重密码设定”技术

13、使得单组密码不一定有效,适合多人分权使用,需要输入两组以上的密码才被认可,大大提高了保密性,如果限定输入这些密码的先后顺序或时间区段,则保密性还可提高。在输入密码的过程中,为了限制试探密码的企图,通常输入错误码若干次或若干时间内输入不正确,即“封锁”键盘,不再接受输入操作。总之,尽管新式电子防盗锁层出不穷,但键盘式电子密码防盗锁仍然“老树发新芽”,不仅在市场上居于主流地位,而且,还经常作为其他类型电子防盗锁的辅助输入手段。 使用各种“卡”作为钥匙的电子防盗锁是当前最为活跃的产品,无论卡的种类如何多种多样,按照输入卡的操作方式,都可分为接触式卡和非接触式卡两大类。值得注意的是,由于安防行业的要求

14、,通常不得使用可靠性差、易被仿制的磁卡。目前接触式卡的技术成熟、价格较低,应用也较为广泛;非接触式卡使用隐蔽、方便,大有后来居上之势。储存信息量大是卡的优势,它不仅作为钥匙,还可载入多项个人信息,特别适合金融业注重“验明正身”的行业特点,而且一卡多用(如入门、开锁、存储、付费等)带来持卡人的便利。使用这类电子防盗锁,需要仔细保管卡(即钥匙),尤其丢失了必须尽快取消该卡的授权。 人的某些与生俱来的个性特征(如手、眼睛、声音的特征)几乎不可重复,作为“钥匙”就是唯一的(除非被逼迫或伤害),因此,利用生物特征做密码的电子防盗锁,也特别适合金融业注重“验明正身”的行业特点。 由于这种“自生自长、随身携

15、带”的“钥匙”优点突出,因此这种锁很快度过了性能不太稳定、价格昂贵的初始期,变得越来越实用、越来越“特征”,受到人们的普遍欢迎。现今,生物特征技术发展迅速,除了价格因素和尺寸体积因素对普及尚有所限制外,生物特征电子防盗锁在金融业的前景被人们普遍看好。不过,在要求保密性极高的情况下,还不宜单独使用生物特征电子防盗锁,最好是组合其他电子信息作为密码。 由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子防盗锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗锁,这样对盗贼而言是“道高一尺、魔高一丈”。组合使用信息也能够使电子防盗锁获得

16、无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。1.2 国内外文献综述1976年intel公司首先推出8位机mcs-48系列,1980年又推出了内部功能单元集成度强的8位机mcs-51系列产品,其性能大大超过并取代了mcs-48系列产品。由于8位机可以一次处理一个ascll码,因而一问世便显示出其强大的生命力,广泛用于显示、终端键盘、打印、文字处理、工业控制等。虽然单片机品种多样,型号繁多,但仍有如下发展趋势。31.低功耗cmos化 随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了cmos工艺。80c51就采用了hmos和chmos。cmos虽然功耗较低,但由

17、于其物理特征决定其工作速度不够高,而chmos则具备了高速和低功耗的特点,这些特征,更适合于在要求低功耗,电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主要途径。 2.微型单片化 现在常规的单片机普遍都是将中央处理器(cpu)、随机存取数据存储(ram)、只读程序存储器(rom)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如a/d转换器、pmw(脉宽调制电路)、wdt(看门狗)、有些单片机将lcd(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。 3.主流与多品种共存 现在虽然单片机的品种繁多,各

18、具特色,但仍以80c51为核心的单片机占主流,兼容其结构和指令系统的有philips公司的产品,atmel公司的产品和中国台湾的winbond系列单片机。在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。4.大容量、高性能 以往单片机内的rom为1kb4kb,ram 为64128b。但在需要复杂控制的场合,该存储容量是不够的,必须进行外接扩充。为了适应这种领域的要求,须运用新的工艺,使片内存储器大容量化。目前,单片机内rom 最大可达64kb,ram 最大为2kb。另外单片机进一步改变cpu的性能,加快指令运算的速度和提高系统控

19、制的可靠性。5. 串行扩展技术 在很长一段时间里,通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构。随着低价位otp(one time programble)及各种特殊类型片内程序存储器的发展,加之处围接口不断进入片内,推动了单片机“单片”应用结构的发展。特别是i2c、spi 等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化及规范化。41.3设计所要研究的主要内容本设计用单片机实现,系统主机采用8051单片机, 单片机应用系统的硬件设计主要包括系统扩展与系统配置两部分,系统扩展指按照应用系统的要求值,存入存贮器,i/o口及其他接入芯片的扩展,系统配置则是按照

20、系统功能要求,配备相应的外围设备。按照模块的功能将硬件系统分为五大部分:单片机及i/o扩展单元、存贮单元、输入单元、输出显示单元、输出执行单元。单片机mcs-51单片机的程序存储器和数据存储器的地址空间是相互独立的,而且程序存储器一般为rom或eprom,只能读出不能写入。扩展用的程序存储器芯片大多采用eprom芯片,最大可扩展到64k字节。该设计使用矩阵键盘输入。led数码管显示输入密码, 74ls138控制各显示器分时进行显示。eeprom2816存储器存储密码。密码正确,二极管发光。输入密码错误次数超过三次系统报警,蜂鸣器发出报警音。2系统总体方案设计系统总体方案设计如下:1. 单片机及

21、i/o扩展单元:采用8051单片机,由于本系统具有七个锁的电子锁群,需要采用较多的i/o接口线,故扩展一片i/o接口ic 8155。2. 输入单元:由4x4矩阵式键盘和键盘扫描ic74922组成。按键编号及键盘值如图2-2所示。这样,只需将4x4键盘的行线x1x4、列线y1y4与ic4922的x1x4,y1y4一一对应连线,ic74922的使能端/oe接地,osc端、kbm端分别经0.1uf,1uf电容接地,就可以完成键盘扫描功能。只要检测到引脚da由l0-hi(按),ih-l0(放),即可将dcba(按键值)输入到81558051单片机输入单元存贮单元输出显示单元8155i/o模块输出执行单

22、元图1 系统总体设计方案fig.1 the whole system design scheme的i/o口,经8155读入单片机。对于各键的定义及相关操作如下:09号键供设置或者修改密码用,其中16号键由程序控制具有第二功能,作为由密码控制的6个文件分柜的编号;d键为开门键,需要开某门时,先按该门密码,在按d键,然后按该门编号键;k键作为一个公用分柜(无密码控制)直接开门键;#键为密码修改键,需要修改某门密码时,先输入该门原六位密码,再按#键,然后按该门编号键,最后输入新六位密码,*键为清除键,任何输入错误可用该键清除,操作重新开始。5表1 键盘代表含义table.1 keyboard rep

23、resentative meaning按键键名功能说明19键数字键输入密码k键公共键开启公共柜*键d键 清除键确定键 重新输入比较密码#键 密码修键修改密码table: db 01h 02h 03h 0ch db 04h 05h 06h 0dh db 07h 08h 09h 0ehdb 0ah 00h 0bh 0fh db 01h 02h 03h 04h 05h 06h3. 存贮单元:由e2rprom2816存贮器和74ls373地址锁存器组成,e2rprom2816既可做程序存贮器、又可作数据存贮器,且可读可写。程序一旦运行,“出厂”密码由table1读入,当密码更改时 6 ,由程序控制将最

24、新密码写入e2rprom2816中,这样,即使停电,再送电时也不会丢失密码,即该系统具有密码记忆功能。4. 输出显示单元:由七段译码器74ls247和3 8译码器74ls138和六个led数码显示器组成。程序上电运行时,显示器显示“000000”在输入密码操作(开锁和修改密码)时,显示所输入的密码。5. 输出执行单元:由反相器7404、驱动icr2003和电磁元件组成。当输入密码正确时由8155相应输出口输出低电频信号,经7404反相,r2003电流放大和电频匹配后,驱动电磁元件将锁打开。本方案采用一种是以8051为核心的单片机控制方案。利用石英晶体谐振器和单片机灵活的编程设计和丰富的i/o端

25、口,及其控制的准确性,实现其基本密码锁功能。7初步设计如下,入密码用矩形键盘,包括数字键和功能键。led数码管显示输入密码, 74ls138控制各显示器分时进行显示。用发光二极管代替发光电路,发光表示开锁。输入密码错误次数超过三次系统报警。打开电源后显示器显示“000000”,设原始密码“123456”输入密码便可开锁。按“*”键,显示器清零。重设密码,先输入“#”。输入密码后按“d”键。密码正确则开锁,否则显示器清零。8软件的设计主要包括键盘的读取,led显示程序,密码比较程序和报警程序。3 硬件电路设计3.1 键盘电路设计键盘是单片机系统中最常见的一种人机联系的一种输入设备,由若干个按键组

26、成,用户通过键盘向cpu输入数据或命令以实现简单的人机通信。对键盘的识别可分为两类:一类由专用的硬件电路来识别(如2376,74c922 ),它使用起来方便,但需要价格昂贵的专用芯片,在单片机系统中一般不采用,另一类靠软件来识别,称为非编码键盘,它的结构简单,价格便宜,应用灵活。但需要编制相应的键盘管理程序。单片机普遍采用这种方式。9按键工作处于两种状态:按下与释放。一般按下为接通,释放为断开,这两种状态要被cpu识别,通常将两种状态转换为与之对应的低电平或高电平。cpu通过按键信号电平的高低来判断按键的状态。 图2 键盘电路设计fig.2 keyboard circuit design012

27、3456789freed#k*free 图3 键盘示意图fig.3 keyboard schemes每一条行线和列线交叉处通过一个按键来连接,利用这种行列式矩阵结构只需要n条行线和m条列线就可组成n*m个按键。 在这种行列式矩阵键盘非键盘编码的单片机中,键盘处理程序先执行等待按键并确认有无键盘按下的程序段。确认有键盘按下后,下一步执行识别哪一个键按下。10对照4*4键盘,首先识别键盘中有无键盘按下,由单片机i/o口向键盘送全扫描字00h,把全部的列线置为低电平,然后把列线的电平状态读入累加器a中,如有键按下,总会有一根线电平为低使行线不全为1。判断键盘中哪一个键被按下,使通过将列线逐列置低电平

28、后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后检查行输入状态来实现。如果全为1,则所按下键不在此列,如果不全为1则按下的键必在此列。而且是与零电平线相交的交点上的键。理想的按键信号是一个标准脉冲,但键的按下和释放都需要一个过程来实现,在这一过程中是处于高低电平之间一种不稳定状态,称为抖动。抖动时间的长短,频率的高低与按键机械特征有关,一般在5到10ms之间。这就有可能造成cpu对一次按键过程进行多次处理。为了避免这种情况应采取措施消除抖动。消抖常见有两种方法,硬件消抖:如用滤波器,双稳态电路等。另一种用软件来实现,即当发现有键按下时,间隔10ms以上时间,才能进行下一次查询,这样

29、就让过了抖动过程,键的释放进行同样处理。本设计为减少电路复杂程度,减少成本。采用软件消抖的方法。113.2 led显示电路数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(com)的数码管。共阳数码管在应用时应将公共极com接到+5v,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起

30、形成公共阴极(com)的数码管。共阴数码管在应用时应将公共极com接到地线gnd上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。121. 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的i/o端口进行驱动,或者使用如bcd码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用i/o端口多,如驱动5个数码管静态显示则需要5840根i/o端口

31、来驱动,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。2. 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划的同名端“a,b,c,d,e,f,g,dp“连在一起,另外为每个数码管的公共极com增加位选通控制电路,位选通由各自独立的i/o线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通com端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的com端,就使各个数码管轮流受控

32、显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的i/o端口,而且功耗更低。13本设计,基于功耗更低,硬件电路的简单性,所以选择动态显示驱动。图4 led显示电路14fig.4 led display circuit用p0.0 p0.3接7447的abcd端口,7447的输出接口接led的七段显示,p0.4 p0.6接74ls138的abc三个输入口,74ls138的输出接口接

33、led的输出接口led的位显示,通过软件实现数字和位控制。表2 7447真值表17table.2 7447 true value table十进制或功能输入值bi/rbo输出值note lt rbi d c b a a b c d e f g 2 续表2十进制或功能输入值bi/rbo输出值note0h h l l l lhl l l l l l h21h x l l l hhh l l h h h h22h x l l h lhl l h l l h l23h x l l h h hl l l l h h l24h x l h l lhh l l h h l l25h x l h l hhl

34、h l l h l l 26h x l h h l hh h l l l l l 27h x l h h hhl l l h h h h28h x h l l lhl l l l l l l29h x h l l h hl l l h h l l210h x h l h lhh h h l l h l211h x h l h h hh h l l h h l212h x h h l lhh l h h h l l213h x h h l hhl h h l h l l 214h x h h h hhh h h l l l l 2bix x x x x x lh h h h h h h2fbix

35、 l l l l llh h h h h h h2ltl x x x x hhl l l l l l l2表3 74ls138逻辑功能表18table.3 74 ls138 logic function tablec b a y1 y2 y0 y3 y4 y5 y6 y70 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 10 1 0 1 1 0 1 1 1 1 10 1 1 1 1 1 0 1 1 1 11 0 0 1 1 1 1 0 1 1 11 0 1 1 1 1 1 1 0 1 11 1 0 1 1 1 1 1 1 0 11 1 1 1 1 1 1 1

36、1 1 0 3.3 开锁电路本设计中,基于节省材料的原则,用发光二极管代替电磁锁,二极管发光表示开锁,电路图如图所示。当pc0 pc7输出低电平时,二极管发光,表示开锁,由于市场上电子密码锁种类繁多,本设计采用的电子密码锁为深圳市龙岗区亚津电子科技的电子密码锁,具体数据为:1. 工作环境:-25 +65 工作湿度:5% 95%rh2. 产品性能指标:a.静态电流:指示灯熄灭时静态电流5uab.启动时瞬间(开锁时)电流250mac.操作按键的工作电流:20mad.抗静电压:可抗空气放电15kv,接触放电8kv电磁锁的继电器为额定低电压继电器,型号为:dy-26ce,其最大电压值为:48v,电压值

37、范围为:12v 48v,长期允许电压为30v。由于本设计电源的电源值范围为0 30v。所以选择dy-26ce。15图5 开锁电路fig.5 unlock circuit3.4 报警电路图6 报警电路fig.6 alarm circuit报警电路由蜂鸣器和单片机组成。选择一只压电式蜂鸣器,压电式蜂鸣器工作时需要约1a的驱动电流。蜂鸣器电路如图所示。当89c51的p10口输出为低电平时,经过光电耦合器tlp521-1,从而让报警电路通电,蜂鸣器产生蜂鸣音。该报警器型号为tlp521-1,额定工作电压为5v。163.5 密码存储电路设计本设计中,智能密码锁工作时分为两种工作状态,分别是正常状态和锁定

38、状态。锁定状态时,输出锁定信号,实现上锁功能;正常状态时,锁定信号消失实现开锁功能。本设计采用2816存储密码。2816是美国atmel公司的低功耗cmos串行eeprom,它内含1288位存储空间,具有工作电压宽(2.55.5v)、擦写次数多(大于10000次)、写入速度快(小于10ms)等特点。具有pdip、msop/tssop及soic等三种封装形式,以适应不同产品的需求。将密码存入2816中,开锁时,将从面板上的微键盘输入的数字序与2816中存储的密码相比较,如果位数及每一位上的数都相吻合,则进行开锁图7 存储电路fig.7 storage circuit程序复位后,先将2816中保存

39、的密码取出,放入ram缓冲区1中暂存,将定时器、堆栈等进行初始化,为报警系统作好准备,将ram缓冲区2中的密码初值设置为和ram缓冲区1中的密码不同,保证程序复位后比较密码不会相同,这时,进入ram缓冲区1和ram缓冲区2的密码比较程序,只有当两者位数相同而且每一位数字都相同时,执行开锁动作、输出开锁信号、进入正常状态,否则执行上锁动作、输出上锁信号、进入锁定状态。在正常状态时,可以进行重新设置密码、上锁等操作,重新设置密码时,首先验证原始密码,如相同则可进行密码更改,然后将新密码保存至2816中,同时更新ram缓冲区1。在锁定状态时,系统启动报警功能,同时等待用户开锁,如发现用户按下“开锁”

40、键,则读入从微键盘输入的数字序列,用其更新ram缓冲区2,转入密码比较程序,如密码相同则开锁,否则继续等待用户开锁,为防止非法用户恶意多次试探密码,可在程序中设置当连续三次输入错误密码后自动报警,直至开锁后解除。3.6 复位电路图8 复位电路fig.8 reset circuit单片机的第9脚rst为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,电路图如图所示图中由按键以及电解电容、电阻构成按键及上电复位电路。由于单片机是高电平复位,所以当按键按下的时候,单片机的9脚reset管脚处于高电平,此时单片机处于复位状态。当上电后,由于电容的缓慢

41、充电,单片机的9脚电压逐步由高向低转化,经过一段时间后,单片机的9脚处于稳定的低电平状态,此时单片机上电复位完毕,系统程序从0000h开始执行。4 软件设计4.1 软件设计思路本系统软件分为键盘输入识别、密码的比较与开锁、密码的修改与存贮、以及显示延时四大部分。其中以键盘输入识别作为主程序,完成人机对话,其它程序作为子程序。主程序的流程图如图4.1,电子密码锁工作的主要过程是通过键盘输入密码,同时led显示密码输入情况,按下确认键后判断密码的正确性,做出开锁或报警处理。当输入密码连续三次错误时,系统报警。密码的的设定在此程序中密码是固定40h45h中,假设预定密码为“123456”六位。在正常

42、状态时,可以进行重新设置密码、上锁等操作。重新设置密码时,首先验证原始密码,如相同则可进行密码更改,然后将新密码保存至2816中。按键按其功能分为两种,其中一种为功能键另一种为数字键。输入密码后,直到所有密码输入完毕按下确认功能键之后,才完成密码输入过程。进入密码的判断比较处理状态并给出相应的处理过程。4.2 片内存贮器空间的分配工作寄存器区:00h 1fh共32个字节。位寻址区:20h 2fh共16个字节数据缓冲区:30h 6fh共64字节。又分为密码存贮地址与显示缓冲地址两部分,其中30h4ch共36个字节来存放6个(每个6位)密码,50h55h共6个字节用来存放待显示的1个6位密码。堆栈

43、区:栈底地址70h。4.3 i/o接口的分配8051 i/o接口分配:p00 p07,扩展存贮器eeprom2816和i/o接口ic8155用;p10 p13,键盘输入用,p20 p27,扩展ic8155用。8155i/o接口:pa0pa7,显示密码输出用,端口地址为7f01h;pc0 pc7,显示器地址输出用,端口地址为7f03h;pb0 pb7,执行信号输出用,端口地址为7h02h。命令/状态口地址为7f00f。 图9 主程序流程图fig.9 the main program flow chart4.4 键盘扫描子程序键盘扫描子程序的流程图如下:图10 键盘扫描子程序fig.10 keyb

44、oard scan a subroutine键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。4.5 led显示子程序如图11该模块的功能是显示,由于是分屏显示数据,所以需要调用各显示子程序。184.6 密码修改比较和报警程序如图12该模块的功能是修改设置密码。密码修改程序要求密码要输入两次,程序将两次输入的密码比较一致时,即用此密码代替原先的密码,如果两次输入的密码不一致,则重复操作。这样就避免了修改密码的随机性。同时键盘输入的密码与设定的密码进行比较,若密码正确,则开锁;若不正确,则密码输入次数计数单元计数,如

45、达不到3次,返回键盘扫描模块;若计数已达3次,则调用报警模块。图11 led显示子程序fig.11 led display a subroutine图12 修改密码子程序流程图fig.12 change the password subroutines flow chart5 结束语随着毕业日子的逼近,毕业设计也接近了尾声。在指导老师蔡培中的悉心指导下,我终于顺利的完成了毕业设计。以前觉得毕业设计只是对这几年来所学知识的单纯总结,但是通过这次的毕业设计发现自己的看法有点太片面。毕业设计不仅是对前面所学知识的一种检验,而且是对自己能力的一种提高。通过这次毕业设计,我明白了自己所学的知识还是比较欠

46、缺的。要学习的东西还很多,以前老是觉得什么东西都会什么东西都懂,有点眼高手低。通过这次毕业设计,我才明白了学习是一个长期累积的过程,在以后的工作中生活中,都应该不断的学习,努力提高自己的知识和综合素质。注重理论和实践的结合。在整个设计中我更加了解到了什么是毕业论文,毕业论文就是高等院校毕业生提交的一份有一定的学术价值的文章。它是大学生完成学业的标志性作业,是对学习成果的综合性总结和检阅。是大学生从事科研的最初尝试,是在指导教师的指导下所取得的科研成果文字记录,也是检验学生掌握知识的程度、分析和解决问题的基本能力的一份综合答卷。 对于这次的毕业设计,总的来说还是比较成功的,硬件部分基本完成。这次

47、设计的难点是软件的实现,软件部分的密码输入和密码比较式最困难的,经过本人坚持不懈的努力和其他人的帮助最后终于完成了。在硬件部分由于mcs-51系列单片机具有良好的通用性,兼容性强等特点,本设计中所用的芯片还可以用同类的其他芯片代替,这样使得密码锁的设计更加灵活。单片机的指令简单易学,因此开发周期可以很短。由于时间有限和本人知识水平的有限发挥,本系统可以改进的地方还很多,如:省电装置,等等。在这次的毕业设计中,同学之间互相帮助,遇到问题大家一起讨论,发现我们所学的知识实在是有限,不过我们能够充分利用网络的优势去查阅资料。设计过程中懂得了很多东西,也培养了我们独立思考和设计的能力,也树立了我们对知识应用的信心,使自己充分体会到了在设计过程中的成功喜悦。20参考文献1 蔡培中,李旭.具

温馨提示

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

评论

0/150

提交评论