基于51单片机的RFID门禁系统

一、方案描述

        本设计采用STC89C52作为主控芯片,专用读卡器模块用来读射频卡的信息,当有卡进入到读卡器读卡的范围内时就会读取到相应的卡序列号,并根据得到的卡序列号做出相应的操作。若正确则开门,若不正确则报警并显示错误信息。本设计实现了自动、准确的识别卡序列号,对门禁系统起着重要的作用EEPROM采用AT24C04芯片,掉电后可以存储密码,从而保证了系统的安全性。人机交互通道部分采用了4×4矩阵键盘输入以及LCD12864标准字符型液晶显示。针对于用按键输入密码,根据密码的正确与否来进行相应的操作,管理员可以自行设定和修改密码;输出系统部分包括驱动开锁电路和报警电路;其中,在本系统设计中,驱动开锁电路用发光二极管表示,而报警电路则使用蜂鸣器。

二、系统组成

        本系统的主要电路包括:读卡器数据采集电路、串行E2PROM存储电路、LCD12864显示电路、报警电路、门控电路、键盘电路。

  (1)数据采集:读卡器YHY502ATG通过天线读取RFID卡的数据,然后将数据传送出去。但这部分还只是设计阶段没有真正的实现,该系统还需要在今后的工作中进一步的研究和改善。所以在仿真中简单的用一个开关按钮代替读卡器正确信号的输入。

   (2)数据分析:AT89C52接收到数据后,将数据传送给AT24C04或上位机,AT24C04或上位机对数据进行分析,从而判断数据的有效性。

   (3)数据处理:针对数据的采集和分析的结果做出相应的处理,例如显示、报警、门控等。

(4)密码输入模块:(a)针对于用按键输入密码,根据密码的正确与否来进行相应的操作;(b)管理员可以自行设定和修改密码; (c)友好的人机界面;(d)输入正确的密码后,驱动开锁电路。

(5)报警机制模块:当出现非法卡或输入的密码不正确时产生报警。

三、硬件电路图

四、元器件清单

规格规格位号数量
电解电容10uFC11
瓷片电容22pFC2, C32
瓷片电容0.1uFC17, C182
二极管IN4148D21
晶振12MHZJ11
LEDLED41
金属膜电阻10KR1, R3, R43
金属膜电阻1KR5, R7, R103
电位器10kRT11
单片机ST89C52U11
排阻4.7KU31
开关SWITCHU41
电源接口POWU51
排针U61
三极管S8550U71
蜂鸣器BELLU81
存储器AT24C02U91
RC522CON8U12, U282
排针CON2U131
三极管'S8550U141
继电器JDQ-5U151
稳压管LM1117U221
液晶LCD12864U231

 五、部分程序

#include "reg52.h"
#include "main.h"
#include "uart.h"
#include "timer.h"
#include "rc522.h"
#include "ctrl.h"
#include "lcd12864.h"
#include "beep.h"
#include "key.h"  
#include "EEPROM.h"
 
void init_all(void)    //初始化
{
    EA = 0;          //关总中断         
    init_timer(); //定时器初始化
    init_uart();  //串口初始化
    init_rc522(); //RC522初始化    
    lcd_init();      //LCD初始化   
    EEPROM_READ(0,Card_SN_BUF,4);//EEPROM初始化,取出记录的卡号  
    EEPROM_READ(7,KEY_BUF,8);//EEPROM初始化,取出记录的密码 
    
    send_bytes(Card_SN_BUF,4);
    EA = 1;          //开总中断
}

void main(void)      //主函数
{    
    INT8U key;

    Delay_ms(50); //让硬件稳定
    init_all();       //执行初始化函数
    relay_OFF();   //关继电器
    LED_BLINK_1(); //led test
    beep1();       //beep test     
    display(0,0,0);     //显示初始化

    while(1)
    {
       key=key_scan(); //按键操作
       if(key==12)  if(states>0) states--;
                    else states=0;    //上一功能
       
       if(key==13) if(++states>3) states=3;    //下一功能
       ctrl_process(); //进入RC522操作
    }
}      
 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 基于51单片机RFID门禁系统的设计与实现如下: 首先,我们需要使用RFID读卡器与51单片机进行连接。读卡器负责读取RFID卡中的信息,并将其发送给51单片机进行处理。读卡器通过串口与51单片机进行通信,我们需要在51单片机上设置一个串口接收中断程序来接收读卡器发送的信息。 接下来,我们需要设计一个电子锁控制电路,并与51单片机进行连接。当51单片机接收到有效的RFID卡信息后,根据预先存储的卡号数据进行比对,如果匹配成功,则向电子锁控制电路发送开锁信号。 为了方便管理和配置,我们可以在系统中加入一个LCD液晶显示屏和按键输入。液晶显示屏负责显示系统状态以及对系统进行配置,按键输入可以用于对系统的配置和设置。 在51单片机程序设计方面,我们需要编写一个主程序来进行系统的初始化和各个模块的控制。主程序中需要包含串口接收中断程序、RFID卡数据的存储和比对程序、电子锁控制程序、液晶显示程序以及按键输入程序。通过合理的编程设计,将各个模块进行有机的组合,实现一个完整的RFID门禁系统。 在系统的使用方面,当RFID卡靠近读卡器时,读卡器将读取到RFID卡中的信息,并发送给51单片机进行处理。51单片机根据预先存储的卡号数据进行匹配,如果匹配成功,则发送开锁信号给电子锁控制电路,从而实现开门操作。系统的操作状态和配置信息可以通过液晶显示屏和按键输入进行查看和修改。 综上所述,基于51单片机RFID门禁系统的设计与实现需要连接RFID读卡器、电子锁控制电路、LCD液晶显示屏和按键输入,并在51单片机程序中进行各个模块的初始化和控制。通过合理的设计和编程,可以实现一个方便实用的RFID门禁系统。 ### 回答2: 基于51单片机RFID门禁系统的设计与实现旨在实现对特定区域的权限管理和安全控制。系统主要由三个部分组成:RFID读卡器、控制器和电磁锁。 首先,设计RFID读卡器可以通过读取RFID标签上的唯一标识来区分不同的用户。读卡器通过串口将读取到的卡号发送给控制器。 其次,设计控制器用于验证卡号的有效性并判断用户是否有权限进入。控制器通过与存储卡号的数据库进行比对,确定用户是否具有合法权限。如果权限验证通过,则控制器会发送开锁信号给电磁锁。 最后,实现电磁锁的控制,对门的状态进行控制。当控制器接收到验证通过的信号后,会发送一个电平信号到电磁锁,解除其锁定状态,用户就可以进入特定区域。 在系统的设计与实现中,需要注意以下几点:首先,RFID读卡器要具备读取RFID标签的能力,并通过串口将读取到的卡号传递给控制器。其次,控制器要能够和数据库进行交互,进行权限验证的操作。最后,电磁锁要具备可靠的控制性能,确保门的安全状态。 除了上述基本功能之外,还可以根据具体需求进行功能扩展,如添加报警系统、远程监控等,增强门禁系统的安全性和管理性。同时,采用51单片机进行设计与实现,既具备足够的性能和灵活性,又具有低功耗和成本较低的优势。 总之,基于51单片机RFID门禁系统的设计与实现,能够实现对特定区域的权限管理和安全控制,为用户提供安全、便捷的出入管理服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jacklood

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值