文章目录

  • 一、主要功能
  • 二、硬件资源
    • 1.硬件准备
    • 2.硬件连接
  • 三、软件设计
    • 1.软件结构
    • 2.主要代码
  • 四、实验现象
  • 联系作者

一、主要功能

系统运行后,LCD12864显示开机界面,默认门锁处于关闭状态,当使用正确的磁卡感应后,蜂鸣器发出开锁提示音,且LCD12864显示门锁开,舵机运行,一段时间后自动关闭。


二、硬件资源

1.硬件准备

项目所需要的硬件资源如下:
1、51单片机开发板1个
2、RC522射频模块1个
3、LCD12864液晶模块1个
4、USB线1条(用于供电和程序下载)
5、杜邦线若干
6、SG90舵机1个

2.硬件连接

      蜂鸣器模块-->单片机IOBEEP-->P25SG90舵机模块-->单片机IOMOTOR-->P10VCC-->5VGND-->GNDLCD12864液晶-->单片机IORS->P26RW->P25E->P27DB0-DB7-->P00-P07PSB->P32RC522射频模块-->单片机IORST-->P24SDA-->P20SCK-->P21SI-->P22SO-->P233.3V-->3.3VGND-->GND

三、软件设计

1.软件结构

2.主要代码

#include "app_demo.h"
#include "key.h"
#include "time.h"
#include "beep.h"
#include "lcd12864.h"
#include "rc522.h"
#include "uart.h"//舵机控制脚
sbit MOTOR=P1^0;//定义全局结构体变量
xdata _sys_str sys_str;//定时器0中断函数
void time0() interrupt 1
{static u8 i=0;TH0=0XDC;  //给定时器赋初值,定时10msTL0=0X00;i++;}//开机界面显示
void open_show(void)
{lcd12864_show_string(0,0,"-->RC522门禁系统");lcd12864_show_string(0,1,"门锁:关");lcd12864_show_string(0,2,"****************");lcd12864_show_string(0,3,"  >>嗨小易<<  ");
}//门锁控制
void gate_lock_control(void)
{u8 status=0;u8 i=0;xdata u8 buf[MAXRLEN];u16 temp=0;steer_control(0);//舵机控制关while(1){status=PcdRequest(PICC_REQALL, buf);//寻卡if(status!= MI_OK){    PcdReset();PcdAntennaOff(); PcdAntennaOn();continue;}printf("\r\n卡的类型:");for(i=0;i<18;i++){temp=buf[i];printf("%X",temp);  }status=PcdAnticoll(buf);//防冲撞if(status != MI_OK)continue;printf("\r\n卡序列号:");for(i=0;i<4;i++){temp=buf[i];printf("0X%X ",temp);    }printf("\r\n");//通过串口输出的序列号进行对比验证if(buf[0]==0xFC&&buf[1]==0X9F&&buf[2]==0X0C&&buf[3]==0X22){beep_alarm(100,20);//蜂鸣器提示音lcd12864_show_string(3,1,"开");steer_control(1);//舵机控制开delay_ms(3000);lcd12864_show_string(3,1,"关");steer_control(0);//舵机控制关}          }
}//应用控制系统
void app_control_sys(void)
{time0_init();//初始化定时器0time0_start();//开启定时器0lcd12864_init();//LCD12864初始化UART_Init();printf("Test\r\n");rc522_init();//RC522初始化sys_parm_init();//系统参数初始化open_show();//开机界面显示while(1){gate_lock_control();//门锁控制                              }
}

四、实验现象

B站演示视频:https://space.bilibili.com/444388619


联系作者

作者B站链接:https://space.bilibili.com/444388619
可提供手把手教学服务,资料获取请联系作者QQ:3443792007
专注于51单片机、STM32、国产32、DSP、Proteus、ardunio、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

【51单片机】RC522门禁系统设计相关推荐

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

    1.设计思路 RFID门禁系统主要采用了STC89C52RC单片机作为控制模块及读卡器RFID-RC522作为识别模块.本设计实现了自动.准确的识别卡序列号.当有卡进入到读卡器读卡的范围内时就会读取到 ...

  2. 毕业设计 单片机指纹识别门禁系统设计与实现 - 物联网 嵌入式

    文章目录 1 简介 2 绪论 2.1 课题背景 2.2 项目内容 3 系统设计 3.1 系统架构 3.2 硬件设计 3.3 指纹识别模块的程序设计 3.3.1 指纹录入 3.3.2 指纹识别代码流程 ...

  3. 【毕业设计】基于单片机的指纹识别门禁系统设计 -物联网 stm32 嵌入式

    文章目录 1 简介 2 绪论 2.1 课题背景 2.2 项目内容 3 系统设计 3.1 系统架构 3.2 硬件设计 3.3 指纹识别模块的程序设计 3.3.1 指纹录入 3.3.2 指纹识别代码流程 ...

  4. RFID RC522门禁系统

    RFID RC522门禁系统 RFID RC522门禁系统说明: 基于51单片机的RFID RC522门禁系统的主要功能是,在本系统中主要是演示了RFID RC522门禁系统,在单片机内部的RAM中I ...

  5. 【单片机毕业设计】【mcuclub-jj-050】基于单片机的门禁的设计

    最近设计了一个项目基于单片机的门禁系统,与大家分享一下: 一.基本介绍 项目名:门禁 项目编号:mcuclub-jj-050 单片机类型:STC89C52.STM32F103C8T6 具体功能: 1. ...

  6. STM32使用硬件SPI驱动RC522门禁模块

    0.前言 RC522射频门禁识别模块非常常用,某宝卖家提供的程序基本都是使用软件模拟SPI的方式进行驱动的,但是实测使用软件模拟SPI识别速率.准确性没有硬件SPI驱动时高,因此本篇博客用于记录使用S ...

  7. 【毕业设计】基于单片机的门禁系统 - 嵌入式 物联网

    文章目录 1 简介 2 课题背景 3 详细设计 3.1 整体设计方案 3.2 功能模块 3.3 软件设计 4 实现效果 5 部分实现代码 6 最后 1 简介 Hi,大家好,这里是丹成学长,今天向大家介 ...

  8. 基于Tiny-51操作系统的51单片机温度测控系统设计

    文章目录 基于Tiny-51操作系统的51单片机温度测控系统设计 一.设计题目 二.设计要求 三.设计作用及目的 四.硬件设计 五.软件流程 六.调试界面 七.心得体会 八.程序源码 基于Tiny-5 ...

  9. 基于stm32单片机RFID门禁刷卡/指纹识别系统

    基于stm32单片机RFID门禁刷卡/指纹识别系统 采用两种模式 1:通过rfid卡识别,读取卡号 2:通过指纹识别模块进行录入,对比 标价为资料设计编号,需要实物可问我 资料包含 原理图,程序,元器 ...

最新文章

  1. 神经网络并不是尚方宝剑,我们需要正视深度 NLP 模型的泛化问题
  2. HALCON完全卸载重装
  3. Deep Learning论文笔记之(七)深度网络高层特征可视化
  4. 安装mysql5.5时常见错误--缺失make
  5. mysql 日期_Mysql数据库常见函数(下)——日期时间函数
  6. linux .i文件,Linux的文件I/O
  7. perl 字符串删除末尾几个字符_perl中的字符串操作函数chomp与chop介绍
  8. J-UI框架踩过的坑
  9. 献给初学者,[winform]中如何设计高效全局的快捷键?[ShortcutKeys]
  10. python 列表自动排序_Python学习小技巧之列表项排序的示例代码分享
  11. linux学习小记 (一 )
  12. Lync 小技巧-8-超速-更新-地址簿
  13. 查找存储过程中的错误位置
  14. apple 苹果官方的demo 下载地址
  15. ffmpeg 安装教程
  16. 《Windows程序设计》之剪贴板查看器
  17. awgn信道matlab,AWGN信道下数字通信系统的蒙特卡洛仿真(基于matlab).doc
  18. 微信小程序——拼图游戏案例
  19. OSChina 周二乱弹 —— 小哥哥,你可以教我写代码吗
  20. 【Bootstrap】选择折叠项collapse

热门文章

  1. 移动端H5页面,关闭手机键盘!
  2. 黑莓如何装java软件_安装BlackBerry的Java开发环境
  3. 无线网络渗透-1: 802.11 AP扫描
  4. privat,pubic的区别
  5. DHCP、PXE自动化部署操作系统、DNS正向解析、NFC共享目录服务--(程序员心碎的一天,碎了的自行粘上)
  6. web项目电商网站开发实战(1)
  7. oracle的scn技术,Oracle SCN 深入研究
  8. MT6735芯片平台方案开发资料介绍(主板/PCBA,驱动/底层开发,软件/系统)
  9. 记录使用pytest测试UI自动化遇到的self = <script.test01_user_login.TestUserLogin object at 0x000001A8BE16E430>问题解决
  10. 陈宝存:追求财富不可耻,羡慕嫉妒恨才可耻(转)