智能密码锁毕业设计论文.doc_第1页
智能密码锁毕业设计论文.doc_第2页
智能密码锁毕业设计论文.doc_第3页
智能密码锁毕业设计论文.doc_第4页
智能密码锁毕业设计论文.doc_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

目 录摘要:iabstract:ii第1章 绪论1 1.1 课题背景1 1.2 课题设计目标2第2章 系统方案论证4 2.1 主控部分的选择4 2.2 密码输入方式的选择5第3章 系统总体设计和主要芯片介绍6 3.1 系统总体设计6 3.2 主要芯片介绍6 3.2.1 at89c516 3.2.2 存储芯片at24c0210 3.2.3 显示电路(lcd1602)11第4章 系统硬件构成13 4.1 系统整体电路图13 4.2 单片机最小系统原理图13 4.3 复位电路14 4.4 时钟电路15 4.5 键盘输入部分16 4.6 密码存储部分17 4.7 显示部分18 4.8 报警部分19第5章 软件的设计与实现20 5.1 软件系统的总体设计20 5.2 主程序流程图20 5.3 键功能程序流程图22第6章 结论23附 录26 附件1:英文原文及中文翻译26 附件2:任务书40 附件3:开题报告41 附件4:原理图46 附件5:实物图47 附件6:程序48 附件7:元件清单66基于单片机的智能密码锁的设计摘要: 随着科学技术的不断发展,人们在日常生活与工作中对保险器件的要求越来越高。同时,电子设备也正在向智能化与微型化不断发展,电子密码控制系统已经越来越符合人们的要求。而单片机已经成为电子产品研制和开发中首选的控制器。为了满足人们对锁的使用要求,增加其安全性,同时克服传统锁具带来的不方便性,用数据密码代替钥匙的智能密码锁便应运而生。智能密码锁具有安全性高、操作简易、成本低、功耗低等优点。本次设计由单片机系统、矩阵键盘、lcd显示和报警系统组成。系统能完成开锁、超次锁定、报警、修改用户密码等基本的密码锁功能。除上述基本的密码锁功能外,还具有掉电存储、声光提示等功能,依据实际的情况还可以添加遥控功能。所采用的编程语言是c语言。本系统电路稳定性高、成本低廉、功能实用,符合办公室、住宅等场所的用锁要求,具有推广价值。关键词:at89c51;at24c02;电子密码锁;矩阵键盘design of intelligent password lock based on mcuabstract: with the continuous development of science and technology, insurance devices have become increasingly demanding in peoples daily life and work. meanwhile, the electronic intelligence devices are also being miniaturized to the intelligent and evolving. electronic code control system has been increasingly in line with peoples requirements.the microcontroller has become the preferred controller in the research and development of electronic product. in order to meet peoples requirements for the use of locks to increase their security and overcoming the inconvenience of traditional locks, smart locks which use the data encryption instead of key come into being. smart locks have many advantages such as high security, ease of operation, low cost and low power consumption. this design ismadeupof scm system, matrix keyboard, lcd display and alarm system. system can perform basic password lock function such as unlocking, smart-locking, alarming, modifying user passwords. in addition to these basic password lock function, it also has a power-down storage, sound and light tips and other functions, according to the actual situation can also add remote control functionality. the programming language used is c language. the system circuit high stability, low cost, functional and practical. it conforms to the office, residential and other places with a lock request and has promotional value.key words: at89c51, at24c02, electronic password lock, matrix keyboardii第1章 绪论随着科技的发展和人们对安全的高度要求,密码锁也从原来的大块头变成现在的芯片设计。锁自古以来就被人们广泛的运用,并且对它的可靠性要求甚高。一方面,人们需要安全可靠的防盗,同时在使用中又希望可以方便的进行操作,这成为了制锁技术长久发展以来永恒的技术攻关方向。随着电子技术的不断进步,电子产品在人们的日常生活与工作等方面发挥着愈来愈重要的作用,智能密码锁就是其中之一。例如,具有锁定报警功能的电子密码锁。电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、报警、闭锁任务的电子产品。在安全防盗领域,完美的替代了传统的机械式密码锁,解决了机械式密码锁长久以来存在的密码量少、安全性能差的缺陷,使锁具在技术层面与性能优化上都有了很大的提高。同时,随着大规模集成电路技术的成熟,尤其是是单片机的普及,出现了带微处理器的智能密码锁,通过不同的外接硬件,使锁具功能多样化,从而提高了安全性与可靠性,应用日益广泛。1.1 课题背景所谓的智能密码锁,就是通过微电子技术、集成电路技术,同时使用大量的电子元器件,结合多种新颖有效的识别技术(包括指纹识别技术、锁体的机械设计、网络报警等),进行多元开发生产的综合型产品。关于智能密码锁的研究从20世纪30年代就开始了,已经应用于当时的一些特殊场所。智能锁的密钥量极大,不仅可以通过芯片控制,也可以与精密的机械原理相融合。有了这样的双层保障,就可以减少或避免由于钥匙丢失或被盗窃后造成的安全隐患。人们只要记住自己所设定的密码,不需要随身携带钥匙,不需要担心遗失钥匙的情况,方便了人们的生活。因此人们愈发的欣赏这种方便安全的保护措施。20世纪80年代后,通过进一步的研发,智能锁专用集成电路已经出现在科研人员的手中,它的体积进一步缩小,可靠性有了大幅度提高,不过成本较高,比较适用于在要求安全措施较高的场合。显而易见,它的使用范围还有所局限,难以普及到大众生活中,所以对它的研究有一度的停滞。到了20世纪90年代,日本、美国、意大利、韩国、德国、加拿大以及我国的台湾、香港等地的微电子技术和通信技术有了较大的科研进展,这一进步为密码锁的后续发展提供了技术上的有力援助,从而肯定了密码锁向实际应用普及的发展方向。到了21世纪初,在西方的一些国家里,密码锁技术更加先进,拓展的使用功能更加多样化。例如,人们把电子密码锁广泛应用于智能门禁系统中从而实现大门的管理,不仅更加安全,同时也更加可靠了。我国开始对密码锁进行的前期科学研究是在90年代初期。随着国家的快速发展,国力的不断增强,我国在微电子技术与信息技术的研究中也有所建树。从20世纪初的技术水平和市场认可程度看,最被人们广泛欢迎与接受的是键盘式电子密码锁。该产品安全性能高,价格低廉,主要应用于私人储物、保险柜和银行的金库等,同时也可以应用于保管箱和运钞车。由于这种密码锁的优点突出,很有市场推广价值,因此科研投入高。这种锁很快的克服了初期的性能稳定差的缺点,变得越来越实用,愈发的受到人们的欢迎。智能密码锁的种类繁多,例如数码锁、指纹锁、磁卡锁、ic卡锁、生物锁、遥控式电子密码锁、卡片式密码锁等。当代社会,由于生物特征技术发展迅速,除了一些近期难以被克服的体积、价格、材料等方面的缺点外,生物特征防盗锁在应用方面的前景被人们普遍看好。这是因为人体生物特征例如指纹、虹膜、dna等一些含有字符、图形图像和时间等电子生物信息要素均可成为唯一的开锁钥匙,通过对这些辨识度高、特征性强的信息的自由组合,能够大幅度提高电子防盗锁保密特性。同时,对特征信息的组合使用也能够更多方面的扩展电子防盗的方法,使功能更加丰富。21世纪初,接触式卡的技术成熟、价格低廉,应用也较为广泛;不过非接触式卡使用更加隐蔽、方便,大有后来居上之势。它不仅可以作为钥匙,还包含多项个人的信息特征,可以用于入门、开锁、存储、付费等,这种一卡多用的方法给持卡人带来了便利,它特别适合金融业注重“验明正身”的行业特点,而且储存信息量大是此种智能锁的优势。不过同时存在一些缺点,使用这类防盗锁,需要谨慎的保管卡,尤其当遗失卡时为了防止信息的泄露与经济的损失,须尽快取消对该卡的授权。在技术层面上,我国密码锁整体水平尚处于国际上70年代左右,高端智能密码锁的成本还很高,市场上仍以按键电子锁为主。不过在生物特征防盗锁和卡片钥匙式电子锁方面,已引进国际先进生产水平。由于高端密码锁商业市场结构尚未形成,技术还不成熟,国内自行研制开发的多功能电子锁,应用还不广泛。1.2 课题设计目标本设计硬件采用at89c51单片机为主控芯片,lcd1602为显示芯片,以at24c02作为密码存储芯片。同时依靠软件程序编程,组成电子密码锁整体系统,可以实现多种功能:(1)正确输入密码前提下,开锁提示;(2)在输入密码错误的情况下,蜂鸣器会持续报警;如果连续输入错误次数超过三次,锁定键盘;(3)密码可以根据用户需要更改;(4)忘记密码可以进行密码初始化;(5)断电存储功能。第2章 系统方案论证系统从控制方案部分和密码输入方式两方面进行论证,找到最优方案。2.1 主控部分的选择方案一:采用数字电路控制。电路内容包括:键盘输入、密码更改、密码检测、密码校验、开锁电路、执行电路、报警电路、断电检测、充电电路、键盘输入次数锁定电路。共设9个用户按键,其中4个有效按键,剩余4个为干扰按键。若按下干扰按键,输入密码无效。密码锁的核心控制用74ls112双jk触发器组成数字逻辑电路,用jk触发器储存用户提前设定的密码,通过与输入的密码进行比较,从而判断输入与原始密码是否相同,进而判断是否开锁。对于数字电路设计方案的密码锁,好处就是设计简单,不过缺点也很明显,对系统控制的准确性和操作的灵活性差。 方案二:单片机作为控制核心的方案。采用单片机作为密码锁的核心硬件,从而进行对系统的控制与处理。单片机是一种集成电路芯片,采用的是超大规模集成电路技术。具体是在一块硅片上集成具有数据处理能力的中央处理器cpu、只读存储器rom、随机存储器ram、多种i/o口和定时器/计数器、中断系统等功能(可能还包括显示驱动电路、键盘输入电路、脉宽调制电路、模拟多路转换器、d/a转换器、a/d转换器等)。这样就可以构成一个体积虽小,但是性能完善的微型计算机系统,在工业控制领域广泛应用。单片机从问世以来,经过不断的发展,越来越多的优点体现了出来,如体积小、功耗低、价格低廉、可扩展性强、控制功能强、环境适应能力好、使用方便等。利用单片机可以构成形式丰富、功能强大的控制系统、通信系统、测控系统、数据采集系统、信号检测系统、无线远程操控系统、机器人等应用控制系统。例如蔬菜大棚的温湿度采集系统、智能机器人、工厂流水线的智能化管理、波形信号发生器、电梯智能化控制以及各种报警系统,或与计算机联网构成二级控制系统等。通过使用单片机来制作智能密码锁,可以利用它具有i/o端口功能丰富、运算处理速度快、编程容易和控制精准等优点,同时利用单片机内部的随机存储器(ram)和只读存储器(rom),通过外接液晶显示(lcd)用于显示密码以及操作提示,使用矩阵键盘来输入密码,同时外接at24c04芯片用于存储密码。这种设计功能实用,同时扩展性强、操作简便、系统灵活。基本上可以实现设计所要求的指标。通过对比与考虑,本系统采用方案二进行设计。2.2 密码输入方式的选择方案一:指纹输入识别。指纹识别技术的核心思想是把人和他的指纹一一对应,由于指纹具有唯一性,检测也非常方便,因此这种技术发展前景良好。具方法体是通过与预留指纹的比较,就可以验证进行指纹识别的人的真实身份信息。每个人的皮肤纹路,例如指纹,在图案、纹数、核心点和三角点这些细节上具有不同的特征。指纹识别技术主要涉及四个功能:读取指纹图像、提取特征、保存数据和比对特征。读取人体指纹特征的图像是通过指纹读取设备进行的,紧接着要对读取到的原始图像进行初期的处理,为的是让图像更加清晰,然后再通过指纹辨识软件搜集指纹的特征进行数据化操作。软件可以从指纹纹路的分叉、终止或打圈处的坐标位置上找到被称为“节点”(minutiae)的数据点,这些点特征的唯一性很强,可以同时具有七种以上的唯一性特征。一般来说,每个人手指上平均具有70个节点,这样的话通过使用这种方法大约会产生490个数据。这些数据,通常被称为模板。通过使用计算机将这些模版进行比较比,可以计算出它们的相似程度,最终得到两个指纹的比较结果,从它们的匹配程度可以判断输入结果的正确与否。考虑到本方案软硬件过于复杂,同时成本较高,故不采用。方案二:矩阵键盘输入识别。由于密码锁是依靠键盘输入密码,同时有确认与取消等其他键位。这样的话,键盘中按键数量就会较多,为了方便操作,必须减少i/o口的占用,通常用将按键排列成矩阵形式来解决这个问题。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。在由按键组成的矩阵键盘上,每条行线和列线都相对应i/o口线。键位设在行线和列线的交叉点,因此当有键位按下时,就会有一条行线与一条列线相接触,这时通过确定接触的两条线的位置,即两个i/o口线的位置,就可以对触动的键位进行定位。这样,通过设计就可以构成4*4=16个按键,比着直接将端口线用于键盘的方法多出了一倍的按键。而且线数越多,差距愈明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键。另外,每个按键都可通过程序赋予不同的功能,从而完成密码识别。比较来看,方案二简单易行、成本不高,故采用此方案。第3章 系统总体设计和主要芯片介绍系统主要芯片有at89c51,at24c02 ,lcd1602等。3.1 系统总体设计本设计主要由单片机at89c51、矩阵键盘、密码存储芯片at24c02和液晶显示器lcd1602等部分构成。其中矩阵键盘用于输入密码和进行功能的实现。用户通过连接单片机的矩阵键盘输入密码,然后单片机对用户通过键盘输入的密码与保存在at24c02芯片中的密码进行对比,从而判断密码是否正确,然后将引脚的高低电平传到开锁电路或者报警电路,从而选择控制开锁还是报警。在实际使用时只需要将单片机的负载由继电器换成控制密码锁开关的电磁铁吸合线圈即可。系统整体框图如图3-1所示:显示电路电源电路中央控制芯片at24c02密码保护报警电路at89c51键盘输入电路图3-1 系统结构框图各模块功能如下:(1)矩阵键盘输入模块:分为从“0”“9”共10个密码输入按键与几个功能按键,用于完成密码的输入与修改功能;(2)显示模块:用于完成对输入密码正确与否状态显示及操作提示功能;(3)报警电路:用于完成输错密码时候的报警功能; (4)密码存储模块:可以使修改过的密码断电后仍能保存在芯片中;(5)电源模块:用于对系统电路提供+5v的直流电压。3.2 主要芯片介绍3.2.1 at89c51 at89c51是在半导体硅片上集成微处理器,存储器与各种i/o接口的单片机。单片机上的可擦除只读存储器可以反复擦除1000次。并且该器件采用atmel高密度非易失存储器制造技术制造,抗干扰能力强。由于将多功能8位cpu和闪速存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,功能齐全,简单方便。at89c51单片机提供了一种灵活性高且价廉的方案,许多嵌入式控制系统青睐于这种多功能的芯片。它的外形及引脚排列如图3-2所示:图3-2 at89c51芯片主要特性:(1)与mcs-51 可以兼容;(2)可编程flash存储器(4k字节);(3)寿命:1000次写/擦循环;(4)数据保留时间长,可达10年;(5)全静态工作:最高24mhz;(6)三级程序存储器锁定;(7)1288位内部ram;(8)32可编程i/o线;(9)两个16位定时器/计数器;(10)5个中断源;(11)可编程串行通道;(12)片内有振荡器和时钟电路。特性概述:at89c51 不仅可以为使用者提供以上标准功能,同时可支持两种软件可选的节电工作模式。空闲方式停止cpu的工作,但允许ram,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存ram中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。管脚说明:(1)i/o引脚p0口:p0口是一个8位漏级开路的双向i/o口,每脚可驱动8个ls型ttl负载。当p0口的管脚第一次写1时,被定义为高阻输入。当89c51扩展外部存储器及i/o接口芯片时,p0口作为地址总线(低八位)及数据总线的分时复用端口。在flash编程时,p0 口作为原码输入口,当flash进行校验时,p0输出原码,此时p0外部必须接上拉电阻,此时为准双向口。p1口:p1口是一个内部提供上拉电阻的8位准双向i/o口。同时它可驱动4个ls型tll负载。 p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流。在flash编程和校验时,p1口作为低八位地址接收。p2口:八位,准双向i/o口,具有内部上拉电阻。p2口缓冲器可接收,输出4个ttl门电流。当作为普通的i/o输入时,应先向端口的输出锁存器写入1。因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。p3口:p3口是8位,同时带有内部上拉电阻的准双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill),这是由于上拉的缘故。p3口也可为at89c51提供第二功能,如表3-1所示:表3-1 p3口的第二功能引脚第二功能说明p3.0rxd串行数据输入口p3.1txd串行数据输出口p3.2/int0外部中断0输入p3.3/int1外部中断1输入p3.4t0定时器0外部计数输入p3.5t1定时器1外部计数输入p3.6/wr外部数据存储器写选通输入p3.7/rd外部数据存储器写选通输入p3口同时为闪烁编程和编程校验接收一些控制信号。(2)电源电源引脚接入单片机的工作电源;vcc 接+5v电源;vss 接地 。(3)时钟引脚xtal1:是用来做为片内振荡器反相放大器和时钟发生器电路的输入端。当使用片内振荡器时,该引脚连接外部石英晶体和微调电容。当采用外接时钟源时,引脚xtal1接收外部时钟振荡器的信号。xtal2:作为片内振荡器反相放大器的输出端。当采用外接时钟源时, xtal2引脚悬空。当使用片内振荡器时,该引脚连接外部石英晶体和微调电容。(4)控制引脚该类引脚不仅可以提供控制信号,有的引脚还具有复用功能。rst:作为复位信号的输入端,高电平时有效。当对单片机进行复位操作时,要保持rst脚大于两个机器周期的高电平时间。ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低8位字节。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为时钟振荡器频率fosc的1/6。因此它可用作对外部输出的脉冲或定时信号使用。然而要注意的是:每当用作访问外部数据存储器时,将跳过一个ale脉冲。因此严格来说,它不适宜用作准确的时钟源或定时信号。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。/prog为该引脚的第二功能,在对片内flash编程期间,此引脚用于输入编程脉冲。/psen:外部程序存储器的选通信号。在单片机读取外部程序存储器期间,此引脚输出脉冲的负跳沿作为读外部程序存储器的选通信号。但在访问外部数据存储器时,/psen信号将不出现。/ea/vpp:/ea为外部程序存储器访问允许控制端。当/ea保持低电平时,则在此期间对程序存储器的读操作只限定在外部程序存储器,地址为0000h-ffffh,不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,单片机读片内程序存储器,但在pc值超过0fffh时,将自动转向访问外部程序存储器中的程序。vpp为该引脚的第二功能,为变成电压输入端。在对片内flash固化编程时,对于89c51引脚加载的编程电压为+5v或+12v。3.2.2 存储芯片at24c02 具有i2c串行总线接口eeprom有多个厂家生产的多种类型的产品。其中,at24c02是美国atmel公司生产的低功耗cmos型eeprom,内含2568位存储空间,具有工作电压宽(2.55.5 v)、擦写次数多(大于10000次)、写入速度快(小于10 ms)、抗干扰能力强、数据可保存100年、体积小等特点。而且它是采用了i2c总线式进行数据读写的串行器件,具有写保护、可靠性高、功耗低等特点,同时占用很少的资源和i/o线,并且支持在线编程,具有一个16b的页写缓冲器,进行数据实时的存取十分方便。i2c(interintegrated circuit)总线是由philips公司推出的一种两线式串行总线。它是目前使用较为广泛的芯片间串行扩展总线。它用于连接微控制器及其外围设备,可以通过两条连线实现全双工同步数据传送。它是微电子通信控制领域广泛采用的一种总线标准,同时也是同步通信的一种特殊形式。它可以使具有i2c总线的单片机直接与具有i2c总线接口的各种扩展器件连接。它具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。at24c02操作时有两种寻址方式,芯片寻址和片内子地址寻址。at24c02中带有的片内地址寄存器,每写入或读出一个数据字节后,该地址寄存器自动加1,从而可以实现对下一个存储单元的读写,并且所有字节均以单一操作方式读取。一次操作可写入多达8个字节的数据,这样的话可以降低总的写入时间。它依靠sda(串行数据线)及scl(串行时钟线)两根线在连到总线上的器件之间进行信息的传输,并通过地址识别每个器件。at24c02正是运用了i2c规程,使用主/从机双向通信,主机(通常为单片机)和从机(at24c02)均可在接收器和发送器状态进行。主机产生串行时钟信号(通过 scl引脚)的同时,会发出控制字,用来控制总线的传送方向,并产生开始和停止的条件。无论是主机还是从机,接收到一个字节后必须发出一个确认信号ack。at24c02的控制字由8位二进制数构成。管脚描述:scl 为串行时钟管脚:用于产生器件所有数据发送或接收的时钟,这是一个输入管脚。sdl 为串行数据/地址管脚:用于器件所有数据的发送或接收sdl,是一个开漏输出管脚。此管脚可与其它开漏输出或集电极开路输出进行线或。a0、a1、a2 为器件地址输入端:当使用at24c02 时,最大可级联8个器件。如果只有一个24c02被总线寻址,这三个地址输入脚a0、a1、a2可悬空或连接到vss。wp为写保护:如果wp 管脚连接到vcc, 所有的内容都被写保护只能读。当wp,管脚连接到vss 或悬空,允许器件进行正常的读/写操作。管脚图如图3-2所示:图3-2 at24c02引脚3.2.3 显示电路(lcd1602)lcd(liquid crystal display)是液晶显示器的缩写,它是一种被动式的显示器,即液晶本身并不发光,而是利用液晶经过处理后能改变光线通过方向的特点,从而达到白底黑字或黑底白字显示的目的。lcd 的构造是在两片平行的玻璃基板当中放置液晶盒,下基板玻璃上设置薄膜晶体管,上基板玻璃上设置彩色滤光片,通过tft上的信号与电压改变来控制液晶分子的转动方向,从而达到控制每个像素点偏振光出射与否而达到显示目的。液晶显示器具有很多优点,低压微功耗、外观小巧精致 、被动显示型(无眩光、不刺激人眼、不会引起眼睛疲劳)、显示信息量大、易于彩色化(在色谱上可以非常准确的复现)、无电磁辐射(对人体安全、利于信息保密)、长寿命、抗干扰性能强,因而在仪器仪表和控制系统中应用非常广泛。所谓的lcd1602即是16字符*2行的字符型lcd显示器,它由32个字符点阵块组成,每个字符点阵块由57或511个点阵组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。可以显示ascii码表中的所有可视的字符。它内置了字符产生器rom(cgrom)、字符产生器ram(cgram)和显示数据ram(ddram)。cgrom中内置了192个常用字符的字模,cgram包含8个字节的ram,用来存放用户自定义的字符,ddram就是用来寄存待显示的字符代码。1602引脚及其具体功能如表3-2:表3-2 1602引脚及功能编号符号引脚说明编号符号引脚说明1vss电源地9d2data i/o2vdd电源正极10d3data i/o3vee液晶显示偏压信号11d4data i/o4rs数据/命令选择端(h/l)12d5data i/o5r/w读/写选择端(h/l)13d6data i/o6e使能信号14d7data i/o7d0data i/o15bla背光源正极8d1data i/o16blk背光源负极控制器内部设有一个数据地址指针,用户可通过它们来访问内部的全部80字节ram。数据指针设置如表3-3所示表3-3 数据指针设置指令码功能80h+地址吗(0-27h,40-67h)设置数据地址指针第4章 系统硬件构成 4.1 系统整体电路图 本密码锁系统硬件电路是由at89c51单片机、lcd1602液晶显示、存储器at24c02、矩阵键盘电路以及控制报警电路5个模块组成的。其整体电路图如下图4-1所示:图4-1 整体电路4.2 单片机最小系统原理图由at89c51,电源,复位电路,时钟产生电路组成。电源由+5v的直流提供。图4-2 单片机最小系统原理4.3 复位电路单片机在启动时都需要复位,以使cpu及系统各部件处于确定的初始状态,并从初态开始工作。只需给at89c51的复位引脚rst加上大于2个机器周期(即24个时钟振荡周期)的高电平就可使at89c51复位。复位时,pc初始化为0000h,为的是使at89c51单片机从0000h单元开始执行程序。不仅在正常启动时需要复位,当程序运行出错或操作错误是系统处于死锁状态时,也需按复位键使rst脚为高电平,使单片机摆脱“程序走飞”或“死机”状态而重新启动。除pc之外,复位操作还对其他一些寄存器有影响。复位时,sp=07h,而4个i/o口p0p3的引脚均为高电平。在某些控制应用中,要注意考虑p0p3引脚的高电平对接在这些引脚上的外部电路的影响。另外,在复位有效期间,单片机的ale引脚和/psen引脚均为高电平,且内部ram的状态不受复位影响。at89c51的复位是由外部的复位电路实现的。89c51片内复位电路的结构见图4-3。复位电路rst引脚片内复位电 阻施密特触发器图4-3 复位电路结构单片机的复位引脚rst通过一个施密特触发器与复位电路相连,施密特触发器的作用是用来抑制噪声。复位电路在每个机器周期的s5p2采集一次施密特触发器的输出电平,然后得到的信号是内部复位操作所需要的。复位电路的复位方式有上电自动复位和按钮复位两种方式。另外,按钮复位有电平和脉冲两种复位方式。本设计采用按键电平复位。电平复位是通过rst端口经电阻与电源vcc接通来实现的,按键电平复位电路见图4-4。图 4-4 按键电平复位电路4.4 时钟电路时钟电路是用于产生单片机工作时所必需的时钟控制信号的电路。时钟电路一般由晶体振荡器、晶振控制芯片和电容组成。在时钟信号控制下,at89c51单片机的内部电路严格地按时序执行指令进行工作,而指令执行中各个信号在时间上的关系就是由时序所体现的。在执行指令时,在程序存储器中cpu首先取出需要执行的指令操作码,然后进行译码,并由时序电路产生一系列控制信号完成指令所给定的操作。at89c51单片机各功能部件的运行都以时钟控制信号为基准,有序的进行地工作。因此,时钟频率能够对单片机的速度造成很重要的影响,时钟电路的质量也会直接影响到单片机系统的运行时的稳定性。一般来说,钟电路设计分两种方式,一种是内部时钟方式,另一种是外部时钟方式。本设计使用内部时钟方式如图4-5:图4-5 内部时钟电路89c51内部有一个用于构成振荡器的高增益反相放大器,它的输入端为芯片引脚xtal1,输出端为引脚xtal2。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器。电路中电容c1、c2的大小会对振荡器频率的高低,振荡器的稳定性和起振的快速性有所影响。晶体振荡频率的范围一般在1.212mhz。晶体的频率越高,系统的时钟频率越高,单片机的运行速度也就越快。但反过来,运行速度快对存储器的速度要求就高,对印制电路板的工艺要求也高,即要求线间的寄生电容要小。4.5 键盘输入部分由于本设计所用到的按键具有多种功能,数量较多,不适合用独立按键式键盘,采用的是矩阵式按键键盘。矩阵式键盘也成行列式键盘,它由行线和列线组成,按键位于行、列的交叉点上。本设计中使用的这个4*4键盘可以构成一个16个按键的键盘。它不但能完成密码的输入,还能作特别功能键使用,例如清空显示功能,更改密码等。键盘的每个按键功能在程序设计中设计。键盘及与单片机引脚接法如图4-6所示:图4-6 键盘输入原理4.6 密码存储部分 用eerom芯片at24c02存储密码。eeprom使用电信号编程,同时是用电信号擦除的rom芯片。对eeprom的读写操作与ram存储器的操作几乎没有什么差别,不过写入的速度慢一些,但断电后仍能保存信息。at24c02存储容量为2kb,操作时有两种不同的寻址方式:芯片寻址和片内子地址寻址。芯片寻址方式:at24c02的芯片地址为1010,地址控制字格式1010a2a1a0r/w。其中a2,a1,a0为可编程地址选择位。a2,a1,a0的引脚接高、低电平后得到确定的三位编码,与1010形成7位编码,即为该器件的地址码。r/w为该芯片读写控制位,该位为0,表示芯片进行写操作。片内子地址寻址方式:芯片寻址可对内部256b中任一个进行读/写操作,其寻址范围为00ff,一共256个寻址单位。其接线如图4-7所示:图4-7 密码存储电路原理4.7 显示部分为了使密码锁的密码显示效果更加人性化,便于操作,本设计的显示部分由液晶显屏lcd1602取代普通的八段数码管来完成。系统开机后,显示器一直处于初始状态,等待密码的输入。当对密码锁进行开锁操作时,按下键盘上的数字键“0”“9”来进行密码的输入。每按下一个数字键后,会在显示器上显示一个“*”字符,这是为了保护密码,输入多少位就会显示多少个“*”。当密码输入完成以后,接着按下确认键。如果输入的密码正确,lcd会显示“true”,否则,lcd显示屏会显示“error”来表示密码输入有误。此时,p2.0口输出的是低电平,电子密码锁不能被打开。通过lcd显示屏,可以清楚的判断出锁所处的状态 。其显示部分引脚接口如图4-8所示:图4-8 显示电路原理4.8 报警部分报警部分由喇叭电路组成,当有键按下时,每按一下,喇叭响一次,当密码输入错误时,单片机的p2.1引脚为低电平,喇叭发出噪鸣声报警。如图4-9所示:图4-9 报警电路原理第5章 软件的设计与实现软件是整个控制系统的核心部分,它具有很强的灵活性,可以根据不同的系统需求进行更改。在硬件结构一定的情况下,通过改变编程就能实现不同的功能。智能密码锁所具有的功能主要由软件来完成。5.1 软件系统的总体设计系统上电后会首先完成系统的初始化工作,然后根据事先设定好的进行执行程序。在本系统中,软件结构采用模块化设计方法,主要包括密码锁主程序、初始化程序、键功能程序、键盘扫描程序、密码比较模块、密码修改模块、掉电存储模块、lcd显示程序、密码对开锁、密码错误报警等。5.2 主程序流程图主程序对模块进行初始化,而后调用密码输入子程序、密码比较子程序、判断密码是否输入正确。具体流程:插上电源后,系统自动调入初始密码,然后进行键盘检测。若发现有按键按下,将输入的密码与初始密码进行比较。(1)如果输入密码正确,显示屏显示“true”开锁。开锁后,可以通过按下取消键关闭开锁状态,进入系统初始化状态;或者可以通过再次输入正确的密码,按下修改键,进入密码修改程序。(2)如果输入密码与初始化密码不同,检测它是否与“1”、“3”、“1”、“4”、“2”、“0”相同,若相同,则强制将初始密码写入at24c02存储。(3)如果输入密码与以上都不同,则输入错误,显示“error”,同时蜂鸣器响三秒,报警。如果连续错误输入三次,蜂鸣器持续报警,键盘进入锁定状态,可以按下复位键进入系统初始化状态。主程序流程图如图5-1所示:开始错误次数=3次,手动复位初始化 错误次数2键盘扫描 出错报警 返回初始化,与初始密码相比相同?n与131420相比相同?开锁 n yy输入旧密码强制密码初始化 n原密码相同? 修改密码 返回初始化y n出错报警n图5-1 系统主程序流程5.3 键功能程序流程图系统初始化后进行键盘扫描,若有按键按下,判断按键类型。键功能流程如图5-2所示:键功能程序 y密码输入程序 键值=09? ny 确认开锁程序 键值=确认? ny 取消当前操作程序 键值=取消? ny修改密码程序 键值=修改? n进入对应流程图5-2 键功能流程图第六章 结论本设计从经济实用的角度出发,采用美国atmel公司的单片机at89c51与低功耗cmos型eeprom at24c02作为主控芯片与数据存储器单元,结合外围的矩阵键盘输入、lcd1602液晶显示屏显示、报警等电路并用c语言编写主控芯片的控制程序,研制了一款可以多次更改密码同时兼具报警功能的智能密码锁。设计完全可行并且可以达到设计要求。该电路设计还具有按键有效提示,输入错误提示,控制开锁电平,控制报警电路,修改密码等多种功能。本设计安全性强,灵活性高,价格经济,特别适用于办公室、私人住所及酒店等场所。智能锁取代机械锁是一个必然的趋势,因为智能锁有强大的技术优势与安全保障,我相信,智能密码锁会让更多的人更放心地在更多的场合使用,也会让我们的未来更加安全。68参考文献1 张毅刚,彭喜元.单片机原理与应用设计m.北京:电子工业出版社,2012.2 童诗白,华成英,模拟电子技术基础m.北京:高等教育出版社,2000.3 阎石主著.数字电子技术基础m.北京:高等教育出版社,2003.4 张云,周明辉,周海林,等.基于at89s51的多功能电子密码锁设计j.电子设计工程,2010, 18(6):23-25.5 陈丹萍.基于at89s51单片机的电子密码锁设计j.大众科技,2010(6):45-46.6 田晓翠,李林英.基于单片机at89c51电子密码锁的设计j.无线互联科技,2013(10):94.7 余锡存.单片机原理及接口技术m.西安:西安电子科技大学出版社,2000.8 李全利.单片机原理及接口技术m.北京:北京航空航天大学出版社,2004.9 薛均义,张彦斌.mcs-51系列单片微型计算机及其应用m.西安:西安交通大学出版社, 2005.10 徐爱钧,彭秀华.单片机高级语言c51应用程序设计m.北京:北京航空航天大学出版社, 2006.11 郭天祥.51单片机c语言教程入门、提高、开发、拓展全攻略m.北京:电子工业出版社,2009.12 周向红.51系列单片机应用与实践教程 m.北京:北京航天航空大学出版社,2008.13 李学海.经典80c51单片机轻松入门与上手m.北京:清华大学出版社,2009.14 周润景,张丽娜.基于proteus的电路及单片机系统设计与仿真m.北京:北京航天航空出版社,2006.15 陈爱钧,彭秀华.keil cx51 v7.0单片机高级语言编程与vision2应用实践m.北京:电子工业出版社,2004.16 于永,戴佳,刘波.51单片机c语言常用模块与综合系统设计实例精讲m.北京:电子工业出版社,2008.17 王东峰,王会良,董冠强.单片机c语言应用100例m.北京:电子工业出版社,2009.致 谢经过几个月的忙碌和工作,毕业设计已经接近完成。由于本人经验的匮乏,在进行设计时,有许多考虑不完善的地方,如果没有导师的悉心指导,以及一起工作的同学们的支持,想要完成这个设计是非常困难的。经过这次的毕业设计,我在处理方案上得到了许多启发,极大的提高了自己的动手能力。四年的大学生活马上就要结束了,在这段难忘的光阴中,我有许多美好的回忆。非常感谢我的大学,它不仅教会我更多的知识,同时也教会我做人的道理,让我从一个稚嫩的高中生变成一个成熟的青年。同时,毕业设计完成之际,我由衷地感谢陈俊峰老师对我的帮助和指导,感谢寝室的兄弟们,在我遇到各种各样复杂问题的时候,给予我鼓励和帮助,使我的分析问题和解决问题能力有了很大的提高。同时,感谢通信工程学院的所有老师在四年里对我的悉心教导,是你们的付出,让我自己有了更高的提升。最后,感谢在大学期间认识我和我认识的所有人,有你们的伴随,才有我大学生活的丰富多彩。谢谢!附 录附件1:英文原文及中文翻译英文原文the design of infrared remote control electronic code locktianxing meng, lanlan yuschool of electric and electronic engineeringshandong university of technologyschool of electric and electronic engineering, shandong university of technology, 255049zibo, cabstract: the lock used a microcontroller as the core of the control. it was consist of two major components: the infrared remote control launching system and the infrared remote control receiver system, including a microcomputer control and display, many other m

温馨提示

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

评论

0/150

提交评论