APP下载

基于WiFi的51单片机双层密码保险箱的设计与实现

2016-12-15曾维鹏

电子测试 2016年22期
关键词:密码锁保险箱键盘

曾维鹏,黄 果

(海南软件职业技术学院,海南琼海,571400)

基于WiFi的51单片机双层密码保险箱的设计与实现

曾维鹏,黄 果

(海南软件职业技术学院,海南琼海,571400)

本设计以WiFi的51单片机模块WiFiPro-C5110为主控核心,结合4*4矩阵键盘、LCD12864液晶屏、继电器、蜂鸣器、LED等电路构成一套完整的双层密码保险箱系统。该系统通过单片机、矩阵键盘输入开锁密码,同时要求通过手机、平板等移动设备输入授权密码,当开锁、授权密码都正确的情况下方能打开保险箱锁。该保险箱具有开锁密码、授权密码掉电均不丢失,且密码锁在掉电的情况下处于不能开启状态。

单片机; WIFI模块;矩阵键盘;LCD12864液晶屏

0 引言

在日常生活和工作中,单位的文件档案、一些个人资料的保存多以加锁的方法来解决。目前门锁主要弹子锁,其钥匙容易丢失。机械锁结构较为复杂,精度要求高,成本高,且易出现故障,使用极不方便,且钥匙丢失后开锁也不便且安全性低。针对以上缺陷电子密码锁替代钥匙密码锁应运而生。随着互联网技术的发展,密码锁也出现了很多的种类,功能日益强大,使用更方便,安全保密性更好,从以前的单密码输入发展到现在的双层密码锁,实现了真正的电子加密。本文所设计的双层密码保险箱保险箱锁在按键输入开锁密码和手机、平板等移动设备输入授权密码都对的情况下方可打开保险箱锁,用户只有密码或手机授权码是无法开锁的,实现双层密码保护。

1 系统方案论证与比较

1.1 系统结构

双层密码箱保险系统由以WiFi的51单片机模块WiFiPro-C5110为主控核心,该模块是带WiFi模块的STC12C5A60S2,结合4*4矩阵键盘、LCD12864液晶屏、继电器、蜂鸣器、LED等部分构成。

2 方案比较与选择

(1)WiFi模块方案比较与选择

方案一:独立串口的WiFi模块ESP8266:通过串口与单片机的串口相连,发送数据。

方案二:兼容WiFi的单片机模块WiFiPro-C5110:STC12C5A60S2兼容WiFi模块,WiFiPro封装了全部的WiFi及TCP/IP网络细节,通过Web页面设置好参数,单片机无需复杂的WiFi和网络操作,只需要把数据发送到串口,所有的传输由WiFiPro完成,网络接收的数据直接通过串口进入单片机,二次开发非常简单。

综上所述,本设计选择方案二WiFiPro-C5110。

(2)存储器方案比较与选择

方案一:AT24C04该系列芯片除具有一般串行EEPROM的体积小,功耗低,容量大等特点。

方案二:STC12C5A60S2单片机内部就自带高达1K FLASH ROM,虽然容量只有1K,但是相对该项目足够使用。

综上所述,本设计选择方案二STC12C5A60S2。

经过上述论证,本项目采以涵盖WiFi及 STC12C5A60S的WiFiPro-C5110单片机为主控核心,结合LCD12864液晶屏、矩阵键盘、蜂鸣器、LED构成一套完整的双层密码保险箱设计。

3 电路与程序

3.1 电路设计

12864液晶显示模块是128×64点阵型液晶显示模块,可显示各种字符及图形,可与CPU直接接口,具有8位标准数据总线、6条控制线及电源线。12864液晶显示器的数据总线与单片机的P2口相连,接收单片传送过来的显示数据。

矩阵键盘是由16个按键组成,4个一组,将每个按键的一端连接在一起组成行线,另外一端连接在一起组成列线,再将这8根线连接至单片机的P0口,通过按键扫描程序实现4*4矩阵键盘功能。

如果系统输入错误密码需要报警时,单片机的P3.6端口输出一个特定的频率信号,通过三极管驱动蜂鸣器发声,通过内部程序改变P3.6端口的输出信号频率,可以听到不同的报警声。

单片机的P3.7端口是双层保险锁的开关控制端,当单片机接收到开锁信号时,继电器处于闭合状态,保险锁开启;当单片机没有收到开锁信号时,继电器处于断开状态,保险锁不打开;由于继电器是连接在常开端,当断电时保险锁不能被开启。

WiFiPro-C5110带WiFi的51单片机模块,其通过串口2接收WiFi透传数据,通过串口2发送S2BUF将单片机数据发送到手机或平板电脑上,通过串口2接收S2BUF接收数据进行处理。

3.2 程序结构设计

根据任务要求,需要输入密码,所以采用矩阵键盘作为输入,将密码在液晶显示屏上显示且显示密码功能,所以采用LCD12864液晶显示屏。指纹检测模块通过外部中断0判定接收的指纹是否正确,是否应该打开密码锁。单片机串口2接收手机输入授权码值以及修改授权码值,程序流程图见图3。

图3 程序流程

本设计由键盘扫描函数keyscan()、液晶显示屏函数LCD()、写EEPROM函数Byte_Program(eeprom_address+i,wdata1[i])、读EEPROM函数Byte_Read(eeprom_address+i)、串口发送接收处理函数ScanComB()、以及指纹识别函数INT_0()、高频蜂鸣器报警函数beephigh()、低频蜂鸣器报警函数beeplow()以及继电器relay()函数构成。

