基于51单片机的智能密码锁设计

基于51单片机的智能密码锁设计
基于51单片机的智能密码锁设计

基于51单片机的智能密码锁设计

摘要:

目前使用的智能密码锁大多数是基于单片机技术,本次设计以AT89C51作为主控芯片与数据存储单元,结合矩阵键盘的输入、LCD液晶显示、报警、开锁等。用keil软件编写的控制程序,设计了一款具有设定和修改密码,并且具有报警功能的智能密码锁控制系统。

这种密码锁具有设计简单,易于开发,成本较低,安全可靠,操作方便等特点,可应用于住宅、办公室的保险箱及档案柜等需要防盗的场所,有比较强的实用性。

关键词:矩阵键盘;LCD;电磁锁;报警

The design of the intelligent password lock based on 51 single chip microcomputer

Abstract:

The intelligent password lock most currently used are based on single chiptechnology, the design takes AT89C51 as the main control chip and the data storage unit, combined with the matrix keyboard input, the LCD liquid crystal display, alarm, lock etc.. Control program is compiled with keil software, designed a set and modify the password, and has intelligent cipher alarm lock control system.

The cipher lock has the advantages of simple design, easy development, low cost, safe and reliable, convenient, safe and file cabinets need security can be applied to residential, office space, a relatively strong practical.

Keywords: matrix keyboard; LCD; electromagnetic lock; alarm

目录

1、引言................................. 错误!未定义书签。

2、系统总体设计 (1)

2.1设计要求 (1)

2.2整体方案设计 (1)

3.硬件系统设计 (2)

3.1 单片机系统 (2)

3.2 矩阵键盘 (4)

3.3 LCD显示 (6)

3.4 报警系统........................ 错误!未定义书签。

3.5 复位电路 (7)

4.软件设计 (8)

4.1 软件的总体设计 (8)

4.2 软件各子程序的设计 (8)

5.调试与总结 (12)

6.仿真图 (12)

参考文献 (14)

致谢 (15)

附录 (16)

1.引言

随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高锁的安全性。电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,因而被越来越多的人所欣赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等,但较实用的还是按键式电子密码锁。

单片机已经在家电领域中得到了广泛的应用,这是一种利用AT89S51单片机来设计电子密码锁方法.该系统主要由单片机、矩阵键盘、LED显示和报警系统等几个部分组成,可以完成开锁、修改密码、超次锁定、报警等功能,具有结构简单、功能齐全和安全可靠等特点。

2.系统总体的设计

2.1设计要求

1、系统通过4*4的矩阵键盘输入或设定开锁密码

2、可以通过LCD查看已输入的字符个数(显示*)

3、用户可以自行设定和修改密码。

4、按每个密码键时都有声音提示。

5、开锁密码错3次要报警1分钟,报警期间输入密码无效,以防窃贼多次试探密码。

6、键入的8位开锁密码完全正确才能开锁,开锁时要有1秒的提示音。

7、电磁锁的电磁线圈每次充电5秒,然后恢复初态。

8、密码设定完毕后要有2秒的提示音。

2.2整体方案设计

对于电子密码锁的设计,需要解决几个问题:键盘输入、数码管显示、单片机电路、密码比较、修改密码等。其中最主要的就是解决掉电保存以及修改密码的问题。先写一个循环写入8个初始密码到芯片内部EEPROM程序,先下载程序写入初始密码,此时EEPROM已存有初始密码,再把密码锁程序下载到单片机,运行电子密码锁。

1

本设计主要由单片机、矩阵键盘、LCD显示器和密码存储等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,P0口用于电子显示屏来显示提示语句和密码输入按键。

3.硬件系统设计

3.1 单片机系统

本次设计选用单片机作为系统的核心部件,实现控制与处理的功能。单片机具有资源丰富、速度快、编程容易等优点。利用单片机内部的随机存储器(RAM)和只读存储器(ROM)及其引脚资源,外接数码管显示(LED),键盘输入等实现数据的处理传输和显示功能,基本上能实现设计指标。

单片机是在微处理的基础上发展起来的。未处理最早出现在20世纪70年代中期,是微计算机的核心,需要和存储器以及I/O接口电路共同组成应用系统。

我国引进微计算机嵌入技术是在改革开放时期,到现在已经有30年了。最早大规模的引进的是Z80单片机。

而单片机技术的引进是从8051开始的。它是Intel公司研发的技术。

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

其主要特性:

·与MCS-51 兼容

·4K字节可编程闪烁存储器

寿命:1000写/擦循环

数据保留时间:10年

·全静态工作:0Hz-24Hz

·三级程序存储器锁定

·128*8位内部RAM

·32可编程I/O线

·两个16位定时器/计数器

2

·5个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片内振荡器和时钟电路

图1 AT89C51引脚图

引脚功能说明:

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对

3

外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时,将使单片机复位。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE 只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。

EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA 端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

3.2 矩阵键盘

在单片机按键使用过程中,当键盘中按键数量较多时为了减少端口的占用通常将按键排列成矩阵形式如下图所示,在矩阵式键盘中每条水平线和垂直线在交叉处不直接连通而是通过一个按键加以连接,到底这样做是出意何种目的呢?大家看下面电路图,单片机的整一个8位端口可以构成4*4=16个矩阵式按键,相比独立式按键接法多出了一倍,而且线数越多区别就越明显,假如再多加一条线就可以构成20个按键的键盘,但是独立式按键接法只能多出1个按键。由此可见,在需要的按键数量比较多时,采用矩阵法来连接键盘是非常合理的,矩阵式结构的键盘显然比独立式键盘复杂一些,单片机对其进行识别也要复杂一些。

矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,4

5

列线通过电阻接正电源,并将行线所接的单片机的I/O

口作为输出端,而列线所接的I/O 口则作为输入。这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。

图2 矩阵键盘电路

每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列矩阵结构只需要N 条行线和M 条列线,即可组成具有NM 个按键的键盘。

在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对照图所示的4×4键盘,说明线反转个工作原理。首先辨别键盘中有无键按下,有单片机I/O 口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H ,把全部列线置为低电平,然后将列线的电平状态读入累加器A 中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。

每按下一个键,都会有1秒的提示音出现。需要键入8位密码才能开锁。

6

表1 按键及功能表

3.3 LCD 显示

