《智能电子密码锁(共13页).doc》由会员分享,可在线阅读,更多相关《智能电子密码锁(共13页).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上智能电子密码锁目录摘要:自从人类开始制造锁以来长期所使用的锁都是机械锁,通俗的讲就是弹子芯锁。而传统的弹子芯锁,由于其本身锁芯密齿的有限加之开锁工具钥匙的容易复制性,使得其安全性大大降低,随着人们生活质量的提高,如何实现安全有效的防盗这一问题受到越来越多人的关注。传统的机械锁由于安全性能太差,被撬的事件屡见不鲜,相比之下,电子密码锁因其保密性强,使用灵活性好,安全系数高,还省去了传统机械锁的钥匙,使用者只要记得其密码,便可以开启,从而大大提高了防盗功能,本文主要设计了一种以STC89C51为核心的电子密码锁,详细的介绍了该电子密码锁完整的设计过程以及外围的开锁电路和报
2、警电路的设计。本电子密码锁开锁方式为键盘开锁、手机APP开锁、刷卡开锁,同时具有以下功能:更改密码,误输入报警等。关键词:STC89C51 刷卡 键盘控制 手机遥控 指示灯 电机控制 基于51单片机的电子密码锁的设计 一、背景 在人们的日常生活中,锁被广泛使用,人们常用锁具来保证一些贵重物品乃至自己家庭的安全,目的就是为了提高安全性。常见的锁有普通机械锁、机械密码锁、电磁卡锁、指纹(虹膜)锁等。普通的机械锁极容易被强行破坏,安全系数不高,并且需要携带过多的钥匙,给生活带来不便;机械密码锁虽然安全系数高但造价相对较高;电磁卡锁由于磁卡信息极易受外界干扰而失磁导致无法开锁,而指纹(虹膜)锁虽然安全
3、性很好,但会因手指划伤或虹膜充血等收到限制。因此研究一种新型的密码锁是具有有很高的现实需求性。从是否方便的角度看,电子密码锁省去了传统机械锁的钥匙,电磁卡锁的磁卡,使用者只要记得其密码,便可以开启,从而大大提高了其适用性。因此电子密码锁的具有较高的研究价值。基于此,我们组将设计一款电子密码锁,使其同时具有按键、射频卡、手机APP三种开锁方式。二、系统总体方案设计本系统由矩阵键盘模块、射频识别模块、蓝牙通信模块、指示灯、蜂鸣器、电机和NOKIA5110液晶显示屏构成。以STCT89C51单片机为控制核心,将实现按键密码解锁、射频卡识别解锁以及基于手机终端的密码解锁,同时具有更改密码和密码输入错误
4、报警等功能,与此同时由NOKIA5110,步进电机,指示灯显示防盗门的开闭状态。系统框图如图1所示: 图1 系统整体框图三、主要功能实现 本次设计使用STC89C51单片机实现基于单片机的电子密码锁的设计,其主要具有如下功能:(1)开锁:设置4位密码,密码可通过键盘输入或通过手机软件输入,若密码正确,则将锁打开,或者通过刷卡,经识别正确信息则将锁打开。(2)更改密码:密码可以由用户自己修改设定(只支持4位密码),锁打开后才能修改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。(3)误输入报警、锁定键盘:密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过
5、3次,蜂鸣器报警并且锁定键盘。 密码锁设计的关键问题是实现密码的输入、清除、更改、开锁等功能:(1)密码输入功能:按下一个数字键,数字即从左边开始显示,直到按下四位密码后,再按确认键,密码正确门开。(2)密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。(3)密码更改功能:将输入的值作为新的密码。(4)开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。四、方案设计与论证4.1按键解锁部分由于按键解锁部分要求按键个数较多,为减少I/O的使用数目,本部分采用矩阵行列式键盘的方式,在按键比较多的时候,通常采用这样方法。每一条水平(行线)与垂直线(列线
6、)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有NM个按键的键盘。这种连接方式使单片机的整一个8位端口可以构成 4*4=16 个矩阵式按键,相比独立式按键接法I/O利用率提高了一倍,而且线数越多区别就越明显,假如再多确定矩阵式键盘上任何一个键被按下通常采用行扫描法,行扫描法又称为逐行查询法它是一种最常用的多按键识别方法。4.2手机通信部分本部分主要目的是实现手机开锁软件与密码锁的互联,使用户可以通过手机开锁软件开锁。实现本部分的功能有两种解决方案。4.2.1 采用WIFI模块WIFI模块又名串口WIFI模块,属于物联网传输层,功能是将串口或
7、TTL电平转为符合WIFI 无线网络通信标准的嵌入模式。传统的硬件设备嵌入WIFI模块可以直接利用WIFI连入互联网,实现硬件设备与软件设备的互联。但是WIFI安全性较差,可能存在非法人士窃取密码从而进入互联网,进而控制密码锁,使用户家庭安全无法受到良好保障。4.2.2 采用蓝牙模块蓝牙模块是一种集成蓝牙功能的PCBA板,用于短距离无线通信,与WIFI模块使用方式相仿,然而蓝牙模块使用时需要用户与终端配对,以达到入网的目的,所以相比于WIFI模块,蓝牙模块的安全性更高,所以本部分采用蓝牙模块实现软硬件的互联。4.3射频卡控制部分电子标签,即射频卡,由IC卡片、感应天线组成,封装在一个标准的PV
8、C卡内,芯片及其天线无任何外露部分。卡片无需电源,在一定范围内靠近读写器时,通过天线的传递来完成数据的读写操作。天线的作用就是产生磁通量,为卡片提供电源,在读写器和卡片之间传送信息。天线的有效电磁场范围就是系统的有效工作区域。读写芯片选取Philips生产的用于读写Mifare1卡的专用芯片MFR500,工作频率为13.56MHz。4.4显示部分4.4.1 采用七段数码管显示显示电路暂时选用7段数码管设计,采用并行显示的方式,即单片机的P00-P07作为段选码口,P20-P23为位选码口。但是七段数码管显示不够灵活,且会占用过多的I/O口,所以本部分不采用七段数码管显示密码。4.4.2 采用L
9、CD1602液晶显示器显示LCD1602可以显示32个字符,占用11个I/O口,功耗较大,不利于本系统的显示,所以不采用LCD1602作为显示部分。4.4.3 采用NOKIA5110液晶显示器显示NOKIA5110性价比高,可以显示15个汉字,30个字符;接口简单,仅占用4个I/O便可以驱动;该显示器的显示速度比一般液晶显示屏快;NOKIA5110的驱动电压为3.3V,大大降低了驱动功耗。综上所述,本部分将NOKIA5110应用于显示部分。 五、各部分电路5.1按键解锁部分电路 在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通而是通过一个按键加以连接,结构如下图所示:R1R4用于限流,保护
10、单片机。 矩阵键盘电路图5.2蓝牙部分电路蓝牙模块与单片机通讯部分如图所示:5.3液晶显示部分电路5.4射频卡部分电路5.5指示灯、蜂鸣器电路六、程序结构框图开始N检测按键Y蓝牙解锁刷卡解锁按键解锁NN输入四位密码、判断N检测按键蓝牙配对、检测密码寻卡YYY开门结束七、源程序代码7.1各部分定义sbit red = P06;sbit green = P07;sbit fmq = P00;/*电机驱动参数*/#define MotorData P1 unsigned char phasecw4 =0x08,0x04,0x02,0x01;/正转电机导通相序 unsigned char phasec
11、cw4=0x01,0x02,0x04,0x08;/反转电机导通相序 /*刷卡模块参数*/#definedelay_time25767#define uchar unsigned char#define uint unsigned int/sbit MF522_NSS =P14 ;/RC500片选 SDA/sbit MF522_SCK = P12;/sbit MF522_SI = P11; /MOSI/sbit MF522_SO = P10; /MISO/sbit MF522_RST = P13; uchar code line=secret:; unsigned char g_ucTempbu
12、f20;/*键盘模块参数*/bit last_pwflag;/前一次密码输入正确与否标志bit flag=0;/密码输入正确与否int key,key0,tempkey;int keycode4;/输入密码uchar selfdefinebuf4;/自定义密码存储区int secret4=1,2,3,4;/设置密码int wrongtime=0;int num=0;int cnum=0;void LCD_write_english_string(unsigned char X,unsigned char Y,char *s);void LCD_clear(void);void LCD_init
13、(void);unsigned char code key_code= 0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d, 0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77 ;/*蓝牙模块参数*/unsigned char tmp;unsigned int i,j,z=0;int a4=1,2,3,4;int c10=10,10,10,10,10,10,10,10,10,10;int d10=10,10,10,10,10,10,10,10,10,10;7.2主程序void main( ) unsigned int jp=0; unsi
14、gned int tx; unsigned int ly=0; unsigned char status; unsigned int temp; unsigned int cuowu=0; unsigned cuo=0; uchar scan1,scan2,keycode,j; red=0;green=0;fmq=0; LCD_init(); /初始化液晶 LCD_clear(); LCD_write_english_string(0,0, Mike HOME ); while (1) /lanya();P2=0xf0; scan1=P2;if(scan1&0xf0)!=0xf0) /判键是否
15、按下 delay(300); /延时300ms scan1=P2; if(scan1&0xf0)!=0xf0) /二次判键是否按下 P2=0x0f; scan2=P2; keycode=scan1|scan2; /组合成键编码if(keycode = 0xe7) /查表得键值 jp=1;LCD_clear();LCD_write_english_string(0,0, Mike HOME );LCD_write_english_string(0,1, Passwords: );else if(keycode = 0xb7)tx=1;LCD_clear();LCD_write_english_s
16、tring(0,0, Mike HOME );else if(keycode = 0x77)ly=1;LCD_clear();LCD_write_english_string(0,0, Mike HOME );LCD_write_english_string(0,1, Bluetooth ); if(jp=1) jianpan(); if(tx=1) InitializeSystem( ); PcdReset(); /寻卡 PcdAntennaOff(); /关闭天线 PcdAntennaOn(); /开启天线tianxian();tx=0;if(ly=1)cuowu=lanya();if(c
17、uowu=3)ly=0; 八、结语该课程的主要任务是开发一个以STC89C52单片机为核心的电子密码锁。软件采用C语言编写,采用模块化设计思想,程序可读性强,能满足设计要求,达到设计指标,实现了开锁、系统修改密码,多次输入错误报警等功能。本设计符合设计要求,操作简单,方便易用,功能性较强,具有一定的实践意义和使用价值。 本操作简单,易于实现。硬件部分采用的器件应用比较广泛,且价格低廉,如STC89C52单片机、矩阵按键、NOKIA5110、步进电机、发光二极管等。这意味着所用的器件功能比较强大、稳定,尤其是本次设计的核心元件的核心元件STC89C52单片机,软件技术成熟。这类微处理器既可用作控制器有适合于做数据处理,而且成本低廉。软件采用模块化设计,可读性强,方便二次开发。九、参考文献1.王志宏;薛增涛;陈志军;杜深惠;J;安防科技;2007年12期2.宋戈,程勇,曲祥雯;非接触式IC卡及其在门禁系统中的应用J;山东科技大学学报(自然科学版);2004年03期3郭海英;基于单片机的电子安全密码锁的设计J;现代电子技术;2005年13期4顾光旭;J;盐城工学院学报(自然科学版);2009年01期5陈进超;D;华中师范大学;2006年12期6何将三,陈国栋;J;单片机与嵌入式系统应用;2004年11期专心-专注-专业
限制150内