键盘扫描函数keyscan()主要功能是识别4*4按键的键值,判断用户按下的是哪个按键。4*4的按键分别是数字0-9以及确定键、删除键、返回键。

液晶显示屏函数LCD()包含了清屏函数clr_screen()、屏幕显示位置函数lcd_pos(3, 0)、将要显示的内容存放在数组DIS5中通过写数据wr_string(DIS5)函数送到液晶显示屏显示。

写 EEPROM函 数 Byte_Program(eeprom_ address+i,wdata1[i]),将要写入EEPROM中的数组存放于数组,wdata1[i],制定存放地址eeprom_address,通过该函数写入EEPROM中,需要读取时通过读EEPROM函数Byte_Read(eeprom_ address+i)将eeprom_address+i地址中的数据读取出来。读写EEPROM非常容易,STC12C5A60S2技术手册中有相应的例程,但需要注意几点问题,第一写入EEPROM时,由于EEPROM中的数据只能有1变为0,因此重复写入同一地址的数据必须先擦除扇区,使扇区内的数据变为0xFF。第二地址不能自动加1,调用函数时需要写清楚写入的地址。第三使用时,建议同一次修改的数据放在同一个扇区,不同一次修改的数据放在不同扇区,否则容易出错。STC12C5A60S2有两个扇区可以使用。

串口发送接收处理函数ScanComB()主要功能是利用串口2通过2数组分别接收手机发送的4位授权码,以及修改后的授权码信息。

指纹识别函数INT_0()利用外部中断0函数实现,本设计购买的指纹模块,自带指纹录入,指纹识别等功能,当搜索到的指纹是已录入指纹则指纹模块继电器端口从高电平变为低电平,利用这一特征,实现指纹解锁功能时,将继电器com连接到单片机外部中断,当下降沿到来,进入外部中断0中断服务程序,实现解锁恢复原始密码功能。

4 系统测试

开机上电后,LCD液晶显示屏显示欢迎使用密码锁,1输入密码2修改密码3设置授权码。系统内部存有原始密码1234,授权密码也为1234。选择1,输入密码1234,密码正确后提示“密码已核对,请输入授权码”,此时从手机上输入授权码1234。密码正确液晶屏显示“密码锁已打开”,此时继电器打开,LED指示灯亮。如果输入过程中,密码不正确或者授权码不正确且次数超过3次,此时液晶屏显示“输入超限,系统已锁死,请使用指纹解锁”。此时可以使用指纹解锁并重新设置密码及授权码。修改密码及设置密码都需要输入原始密码核对无误后,方可输入新密码。

5 结论

本设计以STC12C5A60S2单片机作为双层密码锁核心,结合键盘电路,LCD显示电路,报警电路和开锁机构,通过对单片机的编程设计实现电子密码锁的基本功能,实验证明利用单片机设计的密码锁不仅保密性好、成本低、功耗低、操作简单、而且跟传统的机械锁相比还多了随机开锁成功率几乎为零、密码可变、误码输入保护、多次错误报警、断电记忆等优点。它的性能与安全性已远在机械锁之上。

[1]韩团军.基于单片机的电子密码锁设计[J]. 《国外电子测量技术》,2010,29(7):58-61.

[2]杜志勇,王鲜芳.智能蓝牙锁的设计与实现[J].无线通信技术,2004,13(1):54-56.

[3] 王涛,张喜瑞,刘汉侃,马庆芬,李粤.基于单片机系统的密码锁电路设计[J]. 《机械设计与制造》, 2012(8):40-42.

[4]杨峰,胡彬,罗青青.STC单片机AD转换及EEPROM使用[J].数字技术与应用,2011(9):169-171.

[4]张洁,刘萍,卢慧.基于单片机AT89C52的多功能探测小车设计[J].电子测量技术,2014,37(8):85-88.

[5]董海棠,张旭,冯中毅.基于单片机的电子密码锁设计[J].自动化与仪器仪表,2014(10):42-44.

Design and Implementation of Double Password Safe Base On WiFi Of Small Single-chip

Zeng Weipeng,Huang Guo
(Hainan Software Profession Institute,Qionghai Hainan,571400,China)

The design of WiFi 51 MCU module WiFiPro-C5110 as the core of the master,with 4 * 4 matrix keyboard,LCD12864 LCD screen,relays,buzzer,LED and other circuits constitute a complete set of double password safe system.The system through the microcontroller,matrix keyboard input unlock password, and requires mobile phones,tablet and other mobile devices to enter the authorized password,when unlocking, authorized password is correct circumstances can open the safe lock.The security lock has a lock password, power-down password is not lost,and the password lock in the case of power-down can not be turned on.

Micro-Control-Unit;WIFI; 4 * 4 matrix keyboard;12864 LCD screen

文献标识码:A

曾维鹏(1982—),男,副教授,硕士学位,主要从事智能诊断、智能规划等方面的教学与研究工作

2015海南省自然科学基金项目(20156249)

猜你喜欢

密码锁保险箱键盘
你知道手机拨号键盘上为什么要有*和#吗?
键盘猫
笑一个吧(1则)
Cлово месяца
ikbc R300机械键盘
日记密码锁2
日记密码锁
开启密码锁
数字密码锁的逻辑实现
老爸的保险箱