嵌入式毕设分享 RFID门禁防盗报警系统(源码+论文)

2023-11-01 02:21

本文主要是介绍嵌入式毕设分享 RFID门禁防盗报警系统(源码+论文),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1 简介
  • 2 绪论
    • 2.1 课题背景与目的
  • 3 射频识别
    • 3.1 射频识别技术
    • 3.2 射频识别模块
      • 3.2.1 RFID模块
      • 3.2.2 RFID模块组成
  • 4 系统设计
    • 4.1 系统架构
      • 4.1.1 硬件部分
      • 4.1.2 软件部分
    • 4.2 软件总体流程图
    • 4.3 密码子程序
    • 4.4 数据采集子程序
    • 4.5 显示子程序
    • 4.6 存储子程序
  • 5 实现效果
  • 6 最后


1 简介

Hi,大家好,这里是丹成学长,今天向大家介绍一个 如何使用RFID技术构建一个单片机门禁系统

毕业设计 基于RFID门禁防盗报警系统(源码+论文)

大家可用于 课程设计 或 毕业设计


🧿 项目分享:

https://gitee.com/sinonfin/sharing


本篇博客,学长先向大家介绍射频识别技术的概念、 分类及工作原。然后介绍 本次使用的射频芯片 MFRC522。

RFID 系统设计可分为硬件部分和软件部分。

硬件部分以 MFRC522 射频识别模块为核心, 结合主控模块 STC89C52 设计系统的外围硬件电路, 实现对射频卡的控制与 MCU 之间的互通。 软件部分采用 C 语言进行系统的下位机程序的开发, 完成与 IC 卡之间的通信, 实现数据交换功能。

在这里插入图片描述

2 绪论

2.1 课题背景与目的

门禁安全管理系统是新型现代化安全管理系统, 它集自动识别技术和现代安全管理措施为一体。 门禁系统可有效管理门的开启关闭, 对出入人员进行监控管理。 基于RFID的门禁系统通过对射频IC卡的识别, 保证那些持有相应证件的人员能自由进出, 阻止外来人员或无法提供证件的人员进入。 还有些门禁是利用生物识别的技术, 通过对人体某些部位(如眼睛、 指纹) 的识别来确认来人是否经过授权。 这种门禁系统相对射频识别的系统安全系数有很大提高, 但其成本较高, 在日 常生活中还未广泛应用。

3 射频识别

3.1 射频识别技术

射频识别(Radio Frequency Identification, RFID) 技术是从八十年代逐渐走向成熟的一种自 动识别技术, 它 是一项利用 射频信号通过空间耦合(交变磁场或电磁场)实现无接触信息传递并通过所传递的信息达到识别目 的的技术。

根据射频卡读写方式的不同可分成可读写(RW) 卡、 一次写入多次读出(WORM) 卡和只读(RO) 卡。 RW 卡成本较 WORM 卡和 RO 卡相比要高, 而且写入数据所花费的时间要远大于读取数据所花费的时间。 用户可以一次性将信息写入 WORM 卡, 写入后数据不能改变。 RO 卡存有一个唯一的号码。 只可读取, 不能修改, 虽然安全性较高, 但用途有限。

在这里插入图片描述

3.2 射频识别模块

3.2.1 RFID模块

在这里插入图片描述

射频识别「Radio Frequency IDentification,简称RFID」技术,又称为无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触,普遍应用于企业/校园一卡通、公交储值卡、高速公路收费、停车场、小区管理等。

RFID 技术利用无线射频方式在阅读器和射频卡之间进行非接触双向数据传输,以达到目标识别和数据交换的目的。

3.2.2 RFID模块组成

  • 标签(Tag,即射频卡),耦合元件及芯片组成,标签含有内置天线,用于和射频天线间进行通信。
  • 阅读器:读取(在读写卡中还可以写入)标签信息的设备。
  • 天线:在标签和读取器间传递射频信号。

