多功能电子密码锁设计实现_第1页
多功能电子密码锁设计实现_第2页
多功能电子密码锁设计实现_第3页
多功能电子密码锁设计实现_第4页
多功能电子密码锁设计实现_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、目录摘要4Abstract5第一章 引言61.1 选题的背景和意义61.2 密码锁概述61.2.1 国内密码锁市场现状和发展前景展望61.2.2 密码锁系统的设计流程81.3 论文的主要内容和结构安排82.1 三种不同设计方案的比较102.2 系统硬件电路的设计112.2.1 主控芯片的选择122.2.2 密码存储ROM的选择122.2.3 lcd液晶显示选择132.3 系统软件设计142.4 本章小结15第三章 硬件电路设计163.1 单片机最小系统的设计163.1.1 单片机的最小系统设计163.1.2 单片机电源设计163.1.3复位电路设计163.2 单片机的外围电路设计173.2.1

2、 矩阵键盘模块173.2.2 LCD液晶显示模块183.2.3 掉电存储模块193.2.4 报警延时模块193.3 本章总结19第四章 系统软件设计214.1 C语言概述214.2 多功能密码锁的软件设计214.2.1 矩阵键盘输入模块214.2.2 lcd液晶显示模块234.2.3 单片机与存储器的读写模块244.2.4 报警延时模块274.3 本章小结28第五章 多功能密码锁的测试29第六章 总结与展望30附录33多功能电子密码锁设计实现摘要随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,锁自古以来就是把守护门的铁将军,人

3、们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。数字电子技术已经进入人们生活的各个领域,数字电子技术在安全领域也占据着越来越重要的位置。单片机技术的应用及其性能不断完善,性能价格比显著提高,技术日趋完善。单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等各个领域均得到了广泛的应用。显然单片机在安全防护领域具有很大的市场发展前景。本系统由51单片机系统、矩阵键盘、LED显示和报警系统组成。系统能完成密码输入、开锁、超次报警的功能。除上述基本的密码锁功能外,还具有掉电存储、声光提示等功能,依据实际的情况还

4、可以添加其他功能。本系统成本低廉,硬件容易获得,功能实用。关键词:密码锁;51单片机;掉电储存。Multi function electronic password lock implementation designAbstractWith theimprovingof peoples living standard and safety consciousness, safety requirements are also getting higher and higher. The traditional mechanical lock because of its simple str

5、ucture, prizing the lock event it is often seen. Since ancient times is the guardian of the door lock, people require much of it, the anti-theft is safe and reliable, and easy to use, this is the lock have long development theme. The field of digital electronic technology has entered peoples life, d

6、igital electronic technology has occupied an increasingly important position in the field of security. Application and performance of SCM technology improvement. Single chip microcomputer has the advantages of small volume, light weight, cheap, low power consumption, strong control function and the

7、operating speed is quick and so on, so in the construction of national economy, military and household appliances and other fields has been widely used. Obviously, SCM has market great prospect in the field of safety protection.This system is composed of 51 SCM system, matrix keyboard, LED display a

8、nd alarm system. The system can complete the password input, the lock, the alarm function. In addition to the above basic password input, the lock, the alarm function. In addition to the above basic password lock function, but also has the electricity storage, acousto-optic prompt functions, based o

9、n the actual situation can also add other functions. This system has the advantages of low cost , easy to access hardware, functional and practical.Keywords:password lock;51 single chippower downstorage.第一章 引言1.1 选题的背景和意义随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,锁自古以来就是把守护门的铁将军,人们对它要

10、求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高锁的安全性。由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,如今已经被越来越多的人所欣赏,并且已广泛应用于生活生产当中。1.2 密码锁概述密码锁是锁的一种,开启时用的是一系列的数字或

11、符号。密码锁的密码通常都只是排列而非真正的组合。部分密码锁只使用一个转盘,把锁内的数个碟片或凸轮转动;亦有些密码锁是转动一组数个刻有数字的拨轮圈,直接带动锁内部的机械。而电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类繁多,有非常简易的电子产品,也有基于芯片的性价比较高的产品。应用较广的电子密码锁是以芯片为核心,通过编程来实现的。1.2.1 国内密码锁市场现状和发展前景展望随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,锁自古以来就是把守护门的铁将军,人们对它要

