公务员期刊网 论文中心 正文

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

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

摘要:针对传统门锁钥匙易丢失、配置不便和忘记携带等问题,提出了一种基于STC89C52的IC卡门禁系统设计。该系统以STC89C52单片机为核心来控制电子锁模块的开关。主要过程是由RFID模块读取IC卡ID并通过串口发送至STC89C52单片机模块,STC89C52单片机模块可以实现在线对IC卡的ID进行注册、删除和保存。当忘记带IC卡时,可以通过按键模块输入密码,STC89C52单片机模块可以实现对输入密码的修改和保存[1]。实验结果表明:该系统可以有效解决传统门锁钥匙易丢失、配置不便和忘记携带以后的开锁问题。

关键词:单片机;在线注册;门禁

1概述

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

2IC卡门禁系统设计方案

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

3IC卡门禁系统软件设计

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

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.3LCD显示程序

本设计的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.6IC卡注册/删除和开锁程序

当系统在控制模式时,可以选择注册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卡信息后显示删除成功,更换密码后显示修改完成。

5结论

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

参考文献

[1]闫璞.教室照明智能节能控制系统[J].中国新技术新产品,2018(18):31-33.

[2]王芳芳,任拥伟戴志刚.基于单片机的IC卡门禁系统的设计[J].黑龙江科技信息,2016(15):168.

[3]韩玉,王潇贤,冯薇,王运.基于RFID的宿舍门禁系统设计[J].电子世界,2016(21):114+117.

[4]曾维鹏,黄果.基于WiFi的51单片机双层密码保险箱的设计与实现[J].电子测试,2016(22):24-25.

[5]施亚杰,韩坚洁,廖博文,蒋军辉.基于AT89C51单片机的现代化电子密码锁探索[J].产业与科技论坛,2017(12):55-56.

作者:冯美艳 殷鹏 单位:安阳学院航空工程学院