一.硬件方案

本RFID系统设计可分为硬件部分和软件部分。硬件部分以MFRC522射频识别模块为核心,结合主控模块STC89C52设计系统的外围硬件电路,实现对射频卡的控制与MCU之间的互通。软件部分采用C语言进行系统的下位机程序的开发,完成与IC卡之间的通信,实现数据交换功能。整体电路主要由51单片机最小系统,LCD12864液晶显示模块,RFID无线模块,5V转3.3V稳压电路,蜂鸣器模块,AT24C02存储电路,继电器控制电路,按键模块;原理图如图:

 PCB如图:

二.设计功能

  • 通过按键输入密码,根据密码的正确与否来进行相应的操作;
  • 可使用管理员密码可以自行设定和修改密码;修改的密码自动保存至存储芯片,支持掉电保存;
  • IC卡感应,匹配成功开锁;匹配三次不成功,蜂鸣器报警;输入正确的密码后,驱动开锁电路。

三.软件设计

(1)LCD初始化

/*******************************************************************/
void lcd_init()
{ LCD_PSB = 1;         //并口方式    ,部分液晶不需要write_cmd(0x36);      //扩充指令操作delay(5);write_cmd(0x30);      //基本指令操delay(5);write_cmd(0x0C);      //显示开,关光标delay(5);write_cmd(0x01);      //清除LCD的显示内容delay(5);
}

(2)修改密码

case 3:        display(1,0,4);      //密码设置display2(3,0,table,8);key_count=0;while(1){  key_value=key_scan();      if(key_value==12) { states--;return;}if(key_value>=0 && key_value <=9)//有按键输入{                                                  table[key_count++]=key_value+'0';display2(3,0,table,8);            }if(key_value==11)//退格{                                    table[--key_count]='-';display2(3,0,table,8);                 }if(key_count==8 && key_value == 15) //按下确定键{ for(i=0;i<8;i++)KEY_BUF[i]=table[i];    EEPROM_WRITE(7,KEY_BUF,8);//写入EEPROMbreak;}}              break ;

(3)匹配密码

  case 1:        display(1,0,2);    //密码输入display2(3,0,table,8);key_count=0;while(1){  key_value=key_scan();      if(key_value==12) { states--;return;}if(key_value==13){states++;return;}                 if(key_value>=0 && key_value <=9)//有按键输入{                                                  table[key_count++]=key_value+'0';display2(3,0,table,8);            }if(key_value==11)//退格{                                    table[--key_count]='-';display2(3,0,table,8);                 }if(key_count==8){if( table[0]==KEY_BUF[0] &&table[1]==KEY_BUF[1] &&table[2]==KEY_BUF[2] &&table[3]==KEY_BUF[3] &&table[4]==KEY_BUF[4] &&table[5]==KEY_BUF[5] &&table[6]==KEY_BUF[6] &&table[7]==KEY_BUF[7] )      //密吗正确 { bPass=1;relay_ON();//灯开关display(2,0,5);relay_OFF();break;                  }else      //密码错误{    relay_OFF();beep1()     ;bWarn=1;display(2,0,6);break;}                      }}break ;

(3)主程序源码

void main(void)      //主函数
{    INT8U key;Delay_ms(50); //让硬件稳定init_all();       //执行初始化函数relay_OFF();   //关继电器LED_BLINK_1(); //led testbeep1();       //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操作}
}      

资料链接:https://pan.baidu.com/s/1KkmG5-HjxLwf_3w9jcIkiQ?pwd=oyni 
提取码:oyni

