当前位置: 首页 > news >正文

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

目录

一、主要功能

二、硬件资源

三、程序编程

四、实现现象


一、主要功能

基于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站演示视频:
B站演示视频
基于单片机的指纹打卡系统

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

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

相关文章:

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

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于STC89C52RC&#xff0c;采用两个按键替代指纹&#xff0c;一个按键按下&#xff0c;LCD12864显示比对成功&#xff0c;则 采用ULN2003驱动步进电机转动&#xff0c;表示开门&#xff0c;另一个…...

【Linux】用户操作命令

声明&#xff1a;以下内容均学习自《Linux就该这么学》一书 1、管理员root Linux系统的管理员之所以是root&#xff0c;并不是因为它的名字叫root&#xff0c;而是因为该用户的身份号码UID&#xff08;User IDentification&#xff09;的数值是0。UID相当于身份证号码&#x…...

Y20030018基于Java+Springboot+mysql+jsp+layui的家政服务系统的设计与实现 源代码 文档

家政服务系统的设计与实现 1.摘要2.开发目的和意义3.系统功能设计4.系统界面截图5.源码获取 1.摘要 随着人们生活水平的提高&#xff0c;老龄化、少子化等多重因素影响&#xff0c;我国对家政服务人群的需求与日俱增。家政服务行业对我国的就业和社会效益贡献也与日俱增&#…...

windows部署PaddleSpeech详细教程

windows安装paddlespeech步骤&#xff1a; 1. 安装vs c编译环境 对于 Windows 系统&#xff0c;需要安装 Visual Studio 来完成 C 编译环境的安装。 Microsoft C Build Tools - Visual Studio 2. 安装conda conda create -y -p paddlespeech python3.8 conda activate pad…...

线程条件变量 生产者消费者模型 Linux环境 C语言实现

只能用来解决同步问题&#xff0c;且不能独立使用&#xff0c;必须配合互斥锁一起用 头文件&#xff1a;#include <pthread.h> 类型&#xff1a;pthread_cond_t PTHREAD_COND_INITIALIZER 初始化 初始化&#xff1a;int pthread_cond_init(pthread_cond_t * cond, NULL);…...

C++ packaged_task

packaged_task 是 C11 标准库中引入的一个模板类&#xff0c;它用于将可调用对象&#xff08;如函数、lambda 表达式、函数对象或绑定表达式&#xff09;包装起来&#xff0c;并允许异步地获取其结果packaged_task 类提供了一种方便的方式来创建任务&#xff0c;这些任务可以被…...

【联表查询】.NET开源 ORM 框架 SqlSugar 系列

.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务…...

嵌入式C编程:宏定义与typedef的深入对比与应用

目录 一、宏定义&#xff08;Macro Definition&#xff09; 1.1. 特点与应用 1.1.1 定义常量 1.1.2 定义函数式宏 1.1.3 条件编译 1.2. 作用范围和生命周期方面 1.3. 应用注意事项 二、typedef 2.1. 特点与应用 2.1.1 简化类型声明 2.1.2 提高代码可读性 2.1.3 实现…...

高级java每日一道面试题-2024年12月03日-JVM篇-什么是Stop The World? 什么是OopMap? 什么是安全点?

如果有遗漏,评论区告诉我进行补充 面试官: 什么是Stop The World? 什么是OopMap? 什么是安全点? 我回答: 在Java虚拟机&#xff08;JVM&#xff09;中&#xff0c;Stop The World、OopMap 和 安全点 是与垃圾回收&#xff08;GC&#xff09;和性能优化密切相关的概念。理…...

【openGauss︱PostgreSQL】openGauss或PostgreSQL查表、索引、序列、权限、函数

【openGauss︱PostgreSQL】openGauss或PostgreSQL查表、索引、序列、权限、函数 一、openGauss查表二、openGauss查索引三、openGauss查序列四、openGauss查权限五、openGauss或PostgreSQL查函数六、PostgreSQL查表七、PostgreSQL查索引八、PostgreSQL查序列九、PostgreSQL查权…...

