基于单片机的指纹打卡系统

embedded/2024/9/30 3:56:04/

目录

一、主要功能

二、硬件资源

三、程序编程

四、实现现象


一、主要功能

基于STC89C52RC,采用两个按键替代指纹,一个按键按下,LCD12864显示比对成功,则
采用ULN2003驱动步进电机转动,表示开门,另一个按键按下,则LCD12864显示比对失败,
此时启动蜂鸣器报警。
还有两个按键,一个按下后切换到第一个页面:请按指纹
第二个按键按下后,显示请再次按下指纹

二、硬件资源

基于KEIL5编写C++代码,PROTEUS8.15进行仿真,全部资源在页尾,提供安装包。

三、程序编程

#include < reg52.h >
#include < character.h >
#include < lcd.h >\
#include<string.h>
#include<stdio.h>
#include<intrins.h>
#include<stdlib.h>
#define INT8U unsigned char
#define INT16U unsigned intsbit key1 = P0^0;
sbit key2 = P0^1;
sbit key3 = P0^2;
sbit key4 = P0^3;
sbit beep = P0^4;INT8U code FFW_ARR[]={0x01,0x03,0x02,0x06,0x04,0x0C,0x08,0x09}; 
INT8U n = 1;/*函数定义*/
void ajpd(); //按键判断函数void jiemian1(void)			  //界面1    请按指纹
{				   Lcd_Character_16X16( 1, 0, 0 , function_logo[5]);  // Lcd_Character_16X16( 1, 0, 16 , function_logo[6]);  // Lcd_Character_16X16( 1, 0, 32 , function_logo[7]);  // Lcd_Character_16X16( 1, 0, 48 , function_logo[8]);  //	
}void jiemian2(void)			  //界面2
{				   Lcd_Character_16X16( 1, 0, 0 , function_logo[0]);  // 比Lcd_Character_16X16( 1, 0, 16 , function_logo[1]);  // 对Lcd_Character_16X16( 1, 0, 32 , function_logo[2]);  // 成Lcd_Character_16X16( 1, 0, 48 , function_logo[3]);  //	功
}void jiemian3(void)			  //界面3  请再次按下指纹 
{				   Lcd_Character_16X16( 1, 0, 0 , function_logo[9]);  // Lcd_Character_16X16( 1, 0, 16 , function_logo[10]);  // Lcd_Character_16X16( 1, 0, 32 , function_logo[11]);  // Lcd_Character_16X16( 1, 0, 48 , function_logo[12]);  //	Lcd_Character_16X16( 1, 0, 64 , function_logo[13]);  // Lcd_Character_16X16( 1, 0, 80 , function_logo[14]);  // Lcd_Character_16X16( 1, 0, 96 , function_logo[15]);  //
}void jiemian4(void)			  //界面4  比对失败
{				   Lcd_Character_16X16( 1, 0, 0 , function_logo[0]);  // Lcd_Character_16X16( 1, 0, 16 , function_logo[1]);  // Lcd_Character_16X16( 1, 0, 32 , function_logo[4]);  // Lcd_Character_16X16( 1, 0, 48 , function_logo[16]);  //	
}void jiemian5(void)			  //界面4   开机中
{				   Lcd_Character_16X16( 1, 0, 32 , function_logo[17]);  // Lcd_Character_16X16( 1, 0, 48 , function_logo[18]);  // Lcd_Character_16X16( 1, 0, 64 , function_logo[19]);  // }void delay_ms(INT16U x)
{INT8U t=120;while(x--)while(t--);
}
void STEP_FFW(INT8U n)
{INT8U i,j;for(i=0; i<5*n; i++){for(j=0; j<8; j++){P1=FFW_ARR[j];delay_ms(60);}}
}
void main(void)
{Lcd_Initial();     //LCD初始化Lcd_Display_On();	//启动屏幕jiemian5();Delay(1000);Lcd_Clear();beep = 0;while(1){ajpd();//按键判断}
}void ajpd()
{if(key1 == 0)  //指纹开{Lcd_Clear();beep = 0;jiemian2();STEP_FFW(n);while(!key1);}if(key2 == 0)  //指纹关{Lcd_Clear();jiemian4();beep = 1;while(!key2);}if(key3 == 0){Lcd_Clear();beep = 0;jiemian1();while(!key3);}if(key4 == 0){Lcd_Clear();beep = 0;jiemian3();while(!key4);}
}

四、实现现象

具体动态效果看B站演示视频:

基于单片机的指纹打卡系统

全部资料(源程序、仿真文件、安装包、演示视频):

百度网盘下载资料icon-default.png?t=O83Ahttps://pan.baidu.com/s/1kcXU1y_TuQWUwiNsIrfo-w?pwd=9nne


http://www.ppmy.cn/embedded/119714.html

相关文章

通信工程学习:什么是OFDM正交频分复用

OFDM&#xff1a;正交频分复用 OFDM&#xff08;Orthogonal Frequency Division Multiplexing&#xff0c;正交频分复用&#xff09;是一种在通信领域中广泛应用的多载波调制技术。该技术通过将高速数据流分割成多个低速子流&#xff0c;并在不同频率上同时传输这些子流&#x…

自动化测试常见的面试题(超详细整理)

“ 今天我给大家介绍一些python自动化测试中常见的面试题&#xff0c;涵盖了Python基础、测试框架、测试工具、测试方法等方面的内容&#xff0c;希望能够帮助你提升自己的水平和信心。” 项目相关 1.什么项目适合做自动化测试&#xff1f; 答&#xff1a;一般来说&#xff…

全网最全软件测试面试题(含答案解析+文档)

一、软件测试基础面试题 1、阐述软件生命周期都有哪些阶段? 常见的软件生命周期模型有哪些? 软件生命周期是指一个计算机软件从功能确定设计&#xff0c;到开发成功投入使用&#xff0c;并在使用中不断地修改、增补和完善&#xff0c;直到停止该软件的使用的全过程(从酝酿到…

[Excel VBA办公]如何使用VBA批量删除空行

在处理Excel数据时&#xff0c;空行可能会干扰数据分析和展示。以下是一个VBA代码示例&#xff0c;帮助你批量删除工作表中的空行。 1. 代码说明 此代码将遍历指定工作表&#xff0c;删除所有空行&#xff0c;确保数据整洁。 2. VBA代码 删除sheet1的空行 Sub DeleteEmptyRow…

YOLOV8在清微智能芯片的部署与实现(一)

现在以YOLOV8 为例&#xff0c;进行演示 文章目录 1. YOLOV8浮点模型训练1.1 准备数据集1.1.1 下载业务数据集1.1.2 下载开源数据集1.1.3 自定义数据集1.1.4 将数据转换为yolo训练数据格式 1.2 yolov8项目准备1.3 训练模型 2. YOLOV8浮点模型推理2.1 模型推理2.2 模型val.py评…

Python(爬虫)正则表达式

正则表达式是文本匹配模式&#xff0c;也就是按照固定模式匹配文本 一、导入 re模块是Python环境的内置模块&#xff0c;所以无需手动安装。直接在文件中导入即可&#xff1a; import re 二、正则表达式基础知识 . 匹配除换行符以外的任意字符 ^ 匹配字符串的开始 $ 匹配字…

25基于python的文本冒险岛游戏(源码+游戏简介+python代码学习攻略)校园招聘面试

基于python的文本冒险岛游戏&#xff08;源代码游戏简介python代码学习&#xff09;资源-CSDN文库https://download.csdn.net/download/m0_72216164/89817518 开头附上工作招聘面试必备问题噢~~包括综合面试题、无领导小组面试题资源文件免费&#xff01;全文干货。 工作招聘无…

java日志框架之Log4j

文章目录 一、Log4j简介二、Log4j组件介绍1、Loggers (日志记录器)2、Appenders&#xff08;输出控制器&#xff09;3、Layout&#xff08;日志格式化器&#xff09; 三、Log4j快速入门四、Log4j自定义配置文件输出日志1、输出到控制台2、输出到文件3、输出到数据库 五、Log4j自…