电子密码锁设计方案_第1页
电子密码锁设计方案_第2页
电子密码锁设计方案_第3页
电子密码锁设计方案_第4页
电子密码锁设计方案_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1 电子密码锁设计方案 第一章 总体设计方案 一 个 单片机 应用系统的 硬件 电路 设计 包含两部分内容 :一是系统扩展,即 单片机 内部的功能单元,如 I/O、定时器 /计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片, 设计 相应的电路。二是系统的配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、 A/D、D/A 转换器等,要 设计 合适的接口电路。 统结构 本系统是用以 核心的单片机控制,主要是由 单片机系统、矩阵键盘、 示和报警系统组成。 利用单片机灵活的编程设计和丰富的 口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加 调电存储、声光提示甚至添加遥控控制 功能。 统组成 本系统由单片机系统、矩阵键盘、 示、密码存储、复位电路、晶振电路、开锁部分和报警系统 组成。系统能完成开锁、超时报警、修改用户密码基本的密码锁的功能。 矩阵键盘主要 判断键盘上有无键按下、去抖动影响、逐列扫描键盘以确定被按键的位置号即行列号、形成键值并将键值存入指定的数据缓冲区中、判断闭合的键是否释放等功能。 密码修改部分要求密码要输入两次 ,程序将两次输入的密码比较一致时 ,即用此密码代替原先的密码 ,如果两次输入的密码不一致 ,则重复操作。这样就避免了修改密码的随机性。 自动报警部分是三次输入的密码不一致就会发生报警信息,这样能有效的避免一些不法分子的行为,保护自身的利益。 显示部分主要是采用 示, 是一种数字显示技术。与传统的阴极射线管(比, 用空间小,低功耗,低辐射,无闪烁,降低视觉疲劳。不足: 2 与同大小的 比,价格更加昂贵。 计方案选择 方案一:采用数字电路控制 用以 74 发器构成的数字逻辑电路作为密码锁的核心控制,共设了 9 个用户输入键,其中只有 4 个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过 10 秒(一般情况下,用户不会超过 10 秒,若用户觉得不便,还可以修 改)电路将报警 20 秒,若电路连续报警三次,电路将锁定键盘 2 分钟,防止他人的非法操作。采用数字电路设计的方案好处就是设计简单但控制的准确性和灵活性差。故不采用。 方案二:采用以单片机为核心的控制方案 由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。一般来说在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、 I/O 口、定时 /计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些的还有一些最基本的比如:中断源的数量 和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。 基于以上因素本设计选用单片机 为本设计的核心元件, 利用单片机灵活的编程设计和丰富的 I/O 端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接 片用于密码的存储,外接 示器用于显示作用。当用户需要开锁时,先按键盘开锁键之后按键 盘的数字键 0 9 输入密码。密码输完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;当用户需要修改密码时,先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。新密码输入无误后按确认键使新密码将得到存储,密码修改成功。 通过比较以上两种方案,单片机方案有较大的活动空间, 控制灵活准确性好且 3 保密性强 不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案作为此次设计的方案。 4 第二章 硬件系统设 计 片机 介 一种带 4K 字节闪烁可编程可擦除只读存储器 ( 的低电压,高性能 微处理器,俗称单片机。 一种带 2K 字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除 100 次。该器件采用 密度非易失存储器制造技术制造,与工业标准的 令集和输出管脚相兼容。由于将多功能 8 位 闪烁存储器组合 在单个芯片中, 一种高效微控制器, 它的一种精简版本。 片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 图 脚图 9 C 513938343635377912341256810111314151617181920 2122232425262728293031313233P 1 . 0P 1 . 1P 1 . 2P 1 . 3P 1 . 4P 1 . 5P 1 . 6P 1 . 7R S TV c . 0 ( )P 0 . 1 ( )P 0 . 2 ( )P 0 . 3 ( )P 0 . 4 ( )P 0 . 5 ( )P 0 . 6 ( )P 0 . 7 ( ) V E / P R O . 7 ( A 15 )P 2 . 6 ( A 14 )P 2 . 5 ( A 13 )P 2 . 4 ( A 12 )P 2 . 3 ( A 11 )P 2 . 2 ( A 10 )P 2 . 1 ( A 9 )P 2 . 0 ( A 8 )A L 1X 2( P 3 . 7( P 3 . 6( T 1 ) P 3 . 5( T 0 ) P 3 . 4( I N T 1 ) P 3 . 3( I N T 0 ) P 3 . 2( ) P 3 . 1( R X D ) P 3 . 0 5 计原理 图 体设计框图 本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保 存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可,当然也可以用继电器的常开触点去控制电磁铁吸合线圈。 本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,软件部分对应的由主程序、初始化程序、 盘扫描程序、启动程序、关闭程序、建功能程序、密码设置程序、 和延时程序等组成。其原理框图如图 路总体构成 由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。 基于以上因素本设计选用单片机 利用单片机灵活的编程设计和丰富的 I/其控制的准确性,实现基本的密码锁功能。在确定了选用什么型号的单片机后,就要确定在外围电路,其外围电路包括电源输入部 分、键盘输入部分、密码存储部分、复位部开锁控制电路 89片机 密码存储电路 晶振电路 矩阵 键盘 控制 显示电路 电源电路及 时报警控制电路 复位电路 6 分、晶振部分、显示部分、报警部分、开锁部分组成,根据实际情况键盘输入部分选择 4*4矩阵键盘,显示部分选择字符型液晶显示 码存储部分选用码输入正确则开锁成功,密码三次输入错误就会报警;当用户需要修改密码时,先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。新密码输入无误后按确认键使新密码将得到存储,密码修改成功。其原理图如图 图 计总体电路图 源部分 流稳压电源电路 在电子电路中,通常都需要电压稳定的直流电源供电。直流电源部分为系统各部分提供稳定、可靠的直流电源。它由变压 ,整流,滤波,稳压四个部分组成。 1、电源变压器。由于各种电子设备要求直流稳压电源提供不同幅值的直流电压,而市电提供的交流电压一般为 220V(或 380V),因此需要利用变压器先将市电的电压变换成所需要的交流电压,再将变换后的交流电压整流、滤波和稳压,最 7 后获得所需要的直流电压。 2、整流电路。整流电路是利用具有单向导电性的整流器件(如整流二极管、晶闸管),将大小、方向变化的正弦交流电变换成单向脉动的直流电。这种单向脉动直流电压含有很大的纹波成分,一般不能实用。 3、滤波电路。滤波电路的主要任务是将整流 后的单向脉动直流电压中的纹波成分尽可能滤除掉,使其变成平滑的直流电。滤波电路通常由电容、电感等储能元件组成。 4、稳压电路 。 它能在电网电压和负载电流的变化时,保持输出直流电压的稳定。它是直流稳压电源的重要组成部分,决定着直流电源的重要性能指标 码锁电源电路 图 源输入电路原理图 密码锁主控制部分电源需要用 5电路如图 频率为50效值为 220主要原理是把单相交流电经过电源变压器、整流 电路、滤波电路、稳压电路转换成稳定的直流电压。 由于输入电压为电网电压,一般情况下所需直流电压的数值和电网电压的有效值相差较大,因而电源变压器的作用显现出来起到降压作用。降压后还是交流电压,所以需要整流电路把交流电压转换成直流电压。由于经整流电路整流后的电压含有较大的交流分量,会影响到负载电路的正常工作。需通过低通滤波电路滤波,使输 8 出电压平滑。稳压电路的功能是使输出直流电压基本不受电网电压波动和负载电阻变化的影响,从而获得稳定性足够高的直流电压。本电路使用集成稳压芯片 7805解决了电源稳压问题。 盘输入 矩阵式键盘的结构与工作原理: 在键盘中按键数量较多时,为了减少 I/O 口的占用,通常将按键排列成矩阵形式,如图 示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口 (如 )就可以构成 4*4=16 个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成 20 键的键盘,而直接用端口线则只能多出一键 (9 键 )。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。 图 盘输入原理图 矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的 I/O 口作为输出端,而列线所接的I/O 口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。具体的识别及编程方法如下所述。 矩阵式键盘的按键识别方法: 确定矩阵式键盘上何键被按下介绍一种 “行扫描法 ”。 9 行扫描法行扫描法又称为逐行 (或列 )扫描查询法,是一种最常用的按键识别方法,如 图 示键盘,介绍过程如下。 判断键盘中有无键按下将全部行线 低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与 4根行线相交叉的 4 个按键之中。若所有列线均为高电平,则键盘中无键按下。 判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键 。 下面给出一个具体的例子: 如图 示。 89片机的 用作键盘 I/O 口,键盘的列线接到 的低 4 位,键盘的行线接到 的高 4 位。列线 别接有 4 个上拉电阻到正电源 +5V,并把列线 置为输入线,行线 置为输出线。 4根行线和 4 根列线形成 16 个相交点。 检测当前是否有键被按下。检测的方法是 出全 “0”,读取 全 “1”,则无键闭合,否则有键闭合。 去除键抖动。当检测到有键按下后,延 时一段时间再做下一步的检测判断。 若有键被按下,应识别出是哪一个键闭合。方法是对键盘的行线进行扫描。下述 4 种组合依次输出: 1 1 0 1 0 1 0 1 1 1 1 1 在每组行输出时读取 全为 “1”,则表示为 “0”这一行没有键闭合,否则有键闭合。由此得到闭合键的行值和列值,然后可采用计算法或查表法将闭合键的行值和列值转换成所定义的键值 为了保证键每闭合一次 作一次处理,必须却除键释放时的抖动。 10 码存储部分 2含 2568位存储空间,具有工作电压宽 ()、擦写次数多 (大于 10000次 )、写入速度快 (小于 10 抗干扰能力强、数据不易丢失、体积小等特点。而且他是采用了 用很少的资源和 I 且支持在线编程,进行数据实时的存取十分方便。 2用主从机双向通信,主机 (通常为单片机 )和从机 (可工作于接 收器和发送器状态。主机产生串行时钟信号(通过 并发出控制字,控制总线的传送方向,并产生开始和停止的条件。无论是主机还是从机,接收到一个字节后必须发出一个确认信号 位二进制数构成,在开始信号发出以后,主机便会发出控制字,以选择从机并控制总线传送的方向 。 图 a) 码存储电路 图 2.6(b)中 1、 2、 3 脚是三条地址线,用于确定芯片的硬件地址。在 验开发板上它们都接地,第 8 脚和第 4 脚分别为正、负 电源。第 5脚 串行数据输入 /输出,数据通过这条双向 线串行传送,在 接。第 6 脚 串行时钟输入线,在 接。 需要和正电源间各接一个 上拉。第 7 脚需要接地。 11 图 b)密码存储电路原理图 带有片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加 1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作 可写入多达 8 个字节的数据。 位部分 位电路的介绍 复位操作有上电自动复位和按键手动复位两种方式 : 1、 上电自动复位 上电自动复位时在加电瞬间电容通过充电来实现的,其电路如图 示。在通电瞬间,电容 C 通过电阻 R 充电, 出现正脉冲,用以复位。只要电源 可以实现自动上电复位,即接通电源就完成了系统的复位初始化。关于参数的选定,在振荡稳定后应保证复位高电平持续时间(即正脉冲宽度)大于 2 个机器周期。当采用的晶体频率为 6,可取 C 为 22F, R 为 采用晶体为 12,可取 C 为 10F, R 为 如果上述电路复位不仅要使点单片机复位,而且还要使单片机的一些外围芯片也同时复位,那么上述电阻、电容参考值应作少许调整。 对于 的 89于在 内部有一个下拉电阻,故可将外部电阻去掉,而将外界电容减至 1F。 2、手动复位 所谓手动复位,是指通过接通以按钮开关,使单片机进入复位状态。系统上电运行以后,若需要复位,一般是通过手动复位来实现的。通常采用手动复位和上电 12 自动复位组合,其电路如图 示。 图 2.7(a )上电复位 图 2.7(b )按键电平复位 复位电路虽然简单,但其作用非常重要。一个单片机系统能否正常运行,首先要检查是否能复位成功。初步检查可用示波器探头监视 脚,按下复位键,观察是否有足够幅度的波形输出(瞬时的),还可以通过改变复位电路阻容值进行实验。 位电路 此次设计主要采用按键电平复位,单片机复位是使 从这个状态开始工作,例如复位后 0000H,使单片机从第 个单元取指令。无 论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。在复位期间(即 3口输出高电平;外部程序存储器读选通信号 址锁存信号 据实际情况选择如图 4电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容 位下拉电阻 电容充电的过程中 于电容 以保证 4个振荡周期, 加手动复位按键是为了避免死机时无法可靠复位。当复位按键按下后电容 5放电。当电容 5与 于 报警程序 N Y N Y 返回 确认程序 再次输新密码 两次新密码输入相同? N Y 21 该模块的功能是将键盘输入的密码与设定的密码进行比较,如果密码正确则开锁 ;若不正确 ,则密码 输入次数计数单元计数如达不到 3次 ,返回键盘扫描模块 ;若计数已达 3 次 ,则调用自动报警模块。 图 码判断流程 动报警模块 该模块采用软件延时的方法 , 改变单片机 脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音,达到现场报警的目的另外,改变 出电平的高低电平占空比,则可以控制蜂鸣器的声音大小。 ; 出高电平,启动蜂鸣器鸣叫 7,#1 ;延时 30始化 按开锁键 输入密码 确认程序 所输入密码正确? Y 开锁成功 开锁程序 输入次数加 1 次数 3? 报警程序 返回 N Y N 22 6,#0 6, ;小循坏延时 17, ; 出低电平,停止蜂鸣器鸣叫 23 第 四 章 总结 与体会 在大学学习的这段期间内,知识是通过一门门独立的课程传授给我们的。而实际问题能够顺利的得到解决,不但需要多方面的知识,而且还需要对这些知识综合地加以运用。所以此次毕业设计既是学习的过程,也是实践的过程 ,不仅对所学的知识加以了巩固和延伸。也让我 学会慎密、全面的考虑问题,抓住主要矛盾加以解决的思维方法和围绕问题多方设法以求得解决的顽强意志 。 大学生活使我从一个懵懂无知的少年变成了可以勇敢面对人生的强者,无论是在思想上还是在专业课的学习上,电子电气系的老师和同学们给予了我极大的帮助,在这里我要对老师们无私的关怀和帮助表示衷心的感谢!对帮助过我的同学们表示真挚的感谢! 24 参考文献 1 石文轩 ,宋薇 51 的智能密码锁设计 M2004,(01); 2 祖龙起 ,刘仁杰 J2002,(01); 3 叶启明 J2005,(10); 4 郭海英 M2005,(13); 5 李明喜 J2004,(03); 6 董继成 J2004,(03); 7 祖龙起 ,刘仁杰 ,孙乃凌 颖的电子密码锁 J2001,(10); 8 李明喜 J2004,(03); 9 杨茂涛 J2004,(08); 10 瞿贵荣 J2000,(07); 11 006,(01); 12 1998, 84, 1509, 13 王千 M,电子工业出版社, 2001, 14 何立民 M,北京:北京航空大学出版社, 1998; 15 李华 列单片机使用接口技术 M,北京航空航天大学出版社,1993; 16 彭为 M,北京:电子工业出版社, 2006; 17 潘永雄 M,西安:西安电子科技大学出版社,2003; 18 童诗白 ,华成英 M,北京:高等教育 出版社, 2000; 19 阎石主 M,北京:高等教育出版社, 1998; 20 李朝青 M,北京:北京航空航天大学出版社,2005; 21 李瀚荪 M,北京:高等教育出版社 1991; 22 周润景,袁伟亭,景晓松。 统中的应用百例M,北京:电子工业出版社, 2006; 25 附录 电子密码锁 程序清单 26 *;显示缓冲区 ;输入回车的次数 报警的次数 输入数字的位数 ;密码缓冲区 9H 8H 7H 6H 5H 4H ;取缓冲区 3H 2H 1H 0H 按键标志位 0H 1H 2H 3H 4H ;密码已经够六位的标志位,为 1 表示满 5H ;系统更改的状态标志位,为 1 表示 6H ;功能键标志位,为 1 表示功能按键。 7H 27 8H 9H ;密码是否正确的标志位 ;口资源定义 定义串口数据端 发光二极管灯 2 3 000H 0001030H P, #70H #11H #3#0#3#0_1 ;清除标志位 _2 _3 _4 28 _00H ;调用 初始化环境 调用默认显示 00H #11H ;初始化密码 830620 #0#02H #13H #0#02H 程序开始 检查键盘 返回 S ;检查有没有按键按下 12S 29 按键识别子程序 A ;送缓冲区以识别是数字键还是功能键? 判断按键功能。 标志为 1,则为功能键 ;*数字按键输入并且存放到缓冲区内等待比较 * G:设一标志,辨别输入是否满 ;输入数字的位数 , , #01H 依照顺序存放密码 , , #02H , , #03H , , #04 30 , , #05 , , #06H 7, 比较输入的次数。 7, #06H ,C 06H 3 100密码输入一位,鸣叫一声。 3 100延时 1003 31 *功能按键比较并且跳转 * , , #03H ;按键 转 L , 按键 转 , #00H 1_C N , , #12_C 2_C: , , #13_C 3_C: , , #19H 4_C 32 , , #18H *开门子程序 * 3 #00H ;消密码缓冲 00H 消除 冲,加调电存储后一 定要加上 P P 100P P 100P 100P 100P 100P 33 P 100P 关闭显示 B 1 P _1 P _查看现在的状态以防误按 ;报警限制暂时不开 ;_B 2 P _2 34 P _ *按键的功能描述 * B B 键标志 ,若为 1,则调用修改密码子程序。 _比较密码子程序 密码比较正确,则调用开锁子程序 7,密码错误,调入输入密码输入次数,准备锁定键盘 7,#03H,0:错误次数小 3 次 锁定 5 分钟 报警 #00H #00H 跳出 35 P 100P 500500500500500, , #09H,C 00H 输入回车的次数 00H 3 开门 P P P 36 P *各类子程序 * ;* 注意清楚缓冲区时 应在初始化中执行 ,以防两缓冲区都为 0,相同开锁 * 7, #06H 0, #6, #00H A 0 7, *初始化显示缓冲区以及其他缓冲区 * 7, #06H 1, #, #00H A 1 37 7, 7,#06H 1,#, #00H A 1 7, 00H ;密码输入的次数清零。 * 按键识别子程序 * 2, #0识别按键子程序 ,数据送 A 保存 4, #00H , 0, A , B , #00H B , #08H 38 B , #10H B 判断下一列 , #18H , S 4 , L A 2, A S:0, #0, , #0 , 判断是数字按键还是功能按键 ,为 1 表示功能键 , #17H, Y:假若是数字按键则标志置 为 0 假若是功能按键则标志置为 1 39 , , #00H , , #03H 127

温馨提示

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

评论

0/150

提交评论