基于单片机的IC 卡门禁系统设计

2021-05-16 10:32冯美艳
科学技术创新 2021年13期
关键词:门禁系统门锁刷卡

冯美艳 殷 鹏

(安阳学院航空工程学院,河南 安阳455000)

1 概述

传统门锁在钥匙丢失或忘记携带时,只能从窗户进入或者采取破坏门锁的办法开锁。传统门锁在配置时需要找专业人士,比较麻烦而且不能保证所配钥匙的准确性。在出租房屋业务中,由于经常换租客,传统门锁因为可以随意复制,安全系数低。针对这些问题提出了一种基于单片机的IC 卡门禁系统[2]。IC卡门禁系统可以通过刷卡和输入密码两种方式开锁也可以随意更改密码,可以有效解决以上问题。

2 IC 卡门禁系统设计方案

IC 卡门禁系统设计方案如图1 系统设计方案图所示。

图1 系统设计方案图

该系统由单片机核心模块、RFID 读卡模块、LCD 显示模块、电源模块、报警模块、电子门锁模块和存储模块七部分组成[3]。

系统的工作模式有设置模式和正常模式两种。系统上电后,按键模块若有设置按键按下,则系统进入设置模式。设置模式又分为更新密码和注册IC 卡两种模式。设置模式完成以后,将信息存入存储模块[4]。系统上电后,若按键模块设置按键没有按下,则系统进入正常模式。若有IC 卡靠近,RFID 读卡模块读取IC 卡中的ID 并且通过串口发送至STC89C52 单片机模块。STC89C52 单片机模块接受IC 卡中的ID 并且与FLASH 中存储的ID 进行比对,比对成功则开锁并提示门已打开,开锁指示灯亮,反之则不开锁并示警。若有按键按下密码,则按键模块通过串口将密码发送到单片机模块,单片机模块接受到密码信息并且与FLASH 中存储的密码进行比对,比对成功则开锁并提示开锁成功,开锁指示灯亮,反之则不开锁并示警[5]。

3 IC 卡门禁系统软件设计

IC 卡门禁系统主要由KEIL 软件设计。系统分为设置模式和正常模式两种。程序启动,单片机扫描设置按键是否按下,若按下则进入设置模式,确定是注册IC 卡信息还是更换密码。并在注册IC 卡信息或更换密码后将新的IC 卡信息或密码保存在FLASH。若为开锁程序则扫描是否有IC 卡靠近,当有IC 卡靠近时读取IC 中的ID 并且与FLASH 中存储的ID 进行比对,比对成功则开锁,反之则不开锁并示警。当没有IC 卡靠近时,扫描是否有密码按下,若有则与FLASH 中存储的密码进行比对,比对成功则开锁,反之则不开锁并示警。IC 卡门禁系统主流程图如图2 所示。

图2 IC 卡门禁系统主流程图

3.1 定时器程序

采用定时器0,当输入密码或刷卡正确时,定时1s 之后门锁自动关闭。当输入密码或刷卡不正确时,定时50ms 蜂鸣器滴滴滴响,之后LCD 显示器返回初始界面。

3.2 按键与修改密码程序

按键模块由16 个按键组成。分别表示0~9、返回、确定、设置、上键和下键。通过P1 口与STC89C52 单片机模块连接。当有按键按下时分为按下0~9 按键、按下设置按键和按下其它按键。若按下0~9 任意按键,直接开始输入密码,密码正确,门打开,指示灯亮。

若按下设置按键,则系统提示输入密码,输入正确密码后进入设置模式,按上下键选择进入注册IC 卡模式,点击确定,选择进入注册还是删除IC 卡ID。操作完成后点击返回按键,返回初始界面。如果选择进入的是修改密码模式,需要一次输入一遍原密码和两遍新密码。如果原密码输入错误,则提示原密码错误。如果两遍新密码不一致,则提示新密码输入不一致。如果三个输入都正确,则将新密码存入FLASH。