这里使用的RFID-RC522模块采用MFRC522芯片,SPI通讯方式,支持Mifarel S50、S70 、Pro、Desfire等类型的卡,附带的白卡和钥匙扣是S50卡,每张卡都有自己的标识(UID)。

在这里插入图片描述

4 系统设计

本系统的主要电路包括: 读卡器数据采集电路、 串行 E 2 PROM 存储电路、 LCD1602 显示电路、 串口通讯电路、 报警电路、 门控电路、 键盘电路。

在这里插入图片描述

器件列表

    1. 主控芯片: AT89C52。
    1. 读卡器: YHY502ATG。
    1. E 2 PROM: AT24C04。
    1. LCD 液晶: ZL1602C2。
    1. 串口通讯芯片: MAX232。
    1. 报警器: 1 个蜂鸣器加一个 LED 红灯。
    1. 门控器件: 一个 LED 绿灯。

4.1 系统架构

4.1.1 硬件部分

LCD1602 显示电路设计
在这里插入图片描述

串口通讯电路设计
在这里插入图片描述

报警电路设计
在这里插入图片描述

4.1.2 软件部分

在本系统中, 软件的设计主要包括: 数据采集模块、 存储模块、 显示模块、 门控模块、 报警模块、 键盘模块和上位机软件的设计几个方面。 本系统的软件结构框图如图 4-1 所示。

    1. 数据采集模块: 读卡器 YHY502ATG 通过天线读取 RFID 卡的数据,然后将数据传送出去。
    1. 存储模块: AT89C52 接收到数据后, 将数据传送给 AT24C04 进行存储。
    1. 显示模块: AT89C52 接收到数据后, 将数据与 AT24C04 里存储的数据进行对比, 若两者完全相同, 则液晶显示正确的信息; 若不相同, 则液晶显示错误的信息。
    1. 门控模块: AT89C52 接收到数据后, 将数据与 AT24C04 里存储的数据进行对比, 若两者完全相同, 则进行开门操作; 若不相同, 则不开门。
    1. 报警模块: AT89C52 接收到数据后, 将数据与 AT24C04 里存储的数据进行对比, 若不相同则报警。
    1. 键盘模块: 通过键盘输入密码, 并根据输入密码的有效性做相应的操作。
      在这里插入图片描述

4.2 软件总体流程图

系统的软件总体流程图如图

在这里插入图片描述

4.3 密码子程序

当程序运行时, 会一直判断是否有按键被按下, 当有按键被按下时, 系统会确定键值, 关将键值存入到密码数组里, 然后将输入的密码与本身的密码做比较, 若相同, 则执行开门和显示正确信息的操作; 若不相同, 则执行报警和显示错误信息的操作。

在这里插入图片描述

核心代码:

P1=0x0f;
if(P1!=0x0f) compare(P1);
for(n=0;n<10;n++)
if(input[n]!=password[n]) break;
if(n==10)
{ if(m<10) continue;
WriteLcdCom(0x01);   //清屏
WriteLcdCom(0x80);  //第一行数据指针地址
for(s=0;s<16;s++)WriteLcdDat(str2[s]);
LEDG=0;
BUZ=0;
delay_10ms(20);
LEDG=1;
BUZ=1;
WriteLcdCom(0x01);
input[0]=" "; }
else if((n<10)&&(P1==0xbd))
{ WriteLcdCom(0x01);   //清屏
WriteLcdCom(0x80);  //第一行数据指针地址
for(s=0;s<16;s++)
WriteLcdDat(str4[s]);
LEDR=0;
for(s=0;s<5;s++)
{ BUZ=0;
delay_10ms(20);
BUZ=1;
delay_10ms(20); }
LEDR=1; }

4.4 数据采集子程序

执行程序之前, 首先要设置串口波特率等相关串口参数, 然后上位机通过串口向下位机发送命令, 并进入串口中断。 下位机根据接收 SBUF 的值做相应的处理。

在这里插入图片描述

核心程序