LCD 产品制造涉及光学、半导体、电机、化工、材料等各项领域,上下游所需技术层面极广,所以少有单一厂商能从材料到成品全部都做,因此各领域分工明显,上游材料包括玻璃基板、ITO 导电玻璃厂、偏光板、彩色滤光片、光源模块、液晶、半导体制造工序所需光罩,液晶驱动IC 、印刷电路板(PCB )等;中游则集合各材料,制造LCD 面板,提供给下游应用厂商使用,由于下游应用产品众多,所需面板规格几乎都不相同,需根据产品切割面板尺寸,因此LCD 面板较没有规格产品;下游应用产品种类众多,从各式家电、消费性、信息、通信及工业产品,只要是需要显示的器具,都需使用LCD 产品。

特点:

液晶显示器件在直流电压作用下会发生电解作用,故必须用交流驱动,并且限定交流成分中的直流分量不大于几十毫伏;

由于液晶在电场作用下光学性能的改变是依靠液晶作为弹性连续体的弹性变形,响应时间长,所以交变驱动电压的作用效果不取决于其峰值,在频率小于1000Hz 情况下,液晶透光率的改变只与外加电压的有效值有关;

液晶单元是容性负载,液晶的电阻在大多数情况下可以忽略不计,是无极性的,即正压和负压

的作用效果是一样的。

图3 显示电路

显示器部分由液晶显示器LCD取代普通的显示器。开锁时,按下键盘上的开锁按键后,利用键盘上的数字键0-9输入密码,每按下一个数字后在显示器上显示一个“*”,输入多少位就显示多少个“*”。

3.4 报警系统

防盗报警系统是指当非法侵入防范区时,引起报警的装置,它是用来发出出现危险情况信号的。防盗报警系统就是用探测器对建筑内外重要地点和区域进行布防。它可以及时探测非法入侵,并且在探测到有非法人侵时,及时向有关人员示警。譬如门磁开关、玻璃破碎报警器等可有效探测外来的人侵,红外探测器可感知人员在楼内的活动等。一旦发生人侵行为,能及时记录入侵的时间、地点,同时通过报警设备发出报警信号。

安防行业智能化成为重要的发展趋势。智能化其实就是在普通的监控报警的过程中增加了智能分析反应、智能控制的功能。智能化可以让防盗报警系统工作更有效率,让用户更省心。

图4 报警电路

在本次设计中,密码输入正确,成功开锁。当开锁密码输入错误时密码输入错误时喇叭长时提示,3次密码输入错误时报警电路报警1分钟,即红色二极管灯亮。报警期间,输入密码无效,以防窃贼多次试探密码。

3.5 复位电路

复位是单片机的初始化操作。单片机在启动运行时,都需要先复位,其作用是使CPU和系统中其它部件都处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式,但是单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。整个复位电路包括内外两个部分。外部电路产生的复位信号通过复位引脚RST进入片内的斯密特触发器(抑制噪声),

7

8

再与片内复位电路相连。单片机的外部复位电路有上电自动复位和按键手动复位两种。本次设计中我们使用了按键电平复位。

图5 复位电路

4.软件设计

4.1 软件的总体设计

软件的设计主要包括:密码的固定、键盘识别判断、密码显示、密码比较、密码对处理、错报警。

智能密码锁工作的主要过程是LCD 数码管提示开始输入密码,通过键盘输入密码,同时LCD 显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。当输入密码连续输入错误3次时,系统报警。密码的设定,假设预设的密码为"0123456789"共10位密码。

4.2 软件各子程序的设计

图6 键盘扫描流程

矩阵键盘扫描程序:

#ifndef __KEY_H__

#define __KEY_H__

#define uchar unsigned char

#define uint unsigned int

#define KEY_PORT P3

// 0 1 2 3

// 4 5 6 7

// 8 9 a b

// c d e f

const unsigned char keytable4X4[]={

0x7e, 0xbe, 0xde, 0xee,

0x7d, 0xbd, 0xdd, 0xed,

0x7b, 0xbb, 0xdb, 0xeb,

0x77, 0xb7, 0xd7, 0xe7};//定义存到FLASH中

void delay_50us(uint t) //50us 延时

{

uchar j;

for(;t>0;t--)

for(j=19;j>0;j--)

}

uchar keyscan(void)

{

uchar temp1,temp2,temp;

uchar j=0; //键值

KEY_PORT = 0xf0; //P3.0-P3.3发全0,准备读列状态delay_50us(20);

if((KEY_PORT & 0xf0)==0xf0)

return(0xff); //如果P3.4-P3.7不全为1,有键按下

delay_50us(20); //延时10毫秒去抖动

if((KEY_PORT&0x0f0)==0xf0) //重读高4位,若还是不全为1定有键按下return(0xff);

temp1=KEY_PORT & 0xf0; //读高4位状态

KEY_PORT = 0x0f; //P3.4-P3.7发为0,准备读低4位状态

temp2=KEY_PORT & 0x0f; //P1.0-P1.3发为0,读P2低4位状态

9

temp= temp1+temp2;

while(temp2 != 0x0f)

temp2=P3;

switch(temp)

{

case 0x7e:return 1;break;

case 0x7d:return 4;break;

case 0x7b:return 7;break;

case 0x77:return 10;break;//*

case 0xbe:return 2;break;

case 0xbd:return 5;break;

case 0xbb:return 8;break;

case 0xb7:return 0;break;

case 0xde:return 3;break;

case 0xdd:return 6;break;

case 0xdb:return 9;break;

case 0xd7:return 11;break;//#

case 0xee:return 12;break;

case 0xed:return 13;break;

default:return 0xff;break;

}

}

// 0 1 2 3

// 4 5 6 7

// 8 9 a b

// c d e f

//const unsigned char keytable4X4[]={

//0x7e, 0xbe, 0xde, 0xee,

//0x7d, 0xbd, 0xdd, 0xed,

//0x7b, 0xbb, 0xdb, 0xeb,

//0x77, 0xb7, 0xd7, 0xe7};//定义存到FLASH中// 1 2 3 开始

// 4 5 6 修改密码

// 7 8 9

// 0 enter del

10

确定矩阵式键盘上何键被按下介绍一种“行扫描法”。行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法。判断键盘中有无键按下具体步骤如下:

先将列线p3.7-p3.4置0111,然后检测行线的状态。如果p3.3-p3.0为0111,则0被按下;如果p3.3-p3.0为1011,则1被按下;如果p3.3-p3.0为1101,则2被按下,如果p3.3-p3.0为1110,则3被按下。以此类推,对键盘进行循环扫描,实现对键盘的读入数据。

显示程序:

#ifndef __DISPLAY_H__

#define __DISPLAY_H__

#define uchar unsigned char

#define uint unsigned int

#define DataPort P0 //定义数据端口程序中遇到DataPort 则用P0 替换