Dataset用load_dataset读图片和对应的caption的一个坑

代码&#xff1a; data_files {} if args.train_data_dir is not None:data_files["train"] os.path.join(args.train_data_dir, "**")dataset load_dataset("imagefolder",data_filesdata_files,cache_dirargs.cache_dir,) 数据&#xff1…...

【信息系统项目管理师】第7章:项目立项管理 考点梳理

文章目录 7.1 项目建议与立项申请7.2 项目可行性研究7.2.1 可行性研究的内容7.2.2 初步可行性研究7.2.3 详细可行性研究&#xff08;重点&#xff09; 7.3 项目评估与决策 【学习建议】本章大概考选择题2分左右&#xff0c;有可能考案例题。论文早年考过。本章知识点比较集中&a…...

知识库、提示词对大语言模型的影响测试

简介 通过对比有无知识库&#xff0c;测试大语言模型的回答 有无提示词对比测试 前提 大语言模型&#xff1a;Qwen1.5-1.8B-Chat-GPTQ-Int4 GPU&#xff1a;1650super&#xff0c;显存4G 提问&#xff1a;华为mate70 没有提示词 回答的内容如下 “华为mate70pro和mate40p…...

vistat-监控和分析网络状态

vistat 是一个用于监控和分析网络状态的工具&#xff0c;通常用于查看网络接口、流量、连接等实时数据。 原理&#xff1a;用户态调用系统接口获取内核中的网络统计信息。 核心功能&#xff1a;网络接口流量监控、查看连接状态、带宽使用分析。 使用方法&#xff1a; 查看接…...

EasyAnimateV5 视频生成大模型原理详解与模型使用

在数字内容创作中&#xff0c;视频扮演的角色日益重要。然而&#xff0c;创作高质量视频通常耗时且昂贵。EasyAnimate 系列旨在利用人工智能技术简化这一过程。EasyAnimateV5 建立在其前代版本的基础之上&#xff0c;不仅在质量上有所提升&#xff0c;还在多模态数据处理和跨语…...

水稻和拟南芥生命周期中单碱基分辨率的m6A定量分析-文献精读88

Quantitative profiling of m6A at single base resolution across the life cycle of rice and Arabidopsis 水稻和拟南芥生命周期中单碱基分辨率的m6A定量分析 水稻参考基因组&#xff08;日本晴品种&#xff09;-CSDN博客 “Xian”&#xff08;籼&#xff09;和“Geng”&…...

学习threejs,使用canvas更新纹理

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️Texture 贴图 二、&#x1…...

【笔记2-3】ESP32 bug:PSRAM chip not found or not supported 没有外部PSRAM问题解决

主要参考b站宸芯IOT老师的视频&#xff0c;记录自己的笔记&#xff0c;老师讲的主要是linux环境&#xff0c;但配置过程实在太多问题&#xff0c;就直接用windows环境了&#xff0c;老师也有讲一些windows的操作&#xff0c;只要代码会写&#xff0c;操作都还好&#xff0c;开发…...

大数据hadoop、spark、flink、kafka发展的过程

将sql 代发翻译成java 程序 将python 程序通过pyspark框架翻译成java 程序&#xff0c;然后运行在spark计算框架上...

设计模式-理论基础

理论基础 一、代码质量指标1.可维护性&#xff08;maintainability&#xff09;2.可读性&#xff08;readability&#xff09;3.可扩展性&#xff08;extensibility&#xff09;4.灵活性&#xff08;flexibility&#xff09;5.简洁性&#xff08;simplicity&#xff09;6.可复用…...

未来金融的三大走向

1. 智能化加速AI已从辅助决策走向自主交易&#xff0c;量化策略、智能投顾将覆盖更多普通投资者。不懂代码&#xff0c;也能用自然语言下达投资指令。 2. 资产代币化现实世界资产&#xff08;RWA&#xff09;上链成为新趋势。房产、债券、甚至艺术品&#xff0c;都可以分割成数…...

