1、毕业设计论文基于单片机的电子密码锁设计目 录1. 引言 .11.1 课题背景和意义 .11.2 电子密码锁发展趋势 .22. 总体设计方案 .22.1 电子密码锁设计的具体要求 .22.2 总体设计方案.32.3 系统总体设计原理 .43电子密码锁的硬件设计 .53.1 主控芯片 STC89C52.53.2 存储电路.63.3 LCD显示模块 .73.4 单片机最小系统 .83.5 报警电路 .93.6 开锁电路 .93.7 键盘输入模块 .104. 电子密码锁的软件设计 .104.1 主程序.114.2 按键软件设计 .114.3 密码设置软件设计 .124.4 开锁软件设计 .135. 调
2、试与实 现 .145.1 软件调试 .145.2 Proteus仿真 .1515.3 Protel99 SE 电路设计 .165.4 硬件调试 .176. 结论 .20参考文献 .221. 引言1.1 课题背景和意义随着电子技术和计算机技术的飞速发展,单片机性能不断完善,性能价格比显著提高,技术日趋完善。由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等各个领域均得到了广泛的应用。本设计利用单片机及附加电子元器件实现数据采集和控制算法,来完成某一实际功能,检验并提高同学对整体电路设计和把握能力,了解单片机系统设计流程,以及电路板的
3、实际制作和调试能力。同时也加强对数字电路、单片机和微机原理等课程知识的实际应用能力,也为同类产品的进一步发展奠定理论和实践基础。随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。据有关资料介绍,电子密码锁的研究从 20 世纪 30年代就开始了,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高锁的安全性。由于电子锁的密钥量(密码量)极大,可以与机械锁配
4、合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC 卡锁,生物锁等。但较实用的还是按键式电子密码锁。20 世纪 80 年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展。目前,在西方发达国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被2广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的
5、管理。在我国电子锁整体水平尚处于国际上 70 年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用 1。31.2 电子密码锁发展趋势 电子密码锁应用于金融业,其根本的作用是“授权”,即被“授权”的人才可以存取钱、物。广义上讲,金融业的“授权”主要包括以下三种层次的内容:(1) 授予保管权,如使用保管箱、保险箱和保险柜; (2) 授予出入权,如出
6、入金库、运钞车和保管室;(3) 授予流通权,如自动存取款。目前,金融行业电子密码锁的应用主要集中在前两个层面上。下面将介绍几种在金融行业中使用较多的电子密码锁以及它们的技术发展方向。当然,以上所说的授权技术再高超,都必须由精良的“锁具”担当承载结构部件,实现开启、闭锁的功能,而且承担实体防护作用,抵抗住或尽量延迟破坏行为,让电子密码锁“软、硬不吃”。一般情况下,锁具防盗的关键是锁身外壳、闭锁的部件的强度、锁止型式、配合间隙和布局。提高电子密码锁之防护能力的必然途径是报警,在金融业的许多场所有人值守、有电视监控,具有报警功能,可以综合物理防范和人力防范两种作用。报警的前提是具备探测功能,根据电子
7、密码锁的使用场所和防护要求,可选择多种多样的探测手段。在中国的城市金融业中,实现联网报警已经成为对各金融网点的基本要求。根据国内外的实践经验,金融业实行安全防范风险等级很有必要,即依据使用的防盗报警器材的性能、安装布局和人员值守状况等,可以评估被防护物或区域的防护能力,得出风险等级,其中,电子密码锁的性能至关重要。由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子密码锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子密码锁,这样对盗贼而言是“道高一尺、魔高一丈” 。组合使用信息也能够使电子密码锁获得无穷扩展的可能,使产品多样化,对
8、用户而言是“千挑百选、自得其所”。 2. 总体设计方案2.1 电子密码锁设计的具体要求电子密码锁设计的具体要求如下:(1) 本设计为了防止密码被窃取要求在输入密码时在 LCD 屏幕上显示*号。(2) 设计开锁密码位小于六位密码的电子密码锁。(3) 能够 LCD 显示在密码正确时显示 OPNE OK!,密码错误时显示PASSWORD ERROR,输入密码时显示 YOUR PASSWORD。4(4) 44 矩阵键盘其中包括 0-9 的数字键和 A-F 的功能键。(5) 本产品具有报警功能,当输入密码三次错误时蜂鸣器报警。(6) 密码可以由用户自己修改设定(只支持 6 位密码) ,修改密码之前必须再
9、次输入密码,在输入新密码时候需要二次确认,以防止误操作。2.2 总体设计方案方案一:采用数字电路控制。用以 74LS112 双 JK 触发器构成的数字逻辑电路作为密码锁的核心控制,共设了 9个用户输入键,其中只有 4 个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过 10 秒(一般情况下,用户不会超过 10 秒,若用户觉得不便,还可以修改)电路将报警 20 秒,若电路连续报警三次,电路将锁定键盘 2 分钟,防止他人的非法操作。采用数字电路设计的方案好处就是设计简单但控制的准确性和灵活性差。故不采用 2。方案
10、二:采用一种是用以 STC89C52 为核心的单片机控制方案。选用单片机 STC89C52 作为本设计的核心元件,利用单片机灵活的编程设计和丰富的IO 端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接 LCD1602 显示器用于显示作用 2。其原理如图 1 所示。输入密码单片机微控制器密码正确 ?开锁驱动电路返回电磁锁YN图 1 单片机控制密码锁原理图由图 1可知方案二控制灵活准确性好且保密性强还具有扩展功能,根据现实生活的需要,此次设计采用此方案。52.3 系统总体设计原理本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分
11、组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用时只要将单片机的负载发光二极管换成电子密码锁的电磁铁吸合线圈即可 3。系统整体框图如图 2 所示。S T C 8 9 C 5 2L C D 1 6 0 2 显示模块报警电路键盘输入模块复位电路开锁电路2 4 C 0 4 密码储存模块图2 系统结构框图 各模块功能如下:(1) 键盘输入模块:分为密码输入按键与几个功能按键,用于完成密码锁输入功能。(2) 显
12、示模块:用于完成对系统状态显示及操作提示功能。(3) 复位电路:完成系统的复位。(4) 报警电路:用于完成输错密码时候的警报功能。(5) 密码存储模块:用于完成掉电存储功能,使修改的密码断电后仍能保存。(6) 开锁电路:应用发光二极管模拟开锁,完成开锁及开锁提示。63电子密码锁的硬件设计3.1 主控芯片 STC89C523.1.1 单片机 STC89C52 简介STC89C52 是美国 ATMEL 公司生产的低功耗,高性能 CMOS8 位单片机,片内含8k bytes 的可系统编程的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 8051 指令
13、系统及引脚。它集 Flash 程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用 8 位微处理器于单片芯片中,ATMEL公司的功能强大,低价位 STC89C52 单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域 4。 主要特性:与 MCS-51 兼容 4K 字节可编程闪烁存储器 寿命:1000 写/擦循环数据保留时间:10 年全静态工作:0Hz-24Hz三级程序存储器锁定128*8 位内部 RAM32 可编程 I/O 线两个 16 位定时器/计数器5 个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 3.1.2 STC89C52 功能STC89C5
14、2 是一种带 4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微处理器,7俗称单片机。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 STC89C52 是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,STC89C52 芯片引脚图如图 3 所示。P1.01P1.12P1.23P1.34P1.45P1.56P1.6
15、7P1.78REST9RXD/P3.010TXD/P3.111INT0/P3.212INT1/P3.313T0/P3.414T1/P3.515WR/P3.616RD/P3.717XTAL218XTAL119Vss20 P2.0 21P2.1 22P2.2 23P2.3 24P2.4 25P2.5 26P2.6 27P2.7 28PSEN 29ALE/PROG 30EA/Vpp 31P0.7 32P0.6 33P0.5 34P0.4 35P0.3 36P0.2 37P0.1 38P0.0 39Vcc 40图3 单片机引脚图3.2 存储电路AT24C04 是美国 Atmel 公司的低功耗 CMOS
16、 型 EPROM,内含 2568 位存储空间,具有工作电压宽(2.55.5 V)、擦写次数多(大于 10000 次)、写入速度快(小于 10 ms)、抗干扰能力强、数据不易丢失、体积小等特点。而且他是采用了 IC 总线式进行数据读写的串行器件,占用很少的资源和 I/O 线,并且支持在线编程,进行数据实时的存取十分方便。AT24C04 中带有的片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加 1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达 8 个字节的数据。IC 总线是一种用于IC 器件之间连接的二线制总线。他通过 SDA(串
17、行数据线 )及 SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件。AT24C04 正是运用了IC 规程,使用主/从机双向通信,主机 (通常为单片机 )和从机(AT24C04)均可工作于接收器和发送器状态。主机产生串行时钟信号(通过 SCL 引脚)并发出控制字,控制总线的传送方向,并产生开始和停止的条件。无论是主机还是从机,接收到一个字节后必须发出一个确认信号 ACK。AT24C04 的控制字由 8 位二进制数构成,在开始信号发8出以后,主机便会发出控制字,以选择从机并控制总线传送的方向 5。管脚功能:SCL 为串行时钟:串行时钟输入管脚用于产生器件所有数据发送或
18、接收的时钟这是一个输入管脚。SDL 为串行数据/地址:双向串行数据/地址管脚用于器件所有数据的发送或接收SDL,是一个漏极开路输出管脚可与其它漏极开路输出或集电极开路输出进行线或。A0、A1、A2 为器件地址输入端:当使用 24C04 时最大可级联 8 个器件,如果只有一个 24C04 总线寻址,这三个地址输入脚 A0、 A1、A2 可悬空或连接到 Vss。WP 为写保护:如果 WP 管脚连接到 Vcc 所有的内容都被写保护只能读当 WP, 管脚连接到 Vss 或悬空,允许器件进行正常的读/写操作。管脚图如图 4所示。123A 0A 1A 2G N DV C CW PS C LS D A4 5
19、678图4 AT24C04引脚图3.3 LCD 显示模块液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。1602 型 LCD显示模块具有体积小,功耗低,显示内容丰富等特点。1602 型 LCD 可以显示 2 行 16个字符,有 8 位数据总线 D0-D7 和 RS,R/W,EN 三个控制端口,工作电压为 5V,并且具有字符对比度调节和背光功能 6。1602 型 LCD 基本操作程序如表 1 所示。表 1 LCD1602基本操作程序读状态 输入 RS=L,R/W=H,E=H 输出 D0D7=状态字写指令 输入R
20、S=L,R/W=L,D0D7=指令码,E=高脉冲输出 无读数据 输入 RS=H, R/W=H,E=H 输出 D0D7=数据写数据 输入RS=H, R/W=L,D0D7=数据,E =高脉冲输出 无91602 型 LCD 主要技术参数:显示容量:162 个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm1602 型 LCD 的接口信号如表 2 所示。表 2 LCD1602接口信号编号 符号 引脚说明 编号 符号 引脚说明1 VSS 电源地 9 D2 数据2 VDD 电源正极 10 D3 数据3 VL 液晶显示偏压 11
21、 D4 数据4 RS 数据/命令选择 12 D5 数据5 R/W 读/写选择 13 D6 数据6 E 使能信号 14 D7 数据7 D0 数据 15 BLA 背光源正极8 D1 数据 16 BLK 背光源负极3.4 单片机最小系统3.4.1 晶振电路STC89C52 引脚 XTAL1 和 XTAL2 与晶体振荡器及电容 C1、C2 按图 3 所示方式连接。晶振、电容 C1C2 及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容 C1、C2 的容量有关,但主要由晶振频率决定,范围在 033MHz 之间,电容 C1、C2 取值范围在 530pF 之间。根据实际情况,本设计中采用 12MHZ 做系统的外部晶振。电容取值为 30pF。晶振电路图如图 3 所示。