12、求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高锁的安全性。由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,如今已经被越来越多的人所欣赏,并且已广泛应用于生活生产当中。 而当今社会由于计算机的迅猛发展,数字电子技术已经进入人们生活

13、的各个领域,在国内外,电子产品的更新可谓如雨后的春笋层出不群,更多的电子产品也越来越多的应用于安全防范领域。有需求就必有发展,不同种类的锁也应运而生,有密码锁、磁性锁、电子锁、激光锁、声控锁等等,它们的实现在传统钥匙的基础上加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像(如指纹、眼底视网膜等)来控制锁的开启。相比电子密码锁,其他智能锁的特点是针对特定指纹或有效卡,只能适用于保密要求高且仅供个别人使用的箱、柜、房间等。另外,卡片式的易丢失,加上其成本一般较高,在一定程度上限制了这类产品的普及和推广。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生密

14、码锁具有安全性高、成本低、功耗低、易操作等优点。电子密码防盗锁用密码代替钥匙,不但省去了佩戴钥匙的烦恼,也从根本上解决了普通门锁保密性差的缺点。电子密码锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。其特点如下:1) 保密性好,编码量多。随机开锁成功率几乎为零。2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也

15、可以避免因人员的更替而使锁的密级下降。3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。4) 无活动零件,不会磨损,寿命长。5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。6) 电子密码锁操作简单易行,一学即会。随着电子元件的进一步发展,电子密码锁也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了真正的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人们对保密性需求的提高出现了越来越多的电子密码锁。电子密码锁发展趋势电子密码锁应用于金融业,其根本的作用是“授权”,即被“授权”的人才可以

16、存取钱、物。广义上讲,金融业的“授权”主要包括以下三种层次的内容:1、授予保管权,如使用保管箱、保险箱和保险柜;2、授予出入权,如出入金库、运钞车和保管室;3、授予流通权,如自动存取款。目前,金融行业电子密码锁的应用主要集中在前两个层面上。下面将介绍几种在金融行业中使用较多的电子密码锁以及它们的技术发展方向。当然,以上所说的授权技术再高超,都必须由精良的“锁具”担当承载结构部件,实现开启、闭锁的功能,而且承担实体防护作用,抵抗住或尽量延迟破坏行为,让电子密码锁“软、硬不吃”。一般情况下,锁具防盗的关键是锁身外壳、闭锁的部件的强度、锁止型式、配合间隙和布局。提高电子密码锁之防护能力的必然途径是报

17、警,在金融业的许多场所有人值守、有电视监控,具有报警功能,可以综合物理防范和人力防范两种作用。报警的前提是具备探测功能,根据电子密码锁的使用场所和防护要求,可选择多种多样的探测手段。在中国的城市金融业中,实现联网报警已经成为对各金融网点的基本要求。根据国内外的实践经验,金融业实行安全防范风险等级很有必要,即依据使用的防盗报警器材的性能、安装布局和人员值守状况等,可以评估被防护物或区域的防护能力,得出风险等级,其中,电子密码锁的性能至关重要。由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子密码锁获得高度的保密性,如防范森严的金库,需要使用复合信

18、息密码的电子密码锁,这样对盗贼而言是“道高一尺、魔高一丈”。组合使用信息也能够使电子密码锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。 1.2.2 密码锁系统的设计流程本密码锁设计遵循方法合理、简单易行、成本低、符合住宅、办公室用锁要求,要求具有一定的市场推广价值。具体方式如下:(1)系统设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。(2)密码由用户自己设定,在开锁状态下,用户可自行修改密码。(3)具有自动报警功能。自动报警分现场报警和远程报警两种。现场报警由扬声器发出报警声。(4)两种情况下可报警:一是密码输入错误3次,则报警;二是非正常开门,如破门而入的