51单片机的RFID门禁系统相关推荐

  1. 基于STM32单片机的RFID门禁显示系统

    基于STM32单片机的RFID门禁显示系统 本设计由STM32F103C8T6单片机最小系统+RFID-RC522模块+继电器模块+蜂鸣器电路+LCD1602液晶显示电路+按键电路+电源电路组成 1. ...

  2. RFID门禁系统快速识别车辆管理

    01.社会背景 随着生活水平的不断提高,汽车开始大量进入家庭.在中国城市汽车的保有量迅速增加情况下,车辆的管理已成为一个难题.对车辆进行有效的管理,其核心问题是如何对车辆进行识别.本文介绍了一个基于射 ...

  3. 【基于Arduino RFID门禁系统】

    基于Arduino RFID门禁系统 介绍 射频识别或RFID(Radio-Frequency Identification)是一种通过无线电信号进行自动识别,通过RFID标签检索和存储数据的方法. ...

  4. B47 - 基于51单片机的RFID停车计费系统

    任务摘要 当今社会,交通压力不断增加,智能停车场管理系统是人们对便捷高效交通的一种追求.本智能停车场管理系统运用RFID技术,采用STC8H8K64U单片机.RC522.串口屏.光电传感器实现系统设计 ...

  5. 江湖云RFID门禁系统

    RFID门禁系统,RFID是一项易于操控,简单实用且特别适合用于自动化控制的灵活性应用技术,识别工作无须人工干预,它既可支持只读工作模式也可支持读写工作模式,且无需接触或瞄准:可自由工作在各种恶劣环境 ...

  6. 【51单片机】RC522门禁系统设计

    文章目录 一.主要功能 二.硬件资源 1.硬件准备 2.硬件连接 三.软件设计 1.软件结构 2.主要代码 四.实验现象 联系作者 一.主要功能 系统运行后,LCD12864显示开机界面,默认门锁处于 ...

  7. 单片机毕设 RFID门禁防盗报警系统(源码+论文)

    文章目录 1 简介 2 绪论 2.1 课题背景与目的 3 射频识别 3.1 射频识别技术 3.2 射频识别模块 3.2.1 RFID模块 3.2.2 RFID模块组成 4 系统设计 4.1 系统架构 ...

  8. 基于MSP430单片机的简单门禁系统

    一.课设选题 基于MSP430单片机的门禁 二.选题介绍 门禁系统通过6位密码的键入,然后与设定密码比较,若相同,门开启(电动机转动),同时人数计数器加一.若不同,按AC键清零,重新键入密码. 三.课 ...

  9. 51单片机ESP8266WIFI远程门禁密码锁可修改密码APP开锁查看密码

    实践制作DIY- GC003-WIFI远程门禁密码 一.功能说明:   基于51单片机设计-WIFI远程门禁密码锁 二.功能介绍:  1.基于STC89C52RC,有一个LCD1602显示器显示信息, ...

最新文章

  1. 怎样能拿到第一份编程工作?这里告诉你答案 | 码书
  2. 2020-09-09学习OpenCV4:OpenCV-4.1.0+VS2017 编译(包含扩展)
  3. Openstack Restful API 开发框架 Paste + PasteDeploy + Routes + WebOb
  4. 机器学习中的算法-支持向量机(SVM)基础
  5. datatables 基本增删改查(php)
  6. 树莓派3代刷ubuntu mate在命令行下配置wifi不能连接的一个诡异的bug的解决
  7. 高并发下如何保证数据的一致性
  8. 2017.10.13 轮状病毒 失败总结
  9. 产品不简单之产品设计方法论整理
  10. RMQ----不更新点
  11. 高质量解读《互联网企业安全高级指南》三部曲——理论篇
  12. linux 3ds 模拟器下载,3DS模拟器电脑版
  13. 这一代绝非低智商——读《低智商社会@大前研一》
  14. Onenbsp;ornbsp;morenbsp;scree…
  15. mac安装chromedriver谷歌浏览器驱动
  16. java 适配器模式详解_JAVA设计模式详解(五)----------适配器模式
  17. linux的文本操作模式下的注销命令,linux基本命令大全
  18. 翟佳:StreamNative 组织构建之路丨声网开发者创业讲堂 • 第 5 期
  19. 自定义原生jsonp跨域请求
  20. 攻防世界 Misc 适合作为桌面

热门文章

  1. 什么是soc?SOC与MCU的区别是什么?
  2. shedskin--- 一种python性能优化工具
  3. SCCM2007R2 setp by setp详细部署流程(三)-用户的建立
  4. Eclipse中debug的 setp into 失灵,无法进入方法中的解决方案
  5. airflow error Flask-Appbuilder setp command
  6. 一款用于绘制状态机转换图和流程图的web在线绘图工具
  7. Xtreme9.0 - Light Gremlins 容斥
  8. Xen安装部署和基本原理
  9. 001+limou+时间空间复杂度
  10. C盘爆红?火绒,cclean解决电脑上99%的问题(广告弹窗以及其他方式中有乱码程序名)