基于STM32的多功能门禁系统(AS608指纹识别、密码解锁、刷卡解锁)
目录
一、项目功能
二、视频
三、原理图
4、材料选择
5、部分程序
资料下载地址:基于STM32的多功能门禁系统
一、项目功能
1、AS608指纹解锁;可以录入、删除、验证指纹;
2、密码解锁;可以密码验证、修改密码和保存密码;
3、刷卡解锁;
4、OLED液晶显示;
二、视频
基于STM32的多功能门禁系统(AS608指纹识别、密码解锁、刷卡解锁)
三、原理图
4、材料选择
AS608指纹模块
RC522刷卡模块
OLED液晶显示模块
矩阵按键模块
5、部分程序
#include "sys.h"
#include "delay.h"
#include "oled_iic.h"
#include "stdio.h"
#include "key.h"
#include "timer.h"
#include "as608.h"
#include "usart3.h"
#include "stmflash.h"
#include "key_driver.h"
#include "RFID_RC522.h"
//要写入到STM32 FLASH的字符串数组u8 TEXT_Buffer[10]={"1234"};
#define SIZE sizeof(TEXT_Buffer) //数组长度u8 datatemp[SIZE];
u8 PassFlag = 0;// 1 :更改密码 2:验证密码
u8 inputidx = 0;
u8 setidx = 0;
u8 cardidx = 0;
u8 delidx = 0;
u16 errcnts = 0;
int main(void)
{ extern const u8 BMP1[];int i = 0,m = 0,temp = 0;u8 data[16]={0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x20,255,255,255,255,255,255,255}; //写入的金额;HZ= GB16_NUM();NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级delay_init();TIM3_Int_Init(71,999);Init_Key_Driver();usart3_init(57600);KEY_Init();delay_ms(100);OLED_Init();//delay_ms(1000);OLED_Clear();//delay_ms(500);OLED_ShowCH(16, 0, "指纹解锁");OLED_ShowCH(16, 2, "K1添加指纹");OLED_ShowCH(16, 4, "K3删除指纹");OLED_ShowCH(16, 6, "K5验证指纹");STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)TEXT_Buffer,4);//获取密码delay_ms(50);RC522_Init(); //RC522while(1){ Main_Key_Ack();if(SysMenu.menuidx == 0){if(SysMenu.ID == 0){OLED_ShowCH(16, 0, "指纹解锁");OLED_ShowCH(16, 2, "K1添加指纹");OLED_ShowCH(16, 4, "K3删除指纹");OLED_ShowCH(16, 6, "K5验证指纹");}PassFlag = 0;if(SysMenu.ID==1){OLED_Clear();//Add_FR();}if(SysMenu.ID==3){OLED_Clear();Del_FR();}if(SysMenu.ID==5){OLED_Clear();OLED_ShowCH(32,2,"请按手指");press_FR();} }else if(SysMenu.menuidx == 1){if(SysMenu.ID == 0){OLED_ShowCH(16, 0, "密码解锁");OLED_ShowCH(16, 2, "K1更改密码");OLED_ShowCH(16, 4, "K2验证密码");//Main_Key_Ack();}if(SysMenu.ID == 1){switch(setidx){case 0://输入新密码Syspass.flag = 1;OLED_ShowCH(16, 2, "输入新密码");OLED_ShowCH(16, 4, " ");setidx = 1;break;case 1://显示****for( i = 0 ; i < Syspass.changenum;i++){OLED_ShowCH(16 + i *16, 4, "*");}if(Syspass.changenum == 4)setidx = 2;break;case 2://密码更改if(Syspass.isok == 1){Syspass.isok = 0;ChangePass();delay_ms(1000);setidx = 0;SysMenu.ID = 0;Syspass.flag = 0;}break; }}if(SysMenu.ID == 2){switch(inputidx){case 0://输入密码Syspass.flag = 2;OLED_ShowCH(16, 2, "请输入密码");OLED_ShowCH(16, 4, " ");inputidx = 1;break;case 1://显示****for( i = 0 ; i < Syspass.verifynum;i++){OLED_ShowCH(16 + i *16, 4, "*");}if(Syspass.verifynum == 4)inputidx = 2;break;case 2://密码匹配if(Syspass.isok == 1){Syspass.isok = 0;MatchPass();delay_ms(1000);inputidx = 0;SysMenu.ID = 0;Syspass.flag = 0;}break;}}}else if(SysMenu.menuidx == 2){if(SysMenu.ID == 0){OLED_ShowCH(16, 0, "刷卡解锁");OLED_ShowCH(16, 2, "K1请刷卡");//OLED_ShowCH(16, 4, "K2验证密码");}if(SysMenu.ID == 1){switch (cardidx){case 0:OLED_ShowCH(16, 2, "请刷卡 ");//OLED_ShowCH(16, 4, " ");temp = read_card_data();if(temp == 0){cardidx = 1;}else OLED_ShowCH(16, 4, " ");errcnts++;if(errcnts > 200){errcnts = 0;cardidx = 0;SysMenu.ID = 0;OLED_ShowCH(16, 4, " ");}break;case 1:OLED_ShowCH(16, 4, "刷卡成功");delay_ms(1500);delay_ms(1500);cardidx = 0;SysMenu.ID = 0;OLED_ShowCH(16, 4, " ");break;case 2:break;}}}}
}
基于STM32的多功能门禁系统(AS608指纹识别、密码解锁、刷卡解锁)相关推荐
- 指纹识别所运用的计算机技术,门禁系统的指纹识别功能所运用的计算机技术有哪些...
门禁系统的指纹识别功能所运用的计算机技术有哪些 发布时间:2020-07-24 16:12:25 来源:亿速云 阅读:150 作者:Leah 本篇文章给大家分享的是有关门禁系统的指纹识别功能所运用的计 ...
- php 门禁系统,门禁系统的指纹识别功能所运用的计算机技术是什么
门禁系统的指纹识别功能所运用的计算机技术是"模式识别",所谓模式识别的问题就是用计算的方法根据样本的特征将样本划分到一定的类别中去,模式识别就是通过计算机用数学技术方法来研究模式的 ...
- 基于STM32单片机的RFID门禁显示系统
基于STM32单片机的RFID门禁显示系统 本设计由STM32F103C8T6单片机最小系统+RFID-RC522模块+继电器模块+蜂鸣器电路+LCD1602液晶显示电路+按键电路+电源电路组成 1. ...
- 基于MSP430单片机的简单门禁系统
一.课设选题 基于MSP430单片机的门禁 二.选题介绍 门禁系统通过6位密码的键入,然后与设定密码比较,若相同,门开启(电动机转动),同时人数计数器加一.若不同,按AC键清零,重新键入密码. 三.课 ...
- 基于stm32的智能防疫门禁管理系统
1.选题背景与意义 经过了疫情的开端与发展,就目前我国已经处在疫情的常态化管理中.在疫情常态化管理下,与人们日常生活中的出行,总离不开测温.通行证明等等. 针对当前的疫情形式,我们设计一款智能防疫门禁 ...
- 51单片机项目之OLED显示多功能门禁系统(密码、刷卡、指纹、WIFI、蓝牙等)(一)硬件设计
多功能门禁系统硬件设计 今天分享一款能够由个人独立完成的个人项目多功能门禁系统,具有以下功能: (1)指纹 1.指纹识别控制继电器开关电磁锁 2.添加指纹 3.删除指纹 (2)刷卡 1.RFID RC ...
- 机器人门禁控制盒怎么接线方法_RFID门禁系统原理、初始密码、密码修改方法...
现在,科技进步的速度越来越快,如今就连门锁都使用上了高科技,不知道大家有没有听说过RFID门禁系统,所谓RFID就是Radio Frequency Identification的缩写,即射频识别,可能 ...
- 小区门禁MATLAB的指纹识别仿真
小区门禁MATLAB的指纹识别仿真 一.课题介绍 当今社会每个人都需要通过身份识别来完成一些事情,而不同于传统识别方法可能回来带安全隐患,生物特征识别成为一项可靠便捷的识别方法.目前有很多生物识别技术 ...
- 基于android的门禁系统代码,基于ESP8266 base on esp8266门禁系统 安卓源码
基于ESP8266门禁系统安卓源码 视频中的小伙伴是我的搭档,负责硬件电路搭建,为了搭电路没少熬夜,挺感谢他的. 这是本人的毕业设计(专科)历时一个月完成.在做毕业设计之前一直在准备转本考试,考完试, ...
最新文章
- 汤家凤高等数学基础手写笔记-曲线与曲面积分
- python停止运行tensorflow_Tensorflow 开启训练后卡死
- php 自带多进程,php多进程实现
- 如何查看一个组件的 classid是多少_如何查看iphone电池使用次数?6s电池容量多少需要更换?...
- linux下用grep命令根据文件内容进行关键字搜索[linux ubuntu grep] -转
- 算法21----重塑矩阵 LeetCode566
- CODE Unicode roleName_字符类型数据 人物名子
- ExpandableListView实现组内单选,组间多选功能
- JIRA数据库的迁移,从HSQL到MYSQL/Oracle
- 第六章 静电场中的导体和电介质
- html怎么快捷复制粘贴,如何快速复制粘贴 最全复制粘贴攻略教程大全
- 历届诺贝尔文学奖获得者名录
- Spring核心JAR包
- 46zTree - Metro 风格的左侧菜单
- Stm32中英文手册官网免费
- 罗尔定理与零点定理判断实际应用与判断
- 《高考前夕时间旅行的可行性研究报告》
- 【操作系统】虚拟内存
- 用C语言写飞机小游戏
- php中ksort和krsort排序问题