1 引言
电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。其在生活的各个方面均有应用,前景十分广阔。其特点如下:
(1) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零; (2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降;
(3) 误码输入保护,当输入密码多次错误时,报警系统自动启动; (4) 无活动零件,不会磨损,寿命长;
(5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。
2 设计方案及原理
2.1 本设计所要实现的目标
设计一种单片机控制的密码锁,具有按键有效指示、解码有效指示、控制开锁电平、控制报警、密码修改等功能。8位十进制密码共一亿组不重复,保密性强。该密码锁要实现一下功能:
(1) 锁的初始状态为“锁合”指示灯亮。输入初始密码“0、1、2、3、4、5、6、7”,每输入一位,“按键有效”指示灯亮约半秒钟,输完8位按确认键,锁打开,“锁开”指示灯亮;
(2) 按“上锁”键,锁又重新上锁,“锁合”指示灯亮; (3) “锁开”状态下,可输入新密码,可重复修改密码;
(4) 如果输入密码错误,“错误指示”灯亮约半秒钟。可重新输入密码; (5) 输入密码错误超过3次,蜂鸣器启动发出报警,同时“错误”指示灯常亮。
2.2 设计思路
对于电子密码锁的设计,需要解决几个问题:键盘输入、数码管显示、单片机电路、密码比较、修改密码等。其中最主要的就是解决掉电保存以及修改密码的问题。先写一个循环写入8个初始密码到芯片内部EEPROM程序,先下载程序写入初始密码,此时EEPROM已存有初始密码,再把密码锁程序下载到单片机,运行电子密码锁。
本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩
单片机原理及系统课程设计报告
阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用的是单片机P1.2和P1.1来控制锁合和锁开LED灯的状态,P0口用于电子显示屏来显示提示语句和密码输入按键。
本系统共有两部分构成,即硬件部分与软件部分。
3 硬件设计
硬件部分由键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成。
3.1 键盘扫描电路
键盘接成4*4的矩阵键盘,行线为LD0-LD3分别接P2口的P0.0-P0.3,列线为HD0-HD3分别接P2口的P0.7-P0.4。当哪一行的有键按下,则相应行的“按键有效”指示灯亮一下,其余行所对应的灯不亮。P2初始时P2口第四位为低电平,高四位为高电平,当哪一行有键按下,则所对应的行和列对应的口变为低电平,将改为扫描到单片机中。键盘扫描电路如图3.1所示。
图3.1 键盘扫描电路
3.2 晶振电路
80C31引脚XTAL1和XTAL2与晶体振荡器及电容C2/C1按图3.2所示方式连接。晶振、电容C1/C2振荡器,振荡信号频率与晶振频率及电容C1/C2的容量有关,但主要由晶振频率决定,范围在0~33MHz之间,电容C1/C2取值范围在5~30pF之间。根据实际情况,本设计中采用1MHZ做为系统的外部晶振。电容取值为30pF。晶振电路如图3.2所示。
- 1 -
单片机原理及系统课程设计报告
图3.2 晶振电路
3.3 复位电路
上电复位电路如图3.3所示。
图3.3 复位电路
3.4 显示部分
显示电路是利用LM016L系列的LCD显示屏,可以双行显示。其D0-D7与P0口相接,并且给P0口外接上拉电阻。LCD显示电路如图3.4所示。
LCD1LM016L10k10k10k10k10k10k10k10k1413121110987654122133144U119191818XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15393837363534333221222324252627281011121314151617LD0LD1LD2LD3HD3HD2HD1HD0122133144XTAL29RST321VEEVDDVSSERWRSSTALR7R8R9R11R10R6R12R13D7D6D5D4D3D2D1D0 图3.4 LCD显示密码电路 R510k293031R32203.5 报警电路 R156012345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7PSENALEEA报警电路是利用SPEAKER和NPN型三极管构成,同时给蜂鸣器并联一个发HD0HD1HD2HD3LD3按键有效14三极管导通,蜂鸣器发声,7A光二级管,当P1.0口输出为高电平时,NPN“错误”R2220LD2Q2指示灯亮。报警电路如图3.5所示。 80C3123P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDD4D556890BLD1LED-BLUED6NPNLD0FD1锁合- 2 - LED-BLUED7D3锁开LED-BLUE