目录

门禁系统

需要的器件

设计思路

流程图实现

技术实现

实物接线图

实物接线图

函数设计

部分主程序代码,截取片段

12864显示模块

步进电机模块以及蜂鸣器

FRID射频模块

AT24C02模块

功能实现及其源代码

完整文件


门禁系统

需要的器件

STC89C52,MFRC-522 RFID射频模块,AT24C02存储电路,5v步进电机,5v转3.3v稳压模块,(1602)12864显示模块, usb接口的5V电源。

设计思路

采用STC89C52作为主控芯片,MFRC-522模块(5V转3.3模块用于此)用来读射频卡的信息,当有卡进入到读卡器读卡的范围内时就会读取到相应的卡序列号,并根据得到的卡序列号做出相应的操作,或者通过输入密码来进行开门,若正确则开门,若3次不正确则蜂鸣器报警并显示错误信息。通过AT24C02存储密码,掉电后依然可以存储密码,保证系统安全性。如果输入密码正确,通过驱动步进电机来模拟开门。

流程图实现

技术实现

仿真接线与器件

需要请私信或者Q1-9-9-0-5-7-1-0-9-6,数字电路与逻辑及设计课设大作业完整文件。

实物接线图

函数设计

  1. 电机,存储器,射频模块,显示屏,蜂鸣器通过模块化编程
  2. 函数封装,预留不同的接口及功能
  3. 通过按键扫描key值来实现属于与功能选择
  4. 主要通过switch语句实现功能选择
  5. 标志变量判定当前状态与决定显示屏显示菜单

部分主程序代码,截取片段

