51单片机的RFID门禁系统
一.硬件方案
本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门禁系统相关推荐
- 基于STM32单片机的RFID门禁显示系统
基于STM32单片机的RFID门禁显示系统 本设计由STM32F103C8T6单片机最小系统+RFID-RC522模块+继电器模块+蜂鸣器电路+LCD1602液晶显示电路+按键电路+电源电路组成 1. ...
- RFID门禁系统快速识别车辆管理
01.社会背景 随着生活水平的不断提高,汽车开始大量进入家庭.在中国城市汽车的保有量迅速增加情况下,车辆的管理已成为一个难题.对车辆进行有效的管理,其核心问题是如何对车辆进行识别.本文介绍了一个基于射 ...
- 【基于Arduino RFID门禁系统】
基于Arduino RFID门禁系统 介绍 射频识别或RFID(Radio-Frequency Identification)是一种通过无线电信号进行自动识别,通过RFID标签检索和存储数据的方法. ...
- B47 - 基于51单片机的RFID停车计费系统
任务摘要 当今社会,交通压力不断增加,智能停车场管理系统是人们对便捷高效交通的一种追求.本智能停车场管理系统运用RFID技术,采用STC8H8K64U单片机.RC522.串口屏.光电传感器实现系统设计 ...
- 江湖云RFID门禁系统
RFID门禁系统,RFID是一项易于操控,简单实用且特别适合用于自动化控制的灵活性应用技术,识别工作无须人工干预,它既可支持只读工作模式也可支持读写工作模式,且无需接触或瞄准:可自由工作在各种恶劣环境 ...
- 【51单片机】RC522门禁系统设计
文章目录 一.主要功能 二.硬件资源 1.硬件准备 2.硬件连接 三.软件设计 1.软件结构 2.主要代码 四.实验现象 联系作者 一.主要功能 系统运行后,LCD12864显示开机界面,默认门锁处于 ...
- 单片机毕设 RFID门禁防盗报警系统(源码+论文)
文章目录 1 简介 2 绪论 2.1 课题背景与目的 3 射频识别 3.1 射频识别技术 3.2 射频识别模块 3.2.1 RFID模块 3.2.2 RFID模块组成 4 系统设计 4.1 系统架构 ...
- 基于MSP430单片机的简单门禁系统
一.课设选题 基于MSP430单片机的门禁 二.选题介绍 门禁系统通过6位密码的键入,然后与设定密码比较,若相同,门开启(电动机转动),同时人数计数器加一.若不同,按AC键清零,重新键入密码. 三.课 ...
- 51单片机ESP8266WIFI远程门禁密码锁可修改密码APP开锁查看密码
实践制作DIY- GC003-WIFI远程门禁密码 一.功能说明: 基于51单片机设计-WIFI远程门禁密码锁 二.功能介绍: 1.基于STC89C52RC,有一个LCD1602显示器显示信息, ...
最新文章
- 怎样能拿到第一份编程工作?这里告诉你答案 | 码书
- 2020-09-09学习OpenCV4:OpenCV-4.1.0+VS2017 编译(包含扩展)
- Openstack Restful API 开发框架 Paste + PasteDeploy + Routes + WebOb
- 机器学习中的算法-支持向量机(SVM)基础
- datatables 基本增删改查(php)
- 树莓派3代刷ubuntu mate在命令行下配置wifi不能连接的一个诡异的bug的解决
- 高并发下如何保证数据的一致性
- 2017.10.13 轮状病毒 失败总结
- 产品不简单之产品设计方法论整理
- RMQ----不更新点
- 高质量解读《互联网企业安全高级指南》三部曲——理论篇
- linux 3ds 模拟器下载,3DS模拟器电脑版
- 这一代绝非低智商——读《低智商社会@大前研一》
- Onenbsp;ornbsp;morenbsp;scree…
- mac安装chromedriver谷歌浏览器驱动
- java 适配器模式详解_JAVA设计模式详解(五)----------适配器模式
- linux的文本操作模式下的注销命令,linux基本命令大全
- 翟佳:StreamNative 组织构建之路丨声网开发者创业讲堂 • 第 5 期
- 自定义原生jsonp跨域请求
- 攻防世界 Misc 适合作为桌面
热门文章
- 什么是soc?SOC与MCU的区别是什么?
- shedskin--- 一种python性能优化工具
- SCCM2007R2 setp by setp详细部署流程(三)-用户的建立
- Eclipse中debug的 setp into 失灵,无法进入方法中的解决方案
- airflow error Flask-Appbuilder setp command
- 一款用于绘制状态机转换图和流程图的web在线绘图工具
- Xtreme9.0 - Light Gremlins 容斥
- Xen安装部署和基本原理
- 001+limou+时间空间复杂度
- C盘爆红?火绒,cclean解决电脑上99%的问题(广告弹窗以及其他方式中有乱码程序名)