若按下的是0~9 和设置按键之外的按键,系统不作反应。

Button_ID=key_fs()//读按键信息

if(Button_ID!=255)//有按键按下

{if(Button_ID<10)//如果系统为正常模式

{InputPass[PassNum]=Button_ID//将输入的密码存入对应数组

}else //如果系统为设置模式

{switch(ShowMode)}//选择是更新密码还是IC 卡ID

3.3 LCD 显示程序

本设计的LCD 程序主要用于显示当前门禁的状态和提示用户下一步要进行的操作。当系统上电,LCD 显示欢迎使用,请刷卡或输入密码。在正常模式时,当系统打开电子锁时显示门已打开。当IC 卡的ID 错误时显示信息错误,当输入密码错误时显示密码错误。在设置模式时,LCD 显示注册ID、更新密码。选择注册ID 点击确定按键,显示注册ID、删除ID,选择注册ID,显示请刷卡,注册成功之后显示注册成功和返回。删除成功之后显示删除成功和返回。点击更新密码,显示输入原密码,输入新密码,确定新密码。三者都正确之后显示密码修改成功。

3.4 串口中断程序

当有IC 卡靠近RFID 读卡模块时,STC89C52 控制模块进入串口中断接收IC 卡ID,接收完成后,将信息存入FLASH。

SCON= 0x50; //串口方式1

3.5 读写FLASH 程序

主要有读和写两个操作,读是指在当有IC 卡靠近或者有人输入密码时,从FLASH 中读出保存的IC 卡的ID 与靠近的IC卡进行比对,或者读出保存的密码与输入的密码进行比对;写主要是指注册完新IC 卡ID、删除系统中原有的IC 卡ID 和更新门禁密码之后将新信息保存至FLASH。

3.6 IC 卡注册/删除和开锁程序

当系统在控制模式时,可以选择注册IC 卡或者删除IC 卡信息。若为注册IC 卡,第一步校验IC 卡类型,若卡类型符合标准,则status=MI_OK,反之返回。第二步校验IC 卡序列号,若序列号不冲突,将IC 卡序列号存入序列号数组,反之返回。第三步车校验IC 卡密码B,若密码B 正确。第四步读取IC 卡中的ID写入数组,存入FLASH,同时将66 写入IC 卡数组shu[0]。

若为删除IC 卡时,第一二三步一样,第四步将00 写入IC数组shu[0]。

当有IC 卡靠近时,第一二三步和注册IC 卡ID 程序一样,第四步读取IC 卡ID,若和FLASH 中存储的一样,则开锁。反之不开锁,并示警。

4 功能测试

系统上电,指示灯显示正常,LCD 显示器显示欢迎使用,请刷卡或输入密码。输入密码正确密码后显示门已打开,门锁指示灯亮,反之显示密码错误,门锁指示灯不亮。刷卡正确时如图3 开锁显示图所示显示门已打开,门锁指示灯亮,反之如图4 信息错误显示图所示显示信息错误,门锁指示灯不亮。注册IC 卡完成后显示注册完成,删除IC 卡信息后显示删除成功,更换密码后显示修改完成。

图3 开锁显示图

图4 信息错误显示图

5 结论

本文设计并实现了一种基于单片机的IC 卡门禁系统。包括RFID 技术的IC 卡读卡模块、按键输入密码模块、报警模块和LCD 显示模块。通过对系统的设计可以实现直接刷卡打开门禁系统或者输入密码打开门禁系统,从而方便人们的生活。

猜你喜欢
门禁系统门锁刷卡
基于多种生物特征识别的RFID门禁系统设计
浅谈车门锁销的调整
一个简易的校园智能门禁系统的设计
咔嚓咔嚓,门锁别玩
基于地铁BAS系统建设门禁系统的方案思路分析
基于门禁系统在地铁综合监控系统中的实践分析
旋转门锁
理由
刷卡
结账