基于51单片机的门禁卡设计

简介: 基于51单片机的门禁卡设计

1.设计思路

RFID门禁系统主要采用了STC89C52RC单片机作为控制模块及读卡器RFID-RC522作为识别模块。本设计实现了自动、准确的识别卡序列号.当有卡进入到读卡器读卡的范围内时就会读取到相应的卡序列号,并根据得到的卡序列号做出相应的操作。若正确则开门,若不正确则报警并显示错误信息。

2. 设计方案

我们设想门禁系统应该具有下述几个功能和模块,分别是:(1)STC89C52单片机最小系统进行总体控制和存储卡号。(2)RFID-RC522射频识别模块进行读取并识别卡号。(3)12864液晶显示屏进行卡号显示。(4)步进电机模拟门禁的打开或关闭以及蜂鸣器在识别IC卡号时的提示作用。

具体过程是由STC89C52 单片机为控制核心,射频卡信息由MFRC522模块读出,通过MCU在LCD12864上显示,通过按键1和按键3完成对卡片1和卡片2的注册功能,然后按键2完成对卡片1和卡片2的注销,并根据是否有卡片的登记,来执行相应步进电机的动作和蜂鸣器的状态。

图1 系统框图

3. 系统硬件电路设计

1)芯片选型

STC89C52是 STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程 Flash存储器。STC89C52使用经典的MCS-51内核,但是做了很多的改进使得芯片具有传统的51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。

在单片机应用系统中,常常会有定时控制需求,如定时输出、定时检测、定时扫描等;也经常要对外部事件进行计数。STC89C52单片机内集成有两个可编程的定时/计数器:T0和T1,它们既可以工作于定时模式,也可以工作于外部事件计数模式,此外,T1还可以作为串行口的波特率发生器[9]。

最小系统电路由单片机、晶振电路、复位电路等几部分组成,如图3所示。

2)显示模块选择

方案一:

LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符。LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,即可以显示出图形。1602采用标准的16脚接口,具有微功耗、体积小、显示内容丰富、超薄轻巧等特征,常用在袖珍式仪表和低功耗应用系统中。

方案二:

12864是128*64点阵液晶模块的点阵数简称。LCD12864显示屏电路主要采用了数据并行的控制方式(PSB接地为串行模式,PSB接电源为并行模式),同时使用了可调电位器实现显示屏背光的调节。该点阵的屏显成本相对较低,适用于各类仪器,小型设备的显示领域。

本设计中采用方案二中的LCD12864液晶显示屏作为显示模块,原因为12864的屏幕更大更加清晰,能够显示多组文字和卡号数字。电路图如图4所示。

3)射频模块选择:

本设计采用RFID-RC522作为射频识别模块。RC522是应用于13.56MHz 非接触式通信中高集成度读写卡系列芯片中的一员,是NXP公司推出的一款非接触式读写卡芯片。RC522利用了先进的调制和解调的技术,完全集成了在13.56MHz下所有类型的通信协议,支持多种工作在13.56MHz下的射频卡读写操作 。其内部发送器部分可驱动读写器天线与射频卡和应答机的通信,无需其它的电路。模块的控制接口采用了标准SPI通讯接口,由于RC522射频模块采用3.3V供电电源,所以需利用LDO稳压电路将5V转换为3.3V。

图5 射频模块

4)步进电机及其驱动

步进电机是一种将电脉冲信号转换成相应角位移或线位移的电动机。每输入一个脉冲信号,转子就转动一个角度或前进一步,其输出的角位移或线位移与输入的脉冲数成正比,转速与脉冲频率成正比。在此设计中充当门的作用,正转、反转代表开门和关门两个状态,能更好的观察实物的功能实现。

步进电机及其驱动电路图,如图6所示:

图6 步进电机及其驱动

5)蜂鸣器电路

有源蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。有源蜂鸣器工作的理想信号是直流电,通常标示为VDC、VDD等。因为蜂鸣器内部有一简单的振荡电路,能将恒定的直流电转化成一定频率的脉冲信号,从而实现磁场交变,带动铝片振动发音。模拟电路如图7所示:

图7 蜂鸣器

4.系统软件设计

1)系统软件总体设计