【嵌入式】第2讲:USB CDC 从“插上电脑”到“出现 COM 口”,枚举过程到底发生了什么

好&#xff0c;进入第 2 讲。 第2讲&#xff1a;USB CDC 从“插上电脑”到“出现 COM 口”&#xff0c;枚举过程到底发生了什么 后面调试时&#xff0c;最常见的问题不是“代码编译不过”&#xff0c;而是&#xff1a; 插上电脑没反应设备管理器里看不到东西有未知设备&…...

从硬件到代码:深入理解ARM中断向量表的工作原理与设计哲学

ARM中断向量表&#xff1a;从硬件设计到软件实现的深度解析 在嵌入式系统开发中&#xff0c;中断机制是处理器响应外部事件的核心机制之一。作为ARM架构中异常处理的基础设施&#xff0c;中断向量表的设计直接影响着系统的实时性和可靠性。本文将深入探讨ARM中断向量表的工作原…...

告别printf调试:手把手教你用STM32F411的USART6重定向标准输入输出

STM32F411串口调试革命&#xff1a;USART6重定向实战指南 在嵌入式开发中&#xff0c;调试信息的输出是开发者最依赖的工具之一。传统调试方式往往需要复杂的硬件调试器或频繁烧录程序&#xff0c;效率低下且不够灵活。本文将带你探索一种高效、便捷的调试方案——通过STM32F4…...

GLM-4.1V-9B-Base快速部署:Docker镜像体积优化与启动时间实测对比

GLM-4.1V-9B-Base快速部署&#xff1a;Docker镜像体积优化与启动时间实测对比 1. 模型概述 GLM-4.1V-9B-Base是智谱开源的一款视觉多模态理解模型&#xff0c;专注于图像内容识别与分析任务。该模型具备9B参数规模&#xff0c;在中文视觉理解领域表现出色&#xff0c;能够完成…...

GHelper:重构华硕笔记本硬件控制的颠覆式开源方案

GHelper&#xff1a;重构华硕笔记本硬件控制的颠覆式开源方案 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar, …...

Llama-3.2V-11B-cot 安全与合规指南:避免生成有害内容的过滤策略

Llama-3.2V-11B-cot 安全与合规指南&#xff1a;避免生成有害内容的过滤策略 最近在帮一个朋友部署一个基于视觉大模型的应用&#xff0c;他兴奋地给我展示各种有趣的图文对话功能。聊着聊着&#xff0c;他突然问了一个很实际的问题&#xff1a;“这玩意儿要是用户上传一张不合…...

京东 SPU/SKU 数据接口全解读:商品详情 API 文档(2026 最新版)

京东商品详情 API 体系以SPU&#xff08;标准产品单元&#xff09;聚合、SKU&#xff08;库存单元&#xff09;明细为核心设计&#xff0c;覆盖商家开放平台&#xff08;JOS&#xff09;、京东联盟两大核心场景&#xff0c;支持单品 / 批量查询、全字段 / 指定字段返回&#xf…...

Wan2.2-I2V-A14B多场景应用:文旅宣传/电商主图/社交媒体动态生成

Wan2.2-I2V-A14B多场景应用&#xff1a;文旅宣传/电商主图/社交媒体动态生成 1. 开箱即用的视频创作利器 想象一下&#xff0c;你只需要输入一段文字描述&#xff0c;就能自动生成一段高清视频。这就是Wan2.2-I2V-A14B文生视频模型带来的革命性体验。无论你是文旅行业的宣传人…...

10个HTTPie CLI高级功能实战技巧:从入门到精通API调试

10个HTTPie CLI高级功能实战技巧&#xff1a;从入门到精通API调试 【免费下载链接】cli &#x1f967; HTTPie CLI — modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. 项目地址: https:/…...