19、情况,可通过系统的红外监视装置监测,同时报警,保证了系统的安全性。系统工作时,用户通过按键输入6位密码,单片机将输入密码与设定密码进行比较,若密码正确,则发出开锁信号,将门打开,系统不报警;若密码不正确,则有相应的指示灯闪动,并要求重新输入密码,重新输入密码的次数不能超过3次,若3次输入的密码都不正确,则发出报警信号。1.3 论文的主要内容和结构安排本论文基于电子密码锁和单片机技术的发展,查阅了大量的资料文献,对传统密码锁和智能多功能密码锁的优势进行了分析比较,在深入研究电子密码锁的功能特点及密码的储存技术上提出了的基于单片机的总控制系统方案,并设计系统的硬件和软件,本论文的主要内容安排如下:

20、第一章,介绍了本设计的背景与意义,并且分析了当前电子密码锁技术的发展,及未来的发展趋势,把单片机技术结合到电子密码锁中的优势。第二章,对不同设计方案进行比较,最后基于自己实际所学设计电子密码锁,并介绍基于单片机控制技术的电子密码锁的总体设计方案。第三章,简单介绍单片机最小系统和密码锁所需要的功能电路,根据设计要求对电子密码锁的功能电路进行了设计。第四章,介绍了系统的软件设计,并根据每个模块的功能提出自己的软件设计思路。第五章,通过实验,对实验的结果进行了简要的分析。第六章,总结论文,分析本设计存在的不足之处,并指出改善的方法,对未来的研究提出设想和展望。第二章 系统总体方案设计2.1 三种不同

21、设计方案的比较方案一:采用数字电路控制。其原理方框图如图1所示。 图1 数字密码锁电路方案 用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。 电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭

22、麻烦。密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。采用数字电路设计的方案好处就是设计简单,但是数字电路控制的准确性较差,灵活性也不够。故最终决定不采用。方案二:输入按扭开关组输入锁存电路密码存储电路开锁控制电路机械动作构件5秒定时电路20秒定时电路声光指示电路图2 数字逻辑控制方案图2中主要是利用开关的断合来进行密码的输出,相关的硬件设计具有很大的偏离性,在最终的电路实现中很具有复杂性。方案三:89S51单片机矩阵键盘控制输入错误锁定键盘延时报警控制电路AT24C02掉电存储开锁控制电路指示电路串口显示电路 图3单片机控制方案本设计是采用单

23、片机技术来控制相关电路的实现,利用矩阵键盘实现密码的输入,AT2402对密码进行掉电存储,并对外围的功能电路进行了扩展,包括报警、指示、显示等电路。单片机技术具有很大的抗干扰性,能够很好的实现密码锁的多功能化。2.2 系统硬件电路的设计由于根据灵活性和准确性方面已经排查了方案一,所以最终方案在二和三之间选择。通过比较这两种方案,方案三有更大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。本方案采用一种是用以89S51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。

24、初步设计思路如下: 输入密码用矩形键盘,包括数字键和功能键。 LED数码管显示输入密码,用74JS247驱动数码管发光显示数码,用74LS138控制各位显示器分时进行显示。 用发光二极管代替开锁的电路,发光表示开锁。 输入密码错误次数超过3次,系统报警。 打开电源后,显示器显示“”,设原始密码为“”,只要输入此密码便了开门。这样可预防停电后再来电时无密码可用。 按“C”键,清除显示器为“”。 欲重新设定密码,先输入密码在案“*”。 输入密码,再按“D”键。若密码与设定密码相同,则开门。否则显示器清为“”。2.2.1 主控芯片的选择本系统采用的是ATML公司AT89C51作为多功能密码锁系统的主

25、控芯片,AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。本设计采用的ATML公司AT89C51的主要特点如下:(1)与MCS-51 兼容;(2)4K字节可编程FLASH存储器;(3)寿命:1000写/擦循环;(4)数据保留时间:10年;(5)全静态工作:0Hz-24MHz;(6)三级程序存储器锁定;(7)1288位内部RAM;(8)32可编程I/O线;(9)两个16位定时器/计数器;()低功耗的闲置和掉电模式;2.2.2 密码存储RO