void SEG_Latch(void) //段码锁存子程序

{

P2 |= 0xe0;//P2.7~P2.5=111,Y7=0,Y7C=1,即U7的LE=1,段码数据选通

_nop_();

P2 &= 0x1f;//P2.7~P2.5=000,Y7=1,Y7C=0,即U7的LE=0,段码数据被锁存}

void BIT_Latch(void) //位码锁存子程序

{

P2 |= 0xC0; //P2.7~P2.5=110,Y6=0,Y6C=1,即U8的LE=1,位码数据选通_nop_();

P2 &= 0x1f; //P2.7~P2.5=000,Y6=1,Y6C=0,即U8的LE=0,位码数据被锁存

}

void display(uchar *point)

{

unsigned char i=0;

for(i=0;i<8;i++)

{

DataPort=WeiMa[i]; //取位码

BIT_Latch(); //数据锁存

DataPort=DuanMa[*(point+i)]; //取显示数据,段码

11

SEG_Latch(); //数据锁存

delay_50us(20); // 扫描间隙延时,时间太长会闪烁,太短不亮

DataPort=0xff; //关显示,消除重影

SEG_Latch(); //数据锁存

}

}

#endif

采用LCD动态显示,由单片机P0口进行输出显示,P2口扫描。为了实现LCD 显示器的动态扫描,除了要给显示器的输入之外,还有对显示器选择位的控制,这就是通常所说的段控和位控。因此,多位LCD显示器接口电路需要有两个输出口,其中一个用于8条段控线,另一个用于输出位控线,位控线的数目等于显示器的位数。

这一系统使密码锁的安全性能得以体现,为人们的住房、生产、工作等提供了一个保障。

5.调试与总结

本次设计将我所学的知识充分的应用到了生活实践上去,和以前设计的相比,此次设计难度更加大,对我的考验也更大。

单片机系统进行编译KEIL软件的程序,编译完成后,开始画仿真图的设计,对应着KEIL程序连接各个端口,连接完毕后,将KEIL程序录入到仿真电路中,进行仿真运行电路。

这一次的设计大部分要求都已经完成,但是还是有很多缺陷,有些设计要求还是无法实现:如电磁线圈每5秒充电一次,然后恢复初态等。

通过这次设计,发现自己还是有很多不足的地方,还要加强对专业知识的学习和对实际操作的练习。单片机领域是无边无际的,我们还要慢慢摸索,碰到问题解决问题,不断的提升自己的能力。不辜负老师对我们的期望。

6.仿真图

输入密码:

图7 显示输入密码

12

13

密码输入正确:

8 显示密码输入正确

密码输入错误:

图9显示密码输入错误

警报灯亮:

图10 警报灯亮

重新输入密码:

图11 显示重新输入密码

参考文献

[1] 李连华. 基于FPGA的电子密码锁设计.中国科技信息,2006,(01):64

[2] 许琦. 基于FPGA的电子密码锁的设计.科技信息,2006,(10):240-241

[3] 王卫兵,刘克刚,朱秋萍. 用FPGA的电子密码锁.电子技术,2005,(01):26-28

[4] 赵益丹,徐晓林,周振峰.电子密码锁的系统原理、设计程序及流程图.嘉兴学院学报,2003,15(S1):103-105

[5] 陆重阳,卢东华.FPGA技术及其发展趋势.微电子技术,2003,(01):5-7

[6] 王晓勇.FPGA的基本原理及运用.舰船电子工程,2005,(02):82-85

[7] 程耀林.FPGA的系统设计方法解析.现代电子技术,2005,(19):90-93

[8] 石文轩,宋薇. 基于单片机MCS一1的智能密码锁设计[M]. 武汉:武汉工程职业技术学院学报,2004

[9] 谭浩强. C++程序设计[M].北京:清华大学出版社,2004

[10] 祖龙起,刘仁杰. 一种新型可编程密码锁[J]. 大连轻工业学院学报,2002,(01):1~89

[11] 李明喜. 新型电子密码锁的设计[J]. 机电产品开发与创新,2004,(03):46~123

[12] 董继成. 一种新型安全的单片机密码锁[J]. 电子技术,2004,(03):1~55

[13] 杨茂涛. 一种电子密码锁的实现[J]. 福建电脑,2004,(08):1~25

14

致谢

行文至此,我的这篇论文已接近尾声;岁月如梭,我三年的大学时光也即将敲响结束的钟声。离别在即,站在人生的又一个转折点上,心中难免思绪万千,一种感恩之情油然而生。生我者父母。感谢生我养我,含辛茹苦的父母。是你们,为我的学习创造了条件;是你们,一如既往的站在我的身后默默的支持着我。没有你们就不会有我的今天。谢谢你们,我的父亲母亲!

在这三年中,老师的谆谆教导、同学的互帮互助使我在专业技术和为人处事方面都得到了很大的提高。感谢江苏农林职业技术学院在我三年的大学生活当中对我的教育与培养,感谢江苏农林职业技术学院的所有专业老师,没有你们的辛勤劳动,就没有我们今日的满载而归,感谢大学三年曾经帮助过我的所有同学。在制作毕业设计过程中我曾经向老师们和同学们请教过不少的问题,老师们的热情解答和同学们的热心帮助才使我的毕业设计能较为顺利的完成。在此我向你们表示最衷心的感谢。

15

附录:

Protues仿真图:

Keil程序:

#include

#include "24c02.h"

#include "key.h"

#define DataPort P0

Unsignedchar

DuanMa[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x8c, 0x86,0xab,0xaf,0xff};

unsigned char

WeiMa[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

unsigned char

tempdata[8]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};

16

unsigned char key[8]={0,0,0,0,0,0,0,0};

unsigned char inputkey[8]={0,0,0,0,0,0,0,0};

bit sureflag=0;

bit changeflag=0;

bit changeflag1=0;

void SEG_Latch(void)

{

P2 |= 0xe0;

_nop_();

P2 &= 0x1f;

}

void BIT_Latch(void)

{

P2 |= 0xc0;

_nop_();

P2 &= 0x1f;

}

void display(uchar *point)

{

unsigned char i=0;

for(i=0;i<8;i++)

{

DataPort=WeiMa[i];

BIT_Latch();

DataPort=DuanMa[*(point+i)];

SEG_Latch();

delay_50us(20);

DataPort=0xff;

SEG_Latch();

}

}

void main(void)

{

int i,j=0,n;

17

unsigned char keytemp;

unsigned char temp[8]={14,14,14,14,14,14,14,14};

unsigned char mima[8]={1,2,3,4,5,6,7,8};

P2=0xa0;

P0=0x00;

P2&=0x1f;

while(1)

{

keytemp = keyscan();

if(keytemp != 0xff)

{

if((keytemp < 10))

{

if(changeflag1==0)

temp[i]= keytemp;

else

{

temp[i]=keytemp;

mima[i]=keytemp;

}

i++;

if(i>7)

{

i=0;

if(changeflag1)

{

changeflag=0;

changeflag1=0;

}

}

}

else if(keytemp == 11)

{

sureflag=1;

for(j=0;j<8;j++)

18

基于51单片机电子密码锁设计

一、设计目的 1.1课题简介 如何实现防盗是很多人关心的问题,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,使人们的人身及财产安全受到很大威胁。电子密码锁是一种依靠电子电路来控制电磁锁的开和闭的装置,开锁需要输入正确密码,若密码泄露,用户可以随时更改密码。因此其保密性高,使用灵活性好,安全系数高,可以满足广大用户的需要,现在广泛使用的有红外遥控电子密码锁,声控密码锁,按键密码锁等。 1.2课题研究目的 本设计是一种基于单片机的密码锁方案,根据基本要求规划单片机密码锁的硬件电路和软件程序,同时对单片机的型号选择、硬件设计、软件流程图、单片机存储单元的分配等都有注释。现在很多地方都需要密码锁,电子密码锁的性能和安全性大大超过了机械锁,为了提高密码的保密性,必须可以经常更改密码,以便密码被盗时可以修改密码。 本次设计的密码锁具备的功能:LED数码管显示初始状态“——————”,用户通过键盘输入密码,每输入一位密码,LED数码管相应有一位变为“P”,若想重新输入密码,只需按下“CLR”键。密码输入完毕后按确认键“#”,密码锁控制芯片将输入的密码和密码锁控制芯片中存储的密码相比,若密码错误,则不开锁,会有红灯亮提示,同时显示“Error”。若正确,则开锁,会有绿灯亮提示,同时显示“PASS”。用户可以根据实际情况随意改变密码值或密码长度,密码输入正确后可以按下“CHG”修改密码,输入新密码时每输入一位新密码相应有一位变为“H”,以便提示用户此时输入的是新密码,修改新密码时若想重新输入新密码只需按下“CLR”键即可。输入新密码后按确认键即修改成功,新密码写入单片机内部RAM中,以便以后用来确认密码的正确性。按下复位键,系统恢复初始状态,密码也恢复初始密码,本设计中初始密码是“096168”。 本次设计中硬件主要由我完成,软件主要由张振完成。 二、硬件设计 2.1概述 本系统主要由单片机最小系统、电源电路、输入键盘电路、输出显示电路、开锁电路等组成,系统框图如图1所示:

单片机电子密码锁_(可以修改设置密码)——基于51单片机与AT24C02与LCD1602显示

单片机电子密码锁(可以修改设置密码)——基于51单片机与AT24C02与LCD1602显示 其电路图连接如下:本人已经用硬件实验,程序可用。正确~~ 本程序特点:装载后读者可以自改密码,然后需要再次载入程序时:可以把主程序aa=Sendstring(0xa0,1,table2,6);这一句去掉。然后程序的电子锁密码就是你个人设置的密码。 程序代码为: #include #include #include #define uchar unsigned char #define uint unsigned int #define LCDIO P2 #define delay4us() _nop_();_nop_();_nop_();_nop_(); uchar buffer[6]={0}; sbit sda=P3^7; sbit scl=P3^6; sbit beep=P3^5; bit flag=0,aa; //用户蹲渊义定时溢出标志位 uchar DSY_BUFFER[16]=" ";

uchar DSY_BUFFER1[16]=" "; uchar Userpassword[6]={0}; sbit rs=P0^4; sbit rd=P0^3; sbit lcden=P0^2; sbit led=P3^0; uchar code table2[]="123456"; uchar code table[]="Your Password..."; void delayms(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void delay() //短延时,两个机器周期,做总线的延时用{;;} void write_com(uchar com) { rs=0; rd=0; lcden=0; P2=com; delayms(3); lcden=1; delayms(3); lcden=0; } void write_date(uchar date) { rs=1; rd=0; lcden=0; P2=date; delayms(3); lcden=1; delayms(3); lcden=0; } void Display_String(uchar *p,uchar com) { uchar i; write_com(com); for(i=0;i<16;i++) {

51单片机密码锁制作的程序和流程图

51单片码锁制作的程序和流程图(很详细) 一、基本组成: 单片机小系统+4*4矩阵键盘+1602显示+DC电机 基本电路: 键盘和和显示 键盘接P1口,液晶的电源的开、关通过P2.7口控制 电机(控制口P2.4) 二、基本功能描述: 1.验证密码、修改密码 a)锁的初始密码是123456(密码最长为10位,最短为1位)。 2.恢复初始密码 a)系统可以恢复初始密码,否则一旦忘记密码而又不能恢复初始密码,该锁就永远打不开。但是又不能让用户自行修改密码,否则其他人也可以恢复该初始密码,使得锁的安全性大大下降。

3.使系统进入低功耗状态 a)在实际使用中,锁只有在开门时才被使用。因而在大多数的时间里,应该让锁进入休眠状态、以降低功耗,这使系统进入掉电状态,可以大大降低系统功耗。 b)同时将LCD背光灯关闭 4.DC电机模拟开锁动作。 a)DC电机启动时解除开锁把手的锁定,允许通过把手开锁。DC电机不直接开锁,使得DC电机的功率不用太大,系统的组成和维护将变得简单,功耗也降了下来。 三、密码锁特点说明: 1.0 输入将被以字符形式输入,最长为10位。 超过10位时系统将自动截取前10位、但不作密码长度溢出提示。 2.0 开锁10秒后不允许更改密码、并提示修改超时_进入初始态,需要重新输入密码方可再次修改密码。 3.0 系统未使用存储器存储密码故掉电后密码自动恢复为初始密码。 4.0 若2分钟无任何操作,系统自动进入省电模式运行,同时关闭液晶显示,以节省电力。 5.0 输入密码正确后、电机允许开锁时间为5秒, 5秒后需要再次输入密码才可以再次开锁。 6.0 修改密码键和恢复初始密码键最好置于室。 这是Proteus仿真结果: 输入密码123456: 显示结果: 密码正确时电机启动、电机将持续5秒:

51单片机电子密码锁

目录 第1节引言 (1) 1.1 电子密码锁述 (1) 1.2 本设计主要任务 (1) 1.3 系统主要功能 (2) 第2节系统硬件设计 (3) 2.1 系统的硬件构成及功能 (3) 2.2 AT89C2051单片机及其引脚说明 (3) 第3节系统软件设计 (5) 3.1 系统主程序设计(流程图) (5) 3.2 软件设计思想 (5) 3.3 储单元的分配 (5) 3.4 系统源程序 (6) 3.5 系统应用说明 (9) 3.6 小结 (9) 结束语 (10) 参考文献 (11) 附录 (12)

电子密码锁 第1节引言 1.1 电子密码锁概述 随着社会物质财富的日益增长和人们生活水平的提高,安全成为现代居民最关心的问题之一。而锁自古以来就是把守门的铁将军,人们对它要求甚高,即要求可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。传统的门锁既要备有大量的钥匙,又要担心钥匙丢失后的麻烦。另外,如:宾馆、办公大楼、仓库、保险柜等,由于装修施工等人住时也要把原有的锁胆更换,况且钥匙随身携带也诸多便。随着单片机的问世,出现了带微处理器的密码锁,它除具有电子密码锁的功能外,还引入了智能化、科技化等功能。从而使密码锁具有很高的安全性、可靠性。目前西方发达国家已经大量应用智能门禁系统,可以通过多种的更加安全更加方便可靠的方法来实现大门的管理。但电子密码锁在我国的应用还不广泛,成本还很高,希望通过不断地努力使电子密码锁能够在我国及居民日常生活中得到广泛应用,这也是一个国家生活水平的体现。 很多行业的许多地方都要用到密码锁,随着人们生活水平的提高,如何实现家庭或公司的防盗这一问题也变的尤其突出,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,再者,普通密码锁的密码容易被多次试探而破译,所以,考虑到单片机的优越性,一种基于单片机的电子密码锁应运而生。电子密码锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲睐。 设计本课题时构思的方案:采用以AT89C2051为核心的单片机控制方案;能防止多次试探而不被破译,从而有效地克服了现实生活中存在的许多缺点。 1.2 本设计主要任务 (1)共8位密码,每位的取值范围为1~8。 (2)用户可以自行设定和修改密码。 (3)按每个密码键时都有声、光提示。 (4)若键入的8位开锁密码不完全正确,则报警5秒钟,以提醒他人注意。

基于51单片机的智能密码锁

单片机的电子密码锁 目录 第一章绪论......................................................... . (2) 1.1电子密码锁简介......................................................... .. (2) 1.2电子密码锁设计的背景及意 义............................................................................. . (3) 第2章总体设计............................................................................. . (3) 2.1设计分析............................................................................. (3) 2.2系统结构............................................................................. (4) 第3章硬件电路设计............................................................................. (5) 3.1单片机最小系统设计............................................................................. . (5) 3.1.1时钟电路............................................................................. (5) 3.1.2 复位电 路 ............................................................................ . (6) 3.1.3 最小系 统 ............................................................................

基于单片机的密码锁

基于单片机的密码锁 在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开 锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。 随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。 为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。 密码锁具有安全性高、成本低、功耗低、易操作等优点。 在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在 技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是 单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外, 还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、 可靠性,应用日益广泛。 随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只

能适用于保密要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容 易机械损坏,IC卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接收程度,电子 密码锁是这类电子防盗产品的主流。 基于以上思路,本次设计使用ATMEL公司的AT89C51实现一基于单片机的电子密码锁的设计,其主要具有如下功能: (1)设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。 (2)密码可以由用户自己修改设定(只支持6位密码),锁打开后才能 修改密码。修改密码之前必须再次输入密码,在输入新密码时候需要 二次确认,以防止误操作。 (3)报警、锁定键盘功能。密码输入错误数码显示器会出现错误提示, 若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘。 电子密码锁的设计主要由三部分组成:4×4矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。另外系统还有LED提示灯,报警蜂鸣器等。 密码锁设计的关键问题是实现密码的输入、清楚、更改、开锁等功能: (1)密码输入功能:按下一个数字键,一个“-”就显示在最右边的 数码管上,同时将先前输入的所有“-”向左移动一位。 密码清除功能:当按下清除键时,清除前面输入的所有值,并清(2) 除所有显示。 (3)密码更改功能:将输入的值作为新的密码。 (4)开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如 果正确锁打开,否则不打开。

基于51单片机的无线电子密码锁课程设计

单片机课程设计报告书 基于89C51单片机 课题名称 无线电子密码锁的设计姓名刘武 学号131220330 学院通信与电子工程学院 专业电子信息工程 指导教师祝秋香讲师 2015年12月20日

基于89C51单片机无线电子密码锁的设计 1 设计目的 (1)了解MCS-51单片机使用方法和熟悉蓝牙模块; (2)掌握AT89C51芯片的使用方法及蓝牙模块的连接与使用; (3)熟悉单片机程序仿真软件Proteus的使用; (4)了解MCS-51单片机开发板工作原理以及芯片的组合; (5)熟悉无线电子密码锁的设计及实现。 2设计思路 2.1 选择设计电路 设计51单片机与蓝牙连接的电路。 2.2 所选设计电路的原因 (1)由于无线电子密码锁的设计需要用到蓝牙模块,用到的单片机资源并不是很多,而51单片机的资源有8位CPU、4KB的ROM、128B的RAM、2个16位定时/计数器、4组8位的I/O、1个串口和5个中断源,可以更有效率的利用到51单片机的资源。 (2)可现实无线功能的模块有:蓝牙模块、无线模块、红外遥控模块,因为相对之下,蓝牙模块更容易实现,更容易操作,最后选择蓝牙模块实现手机远程控制。 (3)为了提高效率,可以利用51单片机开发板的硬件,用LED灯模拟密码锁的开关,当LED灯亮起时代表锁已经开启,熄灭则代表密码锁被关闭。应用在实际中可用继电器替代LED的亮灭去控制强电开关。 3 设计过程 3.1 设计总框图 无线电子密码锁分为两个主要功能模块:51单片机模块,蓝牙实现模块。这两个模块共同工作完成本电路的功能实现。其中利用AT89C51芯片来实现51单片机模块功能,完成数码管、发光二极管的实现,同时利用HC06蓝牙模块来

51单片机密码锁程序

自己做的基于单片机的密码锁设计(c语言设计) 时间:2011-08-16 21:08:01 来源:作者: 自己做的基于单片机的密码锁设计(c语言设计) 系统说明 该系统如图所示使用了80C51单片机、普通键盘、排阻、1602液晶。 该系统的功能: ①该系统输入正确的密码LED灯会亮(其实就是很多操作都可以,用LED只是 代表作用,主要是操作简单,效果明显。) ②系统可以修改密码;(系统断电后重启后必须用初始密码(初始密码是:000000) 重新改密,当然修改的密码可以与掉电前的一样。) 具体操作: ①系统开机时显示请输入密码的提示,直接输入密码#键确认 ②系统会自动提醒密码错误,数秒后系统会再次提醒重新输密码。 ③在系统提醒输入密码的界面可以按*键修改密码,系统会提醒输入两次密码,并 且会检查两次密码是否相同。同则修改成功。否则在数秒后可以重新按*键修改。 ④在改密前(就是按了*键后系统)会提醒身份识别,请输入旧密码,系统判断旧 密码正确方可更改密码。 源程序 #include #define uchar unsigned char #define uint unsigned int sbit lcdrs=P3^0; sbit lcdrw=P3^1; sbit lcden=P3^2; sbit h1=P1^0; sbit h2=P1^1; sbit h3=P1^2; sbit sa=P1^3; sbit sb=P1^4; sbit sc=P1^5; sbit sd=P1^6; sbit kd=P3^7; uchar code table[]=" PLEASE INPUT "; uchar code table1[]="CODE: "; uchar code table2[]=" *****WIN*****"; uchar code table3[]=" PLEASE AFFIRM"; uchar code table4[]=" *****FAIL*****"; uchar code table5[]=" MODIFICATION"; uchar code table6[]=" IDENTITY LIMITS "; uchar unm,M1,M2,M3,M4,M5,M6,sex,k1,k2,k3,k4,k5,k6,flge,flge1; uchar q1,q2,q3,q4,q5,q6,w1,w2,w3,w4,w5,w6,g;

基于51单片机的电子密码锁设计

基于51单片机的电子密码锁设计 摘要:本文设计了一种基于单片机的电子密码锁,由单片机系统、矩阵键盘、LED显示和报警系统组成。系统能完成开锁、超次锁定、报警、修改用户密码基本的密码锁的功能。除上述基本的密码锁功能外,还具有掉电存储、声光提示等功能。本密码锁具有安全性高、成本低、功耗低、易操作、记住密码即可开锁等优点。 关键词:STC89C52;电子密码锁;矩阵键盘 1绪论 1.1 课题背景 随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高锁的安全性。由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。但较实用的还是按键式电子密码锁。 1.2 课题设计目标 本设计采用STC89C52单片机为主控芯片,通过软件程序组成电子密码锁系统,能够实现: (1) 密码输入错误,蜂鸣器报警。 (2) 密码为6位,可以随意更改, (3) 采用矩阵按键输入。 (4)通过LCD1602液晶显示。 (5) 有开锁指示灯。 (6)查阅有关文献与资料,深入学习单片机硬件原理图及软件编程相关知识。 2系统方案论证 系统将从主控部分和密码输入方式两方面进行论证。

基于单片机数字密码锁的设计要点

摘要 随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。 单片机也被称微控器,是因为它最早被用在工业控制领域。单片机是靠程序运行的,并且可以修改。 本设计系统主机采用8052单片机,MCS-51单片机的程序存储器和数据存储器的地址空间是相互独立的,而且程序存储器一般为ROM或EPROM,只能读出不能写入。扩展用的程序存储器芯片大多采用EPROM芯片,最大可扩展到64K字节。该设计使用矩阵键盘输入。LED数码管显示输入密码,用74HC245驱动数码管发光显示数码,LCD1602控制显示。密码正确,二极管发光。输入密码错误次数超过三次系统报警,蜂鸣器发出报警音。 关键词:单片机软件电路硬件电路

目录 第一章设计要求 (1) 第二章系统组成及工作原理 (2) 第三章硬件电路设计 (3) 3.1 STC89C52单片机的介绍 (3) 3.2单片机最小系统 (5) 3.3键盘电路设计 (6) 3.4 LCD1602显示电路 (8) 3.5开锁电路 (11) 3.6报警电路 (11) 3.7仿真效果图 (12) 第四章软件设计 (13) 4.1 PROTEUS仿真软件 (13) 4.2 KEIL编译设计 (15) 4.3 普中ISP自动下载软件 (16) 4.4程序流程图 (18) 第五章设计、调试和测试结果与分析 (19) 第六章设计小结 (23) 参考文献 (24) 附录 (25)

第一章设计要求 采用单片机、LCD等芯片,设计电子密码锁,能随时修改密码,具有防多次试探功能,连续输入密码达到一定次数,发出光声报警密码输入错误时有报警功能,连续输入3次错误,键盘自锁,等待管理解锁;开锁后或修改密码后可以选择退出,返回开锁前状态。掌握Proteus软件的基本应用,用于设计与仿真,需要用PROTEUS软件绘制电路原理图及局部原理图;掌握单片机编程语言,可选用汇编语言或C语言; 本次课程设计是要设计一个数字密码锁,设计要求如下: 1、设计一个数字式密码锁。 2、密码由4 – 6位数字组成。 3、密码相符开锁,三次不符报警。 4、密码可以更新。

基于51单片机的电子锁

基于51单片机的电子锁 设计说明书 一、概述: 随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。 本设计以单片机AT89C51作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构(本设重点介绍主机设计),实现钥匙信息在主机上的初步认证注册、密码信息的加密、钥匙丢失报废等功能。根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。而且采用键盘输入的电子密码锁具有较高的优势。采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。测试结果表明,本系统各项功能已达到本设计的所有要求。 着社会科技的进步,锁已发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。(如指纹、眼底视网膜等)来控制锁的开启。从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。当今安全信息系统应用越来越广泛,特别在保护机密、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究它具有重大的现实意义。 二、设计目的和任务: 1.熟悉8051单片机的内部结构和功能,合理使用其内部寄存器 2.能完成相关软件编程设计工作。为实现预期功能,能够对系统进行 快速的调试,并能够对出现的功能故障进行分析,及时修改相关软硬件。 3.对软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方 面得到较全面的锻炼和提高。 4.密码由用户自己设定,在开锁状态下,用户可自行修改密码。 5.具有自动报警功能。自动报警分现场报警和远程报警两种。现场报 警由扬声器发出报警声。 三、方案选择:

51单片机简易密码锁

学号: 单片机课程设计说明书设计题目:简易电子密码锁

成绩评定表

摘要 在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。 在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。 本课程设计介绍了基于单片机电子密码锁的设计,该设计硬件主要由AT89C52最小系统、矩阵电路、1602LCD显示电路、电源电路和报警电路等几部分组成。软件主要由C语言编程。该密码锁由单片机技术,通过矩阵电路设置、修改密码、保护密码,并由LCD显示密码输入,从而实现对密码的设置、保护。 关键词:单片机,密码锁, 1602,最小系统,矩阵键盘

Abstract In daily life and work, the department of housing and security, unit documents, financial statements and some personal information to save more in order to lock the ways to solve. If use the traditional mechanical key to open the lock, people often need to carry multiple keys, use very convenient, and the key missing after security is compromised. With the continuous development of science and technology, people in daily life the demand is higher and higher safety insurance device. To meet the requirements of people on the use of the lock, increase its safety, use the password instead of the key combination lock arises at the historic moment. Combination lock with high safety, low cost, low power consumption, easy operation, etc. In the field of security technology to guard against, with electronic combination lock anti-theft alarm function gradually replace the traditional mechanical combination lock, overcoming the mechanical combination lock password quantity is little, the shortcomings of poor safety performance, make the combination lock both in technology and step in performance are improved greatly. With the development of large scale integrated circuit technology, especially the single chip microcomputer, appeared with the intelligent combination of the microprocessor, it besides has the function of electronic combination lock, also introduced the intelligent management, expert analysis system, and other functions, so that the combination lock of high security, reliability, and increasingly widely used. The course design of electronic combination lock based on MCU is introduced, the design of the hardware is mainly composed of AT89C52 minimum system, matrix circuit, 1602 LCD display circuit, power circuit and alarm circuit and so on several parts. Software is mainly composed of C language programming. The combination lock by the single chip microcomputer technology, through the matrix circuit setting, change passwords, password protection, and by the LCD display password input, so as to realize the password Settings, protection.

基于单片机的电子密码锁设计和实现

河南理工大学万方科技学院课程设计报告 2015— 2016学年第一学期 课程名称单片机原理及应用 设计题目电子密码锁设计 学生姓名杨会毫 学号 1516353019 专业班级计算机15升 指导教师苏百顺 2016 年 1 月 5 日

摘要 近年来,随着改革开放的深入发展,电子电器的飞速发展。人民的生活水平有了很大提高。各种高档家电产品和贵重物品为许多家庭所拥有。然而不法分子也是越来越多,原因在于大部分人防盗意识还不够强,造成偷盗现象屡见不鲜。越来越多的居民家庭对财产安全问题十分担忧。因此,出于安全方便等方面的需求,电子密码锁相继问世。 本设计是以单片机AT89S51为主控芯片,并结合外围液晶显示LCD1602、存储芯片AT24C02、红外遥控HS0038,以及键盘输入、复位、电源等电路组合而成。系统能够完成开锁、报警、修改密码等基本功能,还能够通过红外来控制单片机的开锁,以及掉电储存密码的功能。整个设计在Keil开发环境下,用C语言编写主控芯片的控制程序来实现具有多功能的电子密码锁。 关键词:密码锁 AT89S51 储存显示红外

目录 摘要............................................................ I 引言. (1) 1 概述 (2) 1.1 课题背景和意义 (2) 1.2电子密码锁的发展趋势 (2) 2 系统总体设计思路 (3) 2.1 系统设计要求 (3) 2.2系统设计方案 (3) 3 系统硬件设计与实现 (4) 3.1主控芯片AT89S51 (4) 3.2 存储模块AT24C02 (6) 3.3红外模块HS0038 (9) 3.4 显示模块LCD1602 (10) 3.5 电源电路模块 (11) 3.6 键盘输入模块 (12) 3.7 报警电路 (13) 3.8 开锁电路 (13) 3.9 复位电路 (14) 3.10串行通信电路 (14) 3.11 系统整体原理图 (16) 4系统软件设计 (17) 4.1 主程序设计 (17) 4.2键值判断设计 (18) 4.3开锁设计 (19)

基于STC89C51单片机的密码锁END

基于STC89C51单片机的电子密码锁 学生姓名:赵丽丽宋帅高秋利 学生学号: 1104101005 1104101021 1104101001 院(系):机电工程学院 年级专业: 11级电子信息工程1班 指导教师:王秀山 二〇一五一月

目录 1 绪论 1.1电子密码锁简介 (3) 2 设计方案 (4) 3 主要元器件 (5) 3.1 主控芯片STC89C51 (5) 3.2 晶体振荡器 (5) 3.3 LCD显示密码模块的设计 (7) 3.3.1 LCD1602简介 (7) 3.3.2 LCD1602液晶显示模块与单片机连接电路 (8) 4 硬件系统设计 (9) 4.1 设计原理 (9) 4.2 电源输入电路 (9) 4.3 矩阵键盘 (10) 4.4 复位电路 (10) 4.5 晶振电路 (11) 4.6 报警电路 (12) 4.7 显示电路 (12) 4.8 开锁电路 (12) 4.9 电路总体构成 (13) 5 软件程序设计 (14) 5.1 主程序流程介绍 (14) 5.2 键盘模块流程图 (15) 5.3 显示模块流程图 (17) 5.4 修改密码流程图 (18) 5.5 开锁和报警模块流程图 (19) 6 电子密码锁的系统调试及仿真 (21) 6.1硬件电路调试及结果分析 (21) 6.2软件调试及功能分析 (21) 6.2.1调试过程 (21) 6.2.2 仿真结果分 (22) 6.3 仿真全图 (24) 7 结论 (25) 参考文献 (26) 附录: (27)

1 绪论 1.1电子密码锁简介 电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。其特点如下: 1) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。 2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因 人员的更替而使锁的密级下降。 3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。 4) 无活动零件,不会磨损,寿命长。 5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。 6) 电子密码锁操作简单易行,一学即会。

