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

摘 要

门禁系统是一种面向人们生活的社区,家庭,旅馆等地方,并且可以通过一个锁一张卡进行独立管理,或者一个锁多张卡进行集中管理的系统。本文设计了一种使用方便,安全性高的基于单片机的RFID门禁系统。

本设计主要利用STC89C52单片机对系统进行控制,由最小系统、射频识别模块、液晶显示模块等组成的硬件系统,以及通过C语言开发程序进行代码的设计和编写的软件系统,最终实现射频识别功能以及密码识别功能。本设计的目标是使设计出来的系统能提高安全指数,刷卡识别准确,给生活带来方便,被更多人所应用。

结果表明本设计很好地实现了射频识别功能以及密码识别功能,预期功能全部实现。使用单片机进行控制保证了系统的稳定性,RFID技术的应用使得门禁系统的管理和使用更加方便和安全。RFID技术已经被应用在了便携式和小型轻量化方向上的许多电子产品中,且已经开发出了许多的非接触式RFID卡控制系统。目前,非接触式RFID卡已经在公交卡、金融卡、门禁卡、校园一卡通等许多领域得到了广泛的应用。这使人们在实际生活中不需要为环境是否安全而困扰,也让许多管理更加详细,高效和准确。

关键词:RFID; 门禁系统; 液晶显示; 单片机控制

1 项目总体设计

本项目基于单片机的RFID门禁系统设计由:STC89C52单片机、矩阵键盘、12864液晶显示、报警、继电器驱动模块、RFID-RC522射频识别模块、AT24C02存储模块组成。通过密码识别和射频识别控制门锁,构成完整的门禁系统。由如下模块组成:

(1)最小系统模块:STC89C52单片机作为系统的主控制器,接收密码识别模块和射频识别模块的信息[21],经过处理再传递到液晶显示模块和继电器驱动模块;

(2)液晶显示模块:LCD12864液晶显示屏,接收密码识别模块和射频识别模块的信息,显示密码或RFID卡是否正确,是否可以通过;

(3)密码识别模块:由存储器、解调器、键盘等组成,通过对键盘输入密码信息进行分析识别,最终传递到液晶显示模块,实现密码识别功能[1];

(4)射频识别模块:首先通过MFRC522读卡器读取用户的RFID卡信息,然后读取的信息用来识别RFID卡是否为已注册卡,最终传递到液晶显示模块,实现RFID卡识别功能[17];

(5)AT24C02存储模块:读卡器读取到RFID卡信息之后,信息会存储在AT24C02中,这时单片机再接收到新的数据,就可以和AT24C02中的信息作比较,看信息是否相同,从而决定开关门[12]。

(6)继电器驱动模块:接收到的新的信息与AT24C02中存储的信息进行比较之后,结合蜂鸣器和指示灯[4],控制电磁锁的吸合,进而控制门的状态。

本系统结构框图如图1.1所示。

图1.1 系统结构框图

电源供电后,单片机通过对RFID卡信息和按键输入信息进行处理,经转换后传输给步进电机驱动电路、液晶显示电路、报警电路,完成系统的运行。

2 项目硬件设计

2.1 单片机控制模块

2.1.1 单片机型号选择

基于单片机的RFID门禁系统设计,对单片机存储空间的要求是有拥有4K字节EEPROM。其次为了保证系统更好地运行,要选用稳定性高的控制器,还要考虑到价格、编程下载难易程度等方面。基于此有以下两种方案可供选择。

方案一:主控制器选用STC89C52单片机[16]。该单片机可以满足对单片机存储空间的要求拥有4K字节EEPROM。具有低功耗、高性能、可直接使用串口下载的特点。STC89C52单片机具有开发简单[3],可在线编程下载,成本相对较低的优点。

方案二:主控制器选用AT89S52单片机[7]。AT89S52单片机的内部存储器密度高,而且在断电之后,其内部存储的信息会保存起来。该单片机自带2KB的EEPROM存储空间、8K字节程序存储空间[8]。适用于常规编程器。但是AT89S52的价格相对来说比较高,开发方法相对复杂,难度较高。

综上,与AT89S52单片机相比,STC89C52单片机开发难度较低、稳定性高,而且价格在可以接受的范围内,结合本设计预期实现的功能对产品性能的要求,最终决定使用STC89C52单片机作为主控制器。

2.1.2 单片机的引脚说明

STC89C52单片机共有32位I/O口线,引脚图如图2.1所示。本设计刚好需要32个,其中11个I/O口与LCD12864液晶显示模块相连接,使其能显示信息;1个I/O口与蜂鸣器报警模块相连接,使其发出声音;8个I/O口与按键模块相连接,使按键可以使用;RFID模块需要5个,AT24C02存储模块需要1个,复位电路需要1个,时钟电路需要2个,继电器驱动模块需要1个,下载口需要2个。STC89C52单片机的工作电压为5V。

图2.1 STC89C52单片机引脚图

单片机的下载接口如图2.2所示,单片机的P30与P31管脚作用是下载相关的程序[8],与下载接口相连,用来下载程序。

图2.2 下载接口原理图

3 项目软件设计

3.1 软件开发环境及流程

本设计选用Keil μVision4软件作为单片机的开发环境,该软件开发环境稳定,界面完整,而且支持C语言开发,该软件的运行显示界面如图3.1所示。

图3.1 软件开发界面图

开发时,第一步要在软件中创立一个新的工程文件,点击"New Vision Project"[6],然后给刚刚创建的工程起一个名字,接下来点击保存,下一步因为本设计选用的是STC89C52单片机,所以点击本设计的单片机型号"STC89C52";这样就成功建立了一个工程,选择"Source Group"按键,可添加.c文件,如果想编辑文件,可以点击"Add"。Keil μVision4软件开发流程如图3.2所示。