主程序流程图如图8 所示,单片机上电后先进行系统初始化,清除一些参数的初值,检测按键是否被按下,通过按键1和按键3完成对卡片1和卡片2的注册功能,然后按键2完成对卡片1和卡片2的注销,根据是否有卡片的识别,在液晶屏上显示卡号,并执行相应步进电机的动作和蜂鸣器的状态。

2)仿真设计

图9 仿真电路图

在仿真电路图中,因proteus中没有RC522模拟器件,因此用开关代替。开关模拟的是识卡的过程,开关闭合为识卡成功。

3)系统功能测试

图10 系统实物图

该设计可以正常工作,能够进行识别卡号,注册卡号以及注销卡号等功能,使用注册成功的卡贴近读卡器,可以看到电动机转动及蜂鸣器发出响声。

相关文章
|
Java Linux
【Linux】linux下使用命令修改jar包内某一个文件中的内容并重新运行jar程序
【Linux】linux下使用命令修改jar包内某一个文件中的内容并重新运行jar程序
793 0
|
Web App开发 前端开发 .NET
基于ASP.NET MVC(C#)和Quartz.Net组件实现的定时执行任务调度
在之前的文章《推荐一个简单、轻量、功能非常强大的C#/ASP.NET定时任务执行管理器组件–FluentScheduler》和《简单、轻量、功能非常强大的C#/ASP.NET定时调度任务执行管理组件–FluentScheduler之实例篇》中,我们认识和了解了FluentScheduler这款轻量的定时任务调度执行组件。
2489 0
|
1月前
|
SQL 安全 网络安全
从漏洞到攻击链:一次看懂黑客的思维链路
从漏洞到攻击链:一次看懂黑客的思维链路
181 4
|
10月前
|
监控 Linux iOS开发
告别数据丢失!跨平台同步工具FreeFileSync 14.2下载教程|手把手配置多设备备份
FreeFileSync 14.2 是一款开源跨平台文件同步工具,支持 Windows、macOS 和 Linux 系统。新增功能包括实时同步监控、云存储集成(Google Drive 和 Dropbox)、智能冲突解决及性能优化,适用于数据备份、服务器文件同步等场景。本文详细介绍其下载、安装、配置及高级使用技巧,并提供常见问题解答和延伸学习资源。
|
SQL 关系型数据库 Shell
SQL整库导出语录及其实用技巧与方法
在数据库管理和备份恢复过程中,整库导出是一项至关重要的任务
|
JSON API 开发工具
淘宝实时 API 接口丨淘宝商品详情接口(Taobao.item_get)
淘宝商品详情接口(Taobao.item_get)允许开发者获取商品的详细信息,包括基本信息、描述、卖家资料、图片、属性及销售情况等。开发者需注册账号、创建应用并获取API密钥,通过构建请求获取JSON格式数据,注意遵守平台规则,合理使用接口,确保数据准确性和时效性。
1179 9
|
机器学习/深度学习 存储 监控
实时特征处理框架:构建与优化实践
在大数据时代,实时特征处理框架在机器学习、数据分析和实时监控等领域扮演着至关重要的角色。这类框架能够快速处理和分析海量数据,为决策提供即时的洞察。本文将探讨实时特征处理框架的构建、优化及其在生产环境中的实践应用。
357 1
|
数据采集 XML 前端开发
Python爬虫实战:利用代理IP爬取百度翻译
Python 爬虫实战:利用代理 IP 爬取百度翻译
1223 2
|
安全 Java Linux
Kotlin 编程语言详解:特点、应用领域及语法教程
**Kotlin**是JetBrains于2016年推出的编程语言,兼容Java,广泛用于移动(尤其是Android)、Web、服务器及数据科学。它的语法简洁安全,支持多平台,学习曲线平缓,且拥有活跃的社区。`main()`函数是程序入口,`println()`用于输出,而`print()`不换行。注释以`//`开始单行,`/* */`包裹多行
483 0
|
Shell Linux 数据安全/隐私保护
Notepad-- 轻量级文本编辑器的安装及基本使用
【7月更文挑战第11天】Notepad-- 轻量级文本编辑器的安装及基本使用
1034 4