基于51单片机的简易电子密码锁

基于51单片机的简易电子密码锁购买清单电子密码锁元器件清单: 9X15cm万用板1片 单片机+IC座1套 221排阻1只 AT24C02+IC座1套 1602液晶显示屏 1个 单排座(16针) 1条 单排针(16针)1条 精密可调电阻10K 1只 按键17只 12M晶振1只 22P瓷片电容2只 10uF极性电容 1只 10K电阻1只 DC电源座1只 自锁开关1只 4.7K色环电阻6只 5V继电器1只 蜂鸣器1只 三极管S8550 2只 发光二极管红绿各1只(共2只) 导线若干 USB电源线1条 一、实现功能: 1、设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。 2、密码可以由用户自己修改设定(只支持6位密码),锁打开后

才能修改密码。修改密码之前必须再次输入密码,在输入新密 码时候需要二次确认,以防止误操作。 3、报警、锁定键盘功能。密码输入错误显示器会出现错误提示, 若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘。 4、AT24C02保存密码,支持复位保存,掉电保存功能。 二、按键说明 按键定义图 如图示:采用4X4键盘输入,键盘对应名称如下: 1 2 3 A 4 5 6 B 7 8 9 C * 0 # D 其中,【0—9】为数字键,用于输入相应的密码,