uchar uart_process(void)
{uchar cmd;
uchar cStatus;
cmd = g_cReceBuf[1];
switch(cmd)
{case 0x20: // 寻卡, 防冲突, 选择卡返回卡系列号(4 bytes)
cStatus =IicSendHY502(g_cReceBuf);  // 发送寻卡命令
cStatus =IicReadHY502(cp);   // 读取卡号并存入到 cP
if((cStatus==SUCCESS)&&(cp[1]==CARD_SN))
{memcpy(&g_cReceBuf[0],&cp[2],4);
eeprom();}}//将读取到的卡序列号与 E 2 PROM 里存储的进行比较
return cStatus;}
开始
上位机发送读卡命令
Y
Y
N
N
有感应卡 ?
验证感应卡权限
权限满足?
开门, 显示正确信息
报警, 显示错误信息
延时后, 自动关门
结束

4.5 显示子程序

显示子程序的主要功能是对当前的门控状态进行显示, 显示函数首先判断是写命令操作还是写数据操作, 若是写命令操作, 则根据命令进行相应的操作, 如清屏、 设置显示模式等; 若是写数据操作, 则在显示器上显示相应数据。

在这里插入图片描述

核心程序

void LcdShowError()
{ WriteLcdCom(0x38);  //显示模式设置
WriteLcdCom(0x0c);  //开显示, 无光标, 光标不闪烁
WriteLcdCom(0x06);  //读写字符后地址指针加一设置
WriteLcdCom(0x80); //第一行数据指针地址
for(k=0;k<16;k++)
{WriteLcdDat(str3[k]);
delay(20); }
WriteLcdCom(0xc0); //第二行数据指针地址for(k=0;k<16;k++)
{ WriteLcdDat(str4[k]);
delay(20);}
WriteLcdCom(0x01);  }
void WriteLcdCom(unsigned char c)
{ LCDRW =00;
LCDRS=0;   //切换到写命令
P0=c;
LCDE=1;
LCDE=0;
for(a=0;a<20;a++);}
void WriteLcdDat(unsigned char d)
{ LCDRW =00;
LCDRS=1;    //切换到写数据
P0=d;
LCDE=1;
LCDE=0;
for(a=0;a<20;a++);}

4.6 存储子程序

本设计中数据的存储芯片选用的是 AT24C04, 该芯片是串行的 E 2 PROM,支持 I 2 C 总线数据传送协议。

在这里插入图片描述

核心程序

void eeprom()
{write_byte(0,0x1e);
write_byte(1,0xda); write_byte(2,0x62); write_byte(3,0xb6);
write_byte(4,0x25); write_byte(5,0xee); write_byte(6,0xde);
write_byte(7,0xb6); write_byte(8,0x05); write_byte(9,0xc8);
write_byte(10,0x43);write_byte(11,0xb8);write_byte(12,0x3a);
write_byte(13,0x04);write_byte(14,0x5d);write_byte(15,0xb6);}
bit shout(uchar write_data)// 从 MCU 移出数据到 AT24C04
{uchar i; bit ack_bit;
for(i = 0; i < 8; i++) // 循环移入 8 个位
{SDA1 = (bit)(write_data & 0x80);
_nop_();
SCL1 = 1;
delayNOP();
SCL1 = 0;
write_data <<= 1; }
SDA1 = 1;  // 读取应答
delayNOP();
SCL1 = 1;
delayNOP();
ack_bit = SDA1;
SCL1 = 0;
return ack_bit;  // 返回 AT24C04 应答位
}
void  write_byte(uchar  addr,  uchar write_data)  //  在 指 定 地 址 addr 
处写入数据 write_data
{ start();
shout(OP_WRITE);
shout(addr);
shout(write_data);
stop();
delay_10ms(1); }

5 实现效果

在这里插入图片描述

在这里插入图片描述


论文概览,2w多字

在这里插入图片描述

6 最后

🧿 项目分享:

https://gitee.com/sinonfin/sharing

这篇关于嵌入式毕设分享 RFID门禁防盗报警系统(源码+论文)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/319816

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同