图3.2 Keil μVision4软件开发流程图

4 项目调试

4.1 电路焊接

(1)清理焊接点:清除电路板上的锈迹,除去附着在表面上的附着物,例如不必要的焊锡,并露出铜箔的颜色。清理掉电源线的外壳,用刀片轻轻刮蹭,直到露出铜色。

(2)电烙铁通电,等到电烙铁达到一个合适的温度,大概是260度左右时,将电烙铁接触焊锡,并在焊料熔化时立即进行焊接。此时,在电路板铜箔表面上的焊锡应该是半球形。

(3)将导线与焊锡一起放置,并迅速将烙铁放置在导线旁边,焊锡熔化附着在导线上,形成类似于火柴头的形状。

(4)这时导线和电路板铜箔上面均带有焊锡,把他们两个放在一起,利用电烙铁的温度,导线和电路板铜箔会连接在一起,这步焊接就完成了。

(5)注意事项:焊锡粗细不一,我们可以根据焊点的大小来选择。另外,电烙铁的温度也要保持不是特别高,不然松香挥发的快,温度过低也不可以,这样会导致焊接的不够牢固。

在焊接的过程中,将电路板对着原理图进行检查,发现出现了元件方向弄错的问题。解决方法是,对照电路图,确定好该元件的方向,使用吸锡器进行吸锡,把焊错的元件拆下来,重新焊接。

焊接完成后,发现LED指示灯不亮,使用万用表检测是否存在短路与断路等情况,在需要检测的元件或导线的两端分别用两支表笔连通,发现当检测到有些地方时表笔不响,说明电路有问题,接下来对有问题的地方重新焊接。

由于本设计的布线比较复杂,在焊接之前要细心地研究电路图,防止焊接位置错误。如果在焊接时焊锡不够用,加焊锡时要格外小心,因为如果加太多的话,用电烙铁继续焊接时就容易因为焊锡过多而不小心牵连到其它器件。如果遇到焊锡过多的问题,可以用电烙铁放在焊接处来回滑动,这样电烙铁就会将多余的焊锡带走,去除焊锡的另外一个方法是吸锡器,使用十分方便。焊接完毕后的实物图如图4.1所示。

图4.1 焊接实物图

4.2 系统程序调试

(1)首先在Keil μVision4软件中创建一个新的工程:单击菜单栏中的"工程"并为新工程命名,命名后进行保存;选择单片机型号为"STC89C52";

(2)代码编写与保存:然后在新建的文本中编写本设计的源代码,编写完成之后,对文件进行保存,注意命名为".c"文件[11],这样就完成了本设计代码的编写。在新建的空白文本中编写程序源代码,在编码完成后保存文件,文件拓展名"设计名称.c",新文件创建完成;

(3)程序编译和调试:点击编译按键,让刚刚编写的代码运行,在下面的结果显示框中,可以看到运行是否正确与出现错误的地方[6],根据错误提示把代码修改成正确的,直到提示没有错误且实物功能均符合要求为止。

在编译程序的过程中,编译结果显示有两处错误,根据错误提示,发现在LCD12864初始化部分,源代码末尾没有加分号,加上分号之后,重新编译,结果没有错误。

还有一处错误是在连续三次输入错误密码,蜂鸣器报警部分,发现没有编写"BeepNum=10",加上该部分代码后,重新编译,结果没有错误。

最后结果显示界面如图4.2所示。

图4.2 程序无错误显示图

4.3 实物调试

根据本设计预期实现功能,对实物进行调试

(1)LCD12864液晶显示屏显示刷卡是否成功与密码是否正确等状态;

(2)系统集成两种解锁方式:RFID卡解锁、密码解锁,在忘记带RFID卡时可通过密码进行解锁;

(3)刷卡之后,通过MFRC522读卡器可以读取到卡内的信息,信息匹配成功继电器吸合门锁打开,十秒左右会自动关闭门禁;如果匹配失败声光报警提醒;

(4)可以通过管理界面进行RFID卡的注册和注销,同时也可以进入管理界面,把原密码修改为新密码。

(5)4×4矩阵键盘定义,分别为数字键、进入管理键、切换上一项键、切换下一项键、退格键、确定键、返回上一级菜单键。

本设计的所有功能均能实现,实物如图4.3所示。

图4.3 设计实物图

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。

相关推荐
就是蠢啊6 小时前
51单片机——LCD1602液晶显示
单片机·嵌入式硬件·51单片机
neardi临滴科技6 小时前
Neardi Pi 4-3588:开启 8K 极速智能,赋能企业级边缘计算新时代
人工智能·嵌入式硬件·边缘计算·rk3588·开发板
love530love6 小时前
【笔记】华硕 ROG MAXIMUS Z890 HERO 主板 BIOS 更新完整操作实录
运维·人工智能·windows·笔记·单片机·嵌入式硬件·bios
尼喃6 小时前
3.7V升压5V 1A芯片精选推荐,高效率低功耗,满足工程需求
单片机·嵌入式硬件
小李做物联网6 小时前
【单片机毕业设计】76.1基于单片机stm32智能浇灌系统毕业设计
stm32·单片机·嵌入式硬件·物联网
c10638915146 小时前
stm32系列之编码器功能
stm32·单片机·嵌入式硬件
三品吉他手会点灯6 小时前
STM32F103 学习笔记-20-通信的基本概念
笔记·stm32·单片机·嵌入式硬件·学习
悠哉悠哉愿意6 小时前
【嵌入式学习笔记】GPIO与LED
笔记·单片机·嵌入式硬件·学习
v先v关v住v获v取7 小时前
3D打印机的定量铺粉器设计13张 +三维图+设计说明书
科技·单片机·51单片机