【*】号键为取消当前操作 【#】号键为确认 【D】键为修改密码 其它键无功能及定义 三、作用说明: 密码锁初始密码为:000000. 1、开锁:插上电源后,程序自动调入初始密码,此时依次输 入:000000,然后按【#】(确认)键,此时锁会打开,可以 看到显示open,密码锁打开。(如为自己焊接,请首次使用 输入:131420,对密码进行初始化,当显示出现:initpassword, 证明密码初始化完成,此时初始密码即为:000000)。 2、退出并关锁:按下【*】(取消)键,此时锁关闭,所有输 入清除。 3、修改密码:在开锁状态下,再次输入正确的密码并按下【#】 (确认)键,此时听到两声提示,输入新的六位密码并按【D】 (重设)键,再重复输入一次新密码并按【D】,会听到两 声提示音,表示重设密码成功,内部保存新密码并存储到 AT24C02。(如两次输入的新密码不一样,则重设密码失败)。 4、报警并锁定键盘:当输入密码错误后,报警并锁定键盘3 秒,如3秒内又有按键,3秒再启动。 5、当重置新密码时,新密码会保存于AT24C02存储器里。

51单片机简易密码锁

学号:201114040215 HEBEI UNITED UNIVERSITY 单片机课程设计说明书 设计题目:简易电子密码锁 学生姓名:李红辉 专业班级:测控技术及仪器2 学院:电气工程学院 指导教师:曹晓华 2014年06月05日