26、M的选择本系统采用的是一个2K位串行CMOS E2PROM的AT24C02,其内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有一个8字节页写缓冲器。该器件通过IIC总线接口进行操作,有一个专门的写保护功能。其引脚图如图2-2-2所示。图2-2-2 AT24C02的引脚图AT24C02的功能:支持I2C,总线数据传送协议I2C,总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收

27、)的模式,由于A0、A1和A2可以组成000111八种情况,即通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上,通过进行不同的配置进行选择器件。AT24C02的特性:1.数据线上的看门狗定时器2.可编程复位门栏电平3.高数据传送速率为400KHz和1C总线兼容4.2.7V至7V的工作电压5.低功耗CMOS工艺6.16字节页写缓冲区7.片内防误擦除写保护8.高低电平复位信号输出9.100万次擦写周期10.数据保存可达100年11.商业级、工业级和汽车温度范围2.2.3 lcd液晶显示选择本多功能密码锁设计采用的是lcd1602工业型液晶显示器,1602液晶也叫1

28、602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。其引脚图如图3-1-2所示。图3-1-2 lcd1602引脚图其引脚功能如下:第1脚:GND为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS

29、为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。2.3 系统软件设计本设计是基于51单片机的控制系统而实现的多功能密码锁,并实现本地显示、修改、存储等工作。因为系统需要显示、按键输入、I/O口通信等功能模块。这些功能模块可以通过51单片机内部编写C语言程序可以实现。图2-3为本多功能密码锁的内部程序框图。89S51

30、单片机矩阵键盘控制输入错误锁定键盘延时报警控制电路AT24C02掉电存储开锁控制电路显示电路图2-3 单片机内部程序功能框图根据系统硬件电路的设计方案,前端的矩阵键盘控制采用16个键盘的矩阵结构,并对相应的键盘进行数字设置。显示电路采用液晶显示屏,通过I/O口来控制显示。延时报警控制电路采用闹铃来控制,一旦输入三次错误即进行报警处理,并严禁再次密码输入。本文在第四章详细介绍了各个功能模块的软件设计并进行了软件仿真。2.4 本章小结 本章对密码锁的多种设计进行了比较分析,分析了基于51单片机的多功能密码锁系统的设计方案的优越性,在综合考虑实用性、可靠性的基础上提出了基于89C51芯片作为多功能密

31、码锁系统的总体设计方案,介绍了硬件设计方案和软件设计方案。详细的阐述了基于89C51单片机项目的设计流程并对系统相关元器件芯片进行了选型工作。第三章 硬件电路设计3.1 单片机最小系统的设计单片机最小系统是由AT89C51主控芯片、时钟电路、复位电路、烧录口等组成。3.1.1 单片机的最小系统设计本设计采用的晶体时钟电路选择11.0592M的石英晶振,该晶振频率具有很好的实用性,AT89C51型单片机具有很好的抗干扰性,对晶振波形进行滤波处理,使得时钟信号被电源的纹波的干扰减小,从而保证了系统的稳定性,具体电路如图3-1所示。图3-1 AT89C51时钟电路3.1.2 单片机电源设计单片机维持

32、正常工作时的电压为5V,本设计采用78L05作为电源稳压器,在市电整流后的直流电压或蓄电池的5V电压作为单片机的输入电压,并最终输出稳定的5V电压给单片机提供运行电源。具体电路如图3-1-2所示。图3-1-2 单片机的电源电路3.1.3复位电路设计单片机在内部程序运行异常时,需要重新对内部程序进行复位操作,本设计中单片机是采取是手动开关复位的方式,在此方法中需要人为在复位输入端加入高电平,一般是在RST端和正电源VCC之间接一个开关,当闭合开关时,则VCC的+5V电平就会直接加到RST端。具体电路图如图3-1-3。图3-1-3 单片机复位电路设计3.2 单片机的外围电路设计 单片机的外围电路,