while(1){PcdReset();//扫描完矩阵键盘后复位RC522detectCard();//探测NFC卡key = keyScan();if(key != 16){if(keyboardMode == 0 || keyboardMode == 2 || keyboardMode == 3)//输入开门密码  输入新键盘密码  输入管理员密码{if(key >=0 && key <= 9){//输入密码【0~9】,显示在第二行if(password <= (999999 - key) / 10)//最大可设置为9位密码,这里设置为6位密码, 请勿改动{password = password * 10 + key;if(password != 0){lcdWriteDate(key + '0');}}}else{//【重输】【主页】【返回】【确定】switch(key){//case 10://打印数据//showAt24c02All();//break;case 12://重输password = 0;lcdCleanLine(3);gotoRowCol(3, 1);break;case 13://返回主页keyboardMode = 0;detectMode = 0;lcdShow_Welcome();gotoRowCol(3, 1);break;case 14://显示菜单password = 0;detectMode = 0;keyboardMode = 1;lcdShowMenu_Main();break;case 15://确定if(keyboardMode == 0){readPassword();if(password / 100000 == passwordInMemory[0] &&password % 100000 / 10000 == passwordInMemory[1] &&password % 10000 / 1000 == passwordInMemory[2] &&password % 1000 / 100 == passwordInMemory[3] &&password % 100 / 10 == passwordInMemory[4] &&password % 10 == passwordInMemory[5]){//开门密码正确beep(1);//蜂鸣器响一下lcdCleanLine(3);gotoRowCol(3, 1);password = 0;passwordWrongCount = 0;//错误次数清零openDoor();//电机开门3s后恢复}else if(password / 100000 == adminPasswordInMemory[0] &&password % 100000 / 10000 == adminPasswordInMemory[1] &&password % 10000 / 1000 == adminPasswordInMemory[2] &&password % 1000 / 100 == adminPasswordInMemory[3] &&password % 100 / 10 == adminPasswordInMemory[4] &&password % 10 == adminPasswordInMemory[5]){//管理员密码正确keyboardMode = 1;password = 0;lcdShowMenu_Main();}

12864显示模块

步进电机模块以及蜂鸣器

FRID射频模块

AT24C02模块

功能实现及其源代码

完整文件

有需要的可以联系,以前的课程作业,现在不会了,请先看清楚,20!!

基于51单片机的FRID智能门禁系统(RFID,12864,AT24C02,步进电机......)相关推荐

  1. 基于51单片机的温室大棚环境检测系统

    ** 基于51单片机的温室大棚环境监测系统 空气温湿度监测,土壤温湿度监测,光照监测,无线传输数据 ** 文末尾附带源码 1.1 研究背景 随着人们生活水平的不断提高,人们对自身的健康越来越关注,对各 ...

  2. 基于51单片机的热水卡系统

    基于51单片机的热水卡系统 说明 功能描述 主要材料 原理图和实物图 部分代码 补充说明 说明 首先很感谢您对这篇文章的阅读,这是我第一次写博文,写得不好的地方请谅解.文章中如果有侵权的请联系我,我会 ...

  3. 基于51单片机简单病床呼叫系统

    基于51单片机简单病床呼叫系统 基于51单片机设计 主要硬件:AT89C52 扬声器.按键 采用16个按键控制16个床位系统设计 实现代码 #include<reg51.h> #defin ...

  4. 0800基于51单片机的甲烷监测系统proteus仿真

    [前言] hello 大家好,今天给大家讲一讲基于51单片机的甲烷监测系统.该项目的功能如下:1.LCD1602液晶实时显示当前温度和甲烷浓度2.超过甲烷浓度阈值,蜂鸣器报警3.按键可更改甲烷浓度阈值 ...

  5. 基于51单片机太阳能光伏充电宝系统 +防过充 基于单片机太阳能充电系统

    基于51单片机太阳能光伏充电宝系统 +防过充 基于单片机太阳能充电系统:由单片机最小系统+太阳能板+ADC0832转换模块+太阳能充电电池+升压模块+充电模块+继电器模块+液晶显示模块+USB供电组成 ...

  6. 水质检测c语言程序,基于51单片机的水质监测系统的设计.doc

    基于51单片机的水质监测系统的设计 基于AT89C51单片机的水质监测系统的设计 摘要:现在水源污染已经成了社会密切关注的话题,所以对水质进行监测成了保护水资源的一项重要措施,基于此本文设计了一款能够 ...

  7. 基于51单片机的智能教室系统

    目录 基于51单片机的智能教室系统 一.原理图 二.部分代码 三.视频演示 基于51单片机的智能教室系统 功能: 1.通过LCD实时温度.光照强度.人数以及手自动模式 2.温度过高且有人的情况下打开空 ...

  8. 基于51单片机的太阳能追光系统 基于51单片机的锂电池太阳能充电器

    基于51单片机的太阳能追光系统 基于51单片机的锂电池太阳能充电器 基于51单片机的锂电池追光充电系统 具体功能:根据太阳光照方向改变光板朝向,利用太阳能给锂离子电池充电,实时显示上下左右四个方向不同 ...

  9. 基于单片机的超市储物柜设计_基于51单片机对电子储物柜系统的设计

    电路描述: 安全是我们日常的生活中最关心的问题. 每个人都觉得安全问题是非常至关重要的,在家里的门和安全,可以尽可能多的安全. 为了对于门访问安全 因此,我们打算通过引进一个电子密码锁系统,该系统包括 ...

最新文章

  1. pytorch的梯度计算以及backward方法
  2. git安装和初步使用
  3. 深入理解计算机系统----读书笔记
  4. 初学python有几个阶段_零基础如何系统的学习Python 从7个阶段入手
  5. c语言课程设计2018,C语言课程设计报告(2018)——学生管理系统(17页)-原创力文档...
  6. L3-028 森森旅游 (30 分)-PAT 团体程序设计天梯赛 GPLT
  7. Mysql索引的本质深入浅出(二)
  8. matlab怎么表示对角阵,matlab – 如何基于每一行将矩阵转换为一堆对角矩阵?
  9. clickHouse 使用常见问题踩坑
  10. 【渝粤题库】陕西师范大学209004道德教育案例研究 作业 (高起专)
  11. 华视 CVR-100UC 身份证读取 Python 二次开发(包含SDK下载地址)
  12. UnPackMe_ASPack2.12的IAT修复 19.05.13
  13. 矿大计算机学院的周裕浩,2019年“中国矿业大学优秀创新硕士奖学金”评选结果...
  14. 逻辑思维训练题:切西瓜之一共切10刀,最多能将西瓜切成多少块?
  15. 【Java游戏项目合集】(附源码+课件)
  16. 1、SONIX单片机新建工程与烧录流程
  17. simpread-PCB 基本布线规范与设计原则
  18. 微型计算机AL和AH区别,微型计算机的技术与应用.ppt
  19. Linux_设置smba共享
  20. 基于微信小程序+SSM学生社团管理系统设计

热门文章

  1. 儿科护理管理中细节管理的应用研究
  2. 中心频点计算公式_LTE网各频段中心频点的计算方法 刘
  3. Keil MDK 和 IAR 两款ARM开发工具区别比较和Keil MDK 的下载,安装及常见问题解决
  4. 聚焦机器人集成应用,看未来工厂“智”变!
  5. 理想倍频器/分频器对相噪/杂散的影响
  6. Mysql-计算n日留存率
  7. 过滤器Filter中得到各种路径
  8. Vue.js实现简单的按钮点击改变css样式
  9. Gatling学习笔记(四)---脚本编写及功能介绍
  10. Linux ——进程的虚拟地址空间,逻辑地址和物理地址,进程管理命令