成绩评定表

摘要 在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。 在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。 本课程设计介绍了基于单片机电子密码锁的设计,该设计硬件主要由AT89C52最小系统、矩阵电路、1602LCD显示电路、电源电路和报警电路等几部分组成。软件主要由C语言编程。该密码锁由单片机技术,通过矩阵电路设置、修改密码、保护密码,并由LCD显示密码输入,从而实现对密码的设置、保护。 关键词:单片机,密码锁, 1602,最小系统,矩阵键盘

基于单片机的电子密码锁设计开题报告

毕业设计(论文)开题报告题目:基于单片机的电子密码锁设计

一、选题的依据及意义 (一)选题依据 随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古以来就是把手护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这是制锁者长期以来研制的主题。目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。相比传统的机械式钥匙开锁携带不方便、安全性能差等特点,电子密码锁易操作、功能低等优势,使其越来越成为市场上的主流产品。如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜。电子密码锁是由电子电路控制锁体的新型锁具,它采用触摸键盘方式输入开锁密码,操作方便。触摸式电子锁的输入部分采用触摸开关(键盘输入),其优势在于其保密性高,使用灵活性好,安全系数高,无活动零件,不会磨损,寿命长等优点。本设计采用单片机MCS51作为单片机的核心单元,设计了一款具有本机开锁,密码更改和报警功能的电子密码锁。即简单又适用。根据单片机技术及相关原理,设计出一款以单片机为控制核心并融合了红外线技术的新型密码锁。该锁结合电子密码和光控的技术优势,摆脱了老式机械锁难更换,易损坏以及电子锁安全性不高的缺点,是一类极具发展前景新型锁。 (二)选题意义 在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用也日趋重要。针对平常锁具给人们带来的不便,若使用机械式钥匙开锁,则结构简单,安全性不好。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生,电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。它的出现为人们的生活带来了很大的方便,有很广阔的市场前景,相信随着社会的进一步发展,它的方便,安全,实用,小巧,精致的特点会越来越得到人们的喜爱,是人们居家旅行必备之品。促进加深单片机原理及应用知识的掌握。促进加深数电、模电知识的掌握。熟悉单片机程序设计语言。熟悉PROTEL环境下设计一个单片机设计系统的方法,并熟练掌握KEIL和PROTEL联调技术。促进电子密码锁知识的普及和发展。 二、国内外研究现状及发展趋势(含文献综述) (一)国外研究 早在80年代,日本产生了最早的电子密码锁。随着日本的经济复苏,电子行业的快速发展,一些利用简单的门电路设计的密码锁出现了。这类的电路安全性差、容易破解,到了90年代,英国、意大利、德国、日本、加拿大、韩国以及我国的台湾、香港等地的微电子技术的进步和通信技术的发展为密码锁提供了技术上的基础,从而推动密码锁走向实际应用的阶段。采用AT24C02为掉电存储器的芯片,这种芯片稳定性高,成本低,还能扩展很多功能。加红外探测技术,指纹识别技术,语音识别技术,图像识别技术等。这些扩展的技术