33、直接关系的多功能密码锁具体功能的实现,本设计采用模块化的思想,将外围电路分隔成如下几个部分:() 矩阵键盘模块;() LCD液晶显示模块;() 掉电存储模块;() 报警延时模块;() 开锁控制模块。3.2.1 矩阵键盘模块本系统采用44矩阵键盘模式,如图3-1-1所示。图3-3-1 矩阵键盘矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是44个。这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。其扫描方式是采取逐行扫面的形式读取键盘,如先从P1口的高四位输出低电平,低四位输出高电

34、平,从P1口的低四位读取键盘状态。再从P1口的低四位输出低电平,高四位输出高电平,从P1口的高四位读取键盘状态。将两次读取结果组合起来就可以得到当前按键的特征编码。使用上述方法我们得到16个键的特征编码。矩阵中的键盘s1s10表示09十位数字,用作密码的输入码字。键盘s11用表示,其功能为在按下键时密码锁进入开锁模式;键盘s12用表示,其功能为按下键时密码锁进入关闭模式,禁止解锁;键盘s13用表示,其功能为设置新密码;键盘s14用表示其功能是表示保存新设置好的密码;键盘s15用表示,其功能是清除液晶显示密码所有输入;键盘s16用表示,其功能是清除一位输入码字。由于键盘的工作特性,在按键按下或松

35、开时都会存在抖动从而引起电压脉冲的出现影响效果,所以需要对键盘进行防抖动处理。3.2.2 LCD液晶显示模块本设计采用lcd1602液晶显示器作为显示模块。图3-1-2为lcd液晶显示模块原理图。图3-1-2 lcd液晶显示模块电路如图3-1-2所示,lcd1602中的第三脚VL通过调节接地1K变阻器R0的阻值来控制液晶的对比度。RS、RW、EN分别由51单片机的P1.0、P1.1、P1.2来控制。由于51单片机P0口为一个8位漏级开路双向I/O口,内部无上拉电阻,所以在驱动lcd1602液晶时需要外接电阻,本设计采用1K的上拉电阻。 3.2.3 掉电存储模块本设计采用AT24C02 E2PR

36、OM作为多功能密码锁的密码存储器。具体原理图如图3-1-3所示。图3-1-3 掉电存储模块电路AT24C02中的SDA、SCL与51单片机的P3.7、P3.6相连接,对串行地址和串行时钟进行读写。WP引脚接地时能够对AT24C02进行读写操作。由于A0、A1和A2可以组成000111八种情况,即通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上,通过进行不同的配置进行选择器件,本设计中的A0、A1、A2都对地连接。3.2.4 报警延时模块本设计采用闹铃和发光二极管作为报警,当密码输入错误发光二极管亮,当输入密码错误三次后,闹铃开始响,延时的实现可以通过51单片机

37、的内部程序实现。具体实现电路如图3-2-4所示。图3-2-4 报警模块电路3.3 本章总结本章完成了多功能密码锁系统的硬件电路设计,包括单片机最小系统和外围电路设计两个部分。其中最小系统包括时钟、电源、复位电路的设计。单片机的外围电路包括矩阵键盘电路、lcd液晶显示电路、掉电存储电路和报警延时电路。第四章 系统软件设计4.1 C语言概述C语言是一种计算机程序设计语言,它由美国贝尔实验室的Dennis M. Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程

38、序。它既具有高级语言的特点,又具有汇编语言的特点。语言是一种结构式语言,而结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大。C语言在应用中具有很多的优点,主要有以下几点:() 简洁紧凑、灵活方便;() 运算符丰富;() 数据类型丰富;() 表达方式灵活实用;() 允许直接访问物理地址,对硬件

39、进行操作;() 生成目标代码质量高,程序执行效率高;() 可移植性好、表达力强;4.2 多功能密码锁的软件设计多功能密码锁系统软件采用了模块化设计实现,整体软件包括lcd液晶显示模块、矩阵键盘输入模块、单片机与存储器的读写模块、报警延时模块,下面为各个模块的设计方案。4.2.1 矩阵键盘输入模块本模块中采用的是4*4矩阵键盘,键盘扫描模块的流程图如图4-1-1所示。开始IO口赋值延时处理确定列位置延时处理确定位置图4-2-1 键盘输入模块程序流程图流程图分析:首先对I/O口进行低位高电平处理,然后做适当的延时,将I/O口与低4位进行与操作,以确定按键的行位置。再进行延时处理后,将I/O口与高四

