基于stc51单片机的指纹解锁模块
51单片机指纹解锁
main.c 文件 带注释
#include<reg52.h>
#include<intrins.h>
#include"buzz.h"
#include"key.h"
#include"uart.h"
#include"delay.h"
#include"FPM10A.h"
#include"lcd_1602.h"
#include <stdio.h>sbit key1 = P1^0;
sbit key2 = P1^1;
sbit key_c = P1^5;
sbit relay = P1^6;unsigned char intFlag = 0; //进入模式
xdata unsigned char dis0[16];
unsigned char relayFlag = 0; //继电器状态标志void intoZhiWen(void); //函数声明
void MY_FPM10A_Find_Fingerprint(void);void main()
{ relay = 0;//继电器上电控制下 方便测试DelayMs(200);relay = 1; relayFlag = 0 ;LCD1602_Init(); //初始化液晶屏LCD1602_Display(0x80,"Fingerprint Test",0,16); //液晶开机显示界面Uart_Init(); //初始化串口Key_Init(); //初始化按键DelayMs(200);DelayMs(200);DelayMs(200); //延时500ms,等待指纹模块复位Device_Check(); //校正指纹模块是否接入正确,液晶做出相应的提示DelayMs(200);DelayMs(200);DelayMs(200); //对接成功界面停留一定时间LCD1602_Display(0x80,"key1:int zhi wen",0,16); //显示LCD1602_Display(0xc0,"key2:int jdq ctr",0,16);do{DelayMs(10);if(key1 == 0) intFlag = 1; //按键显示if(key2 == 0) intFlag = 2;}while((key1==1)&&(key2==1));while(1){if(intFlag == 1) //按键K1{intoZhiWen();} //指纹管理模式else if(intFlag == 2){ if(relayFlag == 1) //显示继电器状态{LCD1602_Display(0xc0,"Relay State: C ",0,16); //显示状态}else{LCD1602_Display(0xc0,"Relay State: O ",0,16); //显示状态}if(key_c == 0 ) //按键按下 关闭继电器{relay = 1; //继电器断开relayFlag = 0 ;}MY_FPM10A_Find_Fingerprint(); //搜索指纹DelayMs(50); }}
}void OpenRelay (void) //打开继电器
{relay = 0; relayFlag = 1 ;
}void intoZhiWen(void)
{/**************进入主功能界面****************/LCD1602_Display(0x80," search finger ",0,16); //第一排显示搜索指纹LCD1602_Display(0xc0," Add delete",0,16); //添加和删除指纹if(local_date==0){LCD1602_Display(0x80, " *",0,2);LCD1602_Display(0xc0, " ",0,2);LCD1602_Display(0xc0+8," ",0,2); }else if(local_date==1){LCD1602_Display(0x80, " ",0,2);LCD1602_Display(0xc0, " *",0,2);LCD1602_Display(0xc0+8," ",0,2); }else if(local_date==2){LCD1602_Display(0x80, " ",0,2);LCD1602_Display(0xc0, " ",0,2);LCD1602_Display(0xc0+8," *",0,2); } //确认键if(KEY_OK == 0){ while(KEY_OK == 0);//等待松开按键 switch(local_date){case 0: //搜索指纹 FPM10A_Find_Fingerprint(); break; case 1: //添加指纹FPM10A_Add_Fingerprint();break; case 2: //清空指纹FPM10A_Delete_All_Fingerprint();break;}}//切换键if(KEY_DOWN == 0){while(KEY_DOWN == 0); //等待松开按键 if(local_date<=2){local_date++;if(local_date==3)local_date=0; } } DelayMs(20); //延时判断100ms检测一次
}
此为主程序,要想获取工程文档可以直接点击链接百度网盘下载
- 链接:点击 这儿 提取码:x4jx
我的资源—里面有源码(不要积分)
点击链接获取资源.
加我QQ:1805623022
相关原理图
图片:
基于51单片机指纹管理门禁系统设计-模块框图:
基于51单片机指纹管理门禁系统设计-流程图
希望可以帮到大家
基于stc51单片机的指纹解锁模块相关推荐
- 基于51单片机的指纹解锁自动开门
基于51单片机的指纹解锁自动开门 目录 基于51单片机的指纹解锁自动开门 一.设计说明 二.总体设计思路 三.系统硬件设计 四.系统软件设计 五. 实物制作与现象 七.体会 一.设计说明 指纹解锁:手 ...
- 基于stm32单片机的指纹解锁门禁系统
基于stm32单片机的指纹解锁门禁系统 1.包含三个模式,正常模式,录入模式,删除模式 正常模式下,需要管理员指纹开锁,其他人才能正常打卡,实验室人数清零后,重新需要管理员指纹开锁 录入与删除指纹模式 ...
- 基于STM32单片机光学指纹识别模块(FPM10A)全教程(基于C语言)
本文转载,其来源在参考中:1,稍加修改,因为近期使用到这个模块,故而加以整理! 1.平台 首先我使用的是 奋斗 STM32 开发板 MINI板 基于STM32单片机光学指纹识别模块(FPM10A)全教 ...
- 基于51单片机的指纹密码锁设计
目录 具体实现功能 设计介绍 单片机介绍 设计思路 资料内容 原理图 程序 仿真实现 全部资料 具体实现功能 具体功能: 本设计采用STC89C52.AT89C52.AT89S52作为主控芯片,LCD ...
- 创意发明: 基于STC51单片机超声波测距(精简设计只需三个元件)
基于STC51单片机超声波测距精简设计只需三个元件(测距模块暂且算做是一个元件吧) 1.所需元件:STC单片机+超声波模块+4位共阳数码管 2.原理:单片机向测距模块trig脚发送20us的高电平触发 ...
- 基于51单片机的指纹密码锁
1.系统功能概述 本次分享的是一款基于51单片机的指纹识别电子密码锁系统,该系统以STC89C52单片机作为模块核心,通过串口通信控制指纹模块AS608实现录取指纹并存储指纹数据,并通过LCD1286 ...
- 51单片机 普中V2 超声波测距 报警 显示 基于MCS51单片机的超声波测距模块的开发
基于MCS51单片机的超声波测距模块的开发 采用C51程序设计语言,完成下列功能要求. l 必选功能: (1) 超声波模块和单片机的接口设计,画出完整的电路原理图.(15分) (2) 开发板上电时,显 ...
- 基于51单片机驱动HC-SR04超声波模块(LCD1602显示)
基于51单片机驱动HC-SR04超声波模块(LCD1602显示) 一.基本参数 二.通信时序 三.部分代码展示 四.实际效果 总结 一.基本参数 点击图片购买 HC- SR04+是一款宽电压工作的超声 ...
- 基于51单片机、DS1302时钟模块的电子闹钟设计
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.设计原理 1.DS1302介绍 2.闹钟音乐播放原理 二.程序设计 1.DS1302.h 2.ds1302.c 3.mu ...
最新文章
- Java 数组长度和访问
- viterbi算法_HMM模型和Viterbi算法如何应用于分词
- 关于IE7 兼容问题
- python列表生成式原理_三元表达式/和/或如何在Python中工作/真与假的性质/列表生成/生成器,and,or,执行,原理,True,False,本质,生成式...
- Java判断某年是不是闰年
- Leetcode 30.串联所有单词的子串
- 【linux】修改某一行
- SQL数据库置疑修复说明文档
- 基于人体姿态识别的AI健身系统(浅谈
- 康师傅被“水和面”糊住了眼睛?
- HR不排斥的三大跳槽理由
- 活法 - 第五章 宇宙潮涌 因果之法
- 4篇YouTube推荐系统论文, 一起来看看别人家的孩子
- 方差分析(ANOVA)分类、应用举例及matlab代码
- Lombok Plugin
- python 高斯约当消元法求逆矩阵
- K210学习笔记(五)——MAIX BIT(K210)与STM32串口通讯
- 英语语法-- 第二讲、Be动词的形式和用法
- 计算机应用知识,什么是Ose.exe程序解析?
- EMNLP 2020 | Facebook稠密向量召回方案
热门文章
- RTX3090ti和rtx2080ti参数对比
- 成为高薪的AI人工智能工程师的条件
- 解决ECharts中使用tooltip时鼠标移入抖动问题
- HTTP ERROR 403 No valid crumb was included in the request ~jenkins 太高的版本错误。降低版本
- HTML 编码规范之布尔型属性
- C语言——宏定义及保留n位小数
- linux 切换左右声道,linux下怎么把数据分别给左右声道
- 09.5. 机器翻译与数据集
- 移远通信亮相CCBN2021,助推视听媒体等领域不断创新
- 1月书单 2月新书预告 | 百万册畅销书全新续作来啦