基于51单片机电子密码锁设计论文

基于单片机的电子密码锁设计 1 绪论 1.1 引言 随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱。锁是置于可启闭的器物上,用以关住某个确定的空间范围或某种器具的,必须以钥匙或暗码打开的扣件。锁具发展到现在已有若干年的历史了,人们对它的结构、机理也研究得很透彻,因此,不用钥匙就能打开的方法和工具也层出不穷。现代人类文明社会里,由于社会中各种矛盾冲突十分剧烈,人们的思想道德观念,价值观念,文化修养水平等差异,群众中良莠不齐,善良的人们能够自觉规范自已的行为,“非礼不为”,虽无钥匙亦不会乱闯。然而,那些毫无道德观念的盗贼却想方设法利用高科技手段撬门开锁,使广大居民防不胜防。 为什么会出现这种情况呢?因为传统锁具都存在致命的弱点: 第一、锁芯采用常见的铜、铝、锌等材料,抵抗不了强力破坏; 第二、锁具制作工艺,技术落后,无法阻止技术手段的开启。 目前,市场上很多国内外的锁具,实际上都不具备真正的防盗功能。在惯偷面前,两根钢丝或几件简单的工具就可以把这些锁打开,有的惯偷甚至公开扬言:“没有我打不开的锁。”其实,不是他们多高明,而是一般锁具技术原理太过简单。面对这一残酷的现状,新时代提出了锁具必须革命的迫切的要求。 1.2 电子密码锁的背景 随着社会科技的进步,锁已发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。(如指纹、眼底视网膜等)来控制锁的开启。从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。当今安全信息系

相关文档
最新文档