40、位进行与操作,以确定按键的列位置,并最终确定按键按下去的具体位置。具体程序如下所示:uchar Keys_Scan()uchar temp,keynum;P1=0x0F;delayms(5);temp=P10x0F;switch(temp)case 1:keynum=0;break;case 2:keynum=1;break;case 4:keynum=2;break;case 8:keynum=3;break;break;P1=0xF0;delayms(5);temp=P140x0F;switch(temp)case 1:keynum+=0;break;case 2:keynum+=4;br

41、eak;case 4:keynum+=8;break;case 8:keynum+=12;break;break;delayms(600); return keynum;4.2.2 lcd液晶显示模块本设计液晶显示模块采用的是lcd1602,显示模块的程序流程图如图A、B所示。图中,首先对lcd1602显示屏进行初始化,指针指向要显示数组的首地址,再对lcd1602的显示行进行写操作,最后需要做清屏处理。图为写程序指令流程图, 首先需要设置RS和R/W的状态,并是能有效,将输入口设置为读入状态,判断屏幕是否正处于工作忙状态,若是在继续等待,否则进行数据写操作,具体参考流程图B。 Alcd初始化

42、 B.写指令程序流程图在lcd液晶的显示中,需要对lcd液晶中字符显示的地址进行操作,具体程序设计如下几个函数模块设计。lcd的初始化程序如下:void init_lcd()lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80); Display_String(table,0x80);Display_String(Lock OK! ,0xc0); lcd的地址写操作如下:void write_com(uchar com)rs=0;rd=0;lcden=0;P2=com;del

43、ayms(3);lcden=1;delayms(3);lcden=0; lcd的数据写操作如下:void write_date(uchar date)rs=1;rd=0;lcden=0;P2=date;delayms(3);lcden=1;delayms(3);lcden=0;4.2.3 单片机与存储器的读写模块在此模块中需要首先对单片机的串行口进行初始化,查看当前的时钟信号,若时钟信号为零则给各节点传送校时命令,否则判断节点上是否有数据上传,若有则将数据存入EEPROM中并将信息发送给管理层,否则将受到管理层的命令进入相应节点操作,最后将前面的步骤进行循环操作。存储器读写模块的流程图如图4-

44、1-3所示。开始89C51初始化给各节点传送校时命令 当前时钟为零 是 否将信息存入EEPROM节点有数据上传 是将信息传给管理层 否操作相应节点收到管理层命令 是 否循环图4-2-3 存储器读写模块流程图存储器读写程序可分为几个模块,具体模块程序如下所示:void init()/初始化sda=1;delay();scl=1;delay();void ack()sda=0;scl=1;delay4us();scl=0;sda=1;void noack()sda=1;scl=1;delay4us();scl=0;sda=0;uchar recbyte()uchar i,rd;rd=0x00;sd

45、a=1;for(i=0;i8;i+)scl=1;rd=1;rd|=sda;delay4us();scl=0;delay4us();scl=0;delay4us();return rd;uchar sendbyte(uchar wd)uchar i;bit ack0;for(i=0;i8;i+)sda=(bit)(wd&0x80);_nop_();_nop_();scl=1;delay4us();scl=0;wd=1;delay4us();sda=1;scl=1;delay4us();ack0=!sda;scl=0;delay4us();return ack0;uchar Recstring(u

46、char slave,uchar subaddr,uchar *buffer,uchar n) uchar i; start(); if(!sendbyte(slave) return 0; if(!sendbyte(subaddr) return 0; start(); if(!sendbyte(slave+1) return 0; for(i=0;in-1;i+) bufferi=recbyte();ack(); buffern-1=recbyte(); noack(); stop(); return 1;uchar Sendstring(uchar slave,uchar subaddr

47、,uchar *buffer,uchar n)uchar i;start();if(!sendbyte(slave) return 0;if(!sendbyte(subaddr) return 0;for(i=0;in;i+)if(!sendbyte(bufferi) return 0;stop();return 1;4.2.4 报警延时模块在报警延时模块中,只需要判断输入错误的次数即进行下一步操作,该功能对开密码锁者具有警示作用,具体实现程序如下:if(!cuowu&cuowu=3)while(1) led=1; beep=1; delayms(100); beep=0; led=0; de

48、layms(100); 4.3 本章小结本章将基于51单片机的多功能密码系统中的软件部分分为了几个模块:键盘扫描,存储器密码读取,lcd液晶显示,延时报警,各个模块都利用C程序来控制实现。采用模块化的设计方式的软件灵活性较强,也易于系统功能的扩展。当系统功能增加时,需要增加的功能只需要在总程序中添加即可,并不需要大量的修改源程序,也不需要更改原设计的硬件电路部分,这是基于51单片机的多功能密码锁系统比传统密码锁更具有优势的地方。第五章 多功能密码锁的测试第六章 总结与展望本设计完成总体的方案设计,用于多密码锁的解锁密码输入、设置新密码和显示,及报警等功能。并完成了利用Altium design

49、er设计电路图,及PCB板的制作。完成了硬件电路的焊接与调试工作,软件设计也得到了很好的完成,在proteus中很好的结合51单片机的仿真。除此之外,本设计的抗干扰设计,以及安全的可靠性都得到了很好的验证。通过以上的工作可以得到以下结论:()以51单片机为处理器的多功能密码锁能够实现安保性能,并实现密码的显示,系统方案设计合理可行。()51单片机的I/O口较多,能够满足系统多功能扩展的需求,其灵活性强。()基于51单片机的多功能密码锁大大简化了外围电路,降低了功耗和费用。本课题在设计与调试过程中,由于实验条件、设施和时间的限制,加之本人专业知识不足,该系统在各方面还有待进一步完善:(1)本文只

50、是对密码锁的功能实现进行初步探究,可以在今后对密码的安全性进行更深入的研究。(2)本设计中密码锁没有经历长时间的运行,稳定度的了解不够。在今后的研究中可对系统的稳定度进行更加深入的研究。(3)在硬件方面,目前整个硬件制作费较高,要选用性价比更高的元器件,以适应市场化的需求。参考文献1 石跃祥,谢勇.C语言程序设计教程M.湘潭:湘潭大学出版社,2011.1.2 王松林,李小平,吴大正.电路基础M.西安:西安电子科技大学.2010,9.3 张云,周海林等.基于AT89S51的多功能密码锁设计J.北京:电子设计工程,2010,6.3 张学成.关于数字密码锁的探讨J.天津:天津工业大学,2011,1.

51、4 高洁,黎靖达.智能数字密码锁的设计与仿真J.北京:中国人民大学学报,2007,4.5 马宗敏,穆继亮.微型智能电子密码锁设计J.北京:机电产品开发与创新,2008,11.6 邱燕,邓鹏戈.数字电子密码锁J.北京:现代电子技术,2010,7. 7 岳学军,徐兴等.基于单片机与串行通信的电子密码锁设计J.云南:云南农业大学学报,2009,1.8 王涛,马庆芬.基于单片机系统的密码锁电路设计J.北京:机械设计与制造,2012,8.9 韩团军.基于单片机的电子密码锁设计J. 陕西:研究与开发,2010,7.10尹学芬.红外线遥控密码锁的研究J.北京:安防科技,2008,3.11郭海英.基于单片机的电子安全密码锁的设计J现代电子技术 2005年13期12杨旭方.一款基于单片机I2C总线实现的密码锁J.黑龙江:职业技术,2013,3.13宋锦.电子密码锁设计与调试J.江苏:电脑知识与技术,2011,9.附录#include#include#include#define uchar unsigned char#define uint unsigned int#define LCDIO P2#define delay4us() _nop_();_nop_();_nop_();_nop_();uchar buffer6=0; sbit sda

温馨提示

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

评论

0/150

提交评论