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

news2024/9/25 10:32:08

目录

一、主要功能

二、硬件资源

三、程序编程

四、实现现象


一、主要功能

基于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 int


sbit 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.coloradmin.cn/o/2163302.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电脑桌面归纳小窗口如何设置?电脑桌面一键整理工具分享!

电脑桌面归纳小窗口如何设置&#xff1f;日常使用电脑的过程中&#xff0c;随着文件、应用程序的不断增加&#xff0c;桌面往往会变得杂乱无章&#xff0c;这不仅影响了美观&#xff0c;也降低了工作效率。幸运的是&#xff0c;现代技术为我们提供了多种桌面整理工具&#xff0…

【QA-MISRA】解决使用命令行扫描项目后看不到报告的问题

1、 文档目标 解决使用命令行扫描项目后看不到报告的问题 2、 问题场景 客户使用命令行扫描项目后看不到报告&#xff0c;原因是客户未设置和勾选报告格式就导出了DAX文件进行命令行直接扫描。 3、软硬件环境 1、软件版本&#xff1a; QA-MISRA23.04 2、机器环境&#xff1…

李宏毅2023机器学习作业HW07解析和代码分享

ML2023Spring - HW7 相关信息&#xff1a; 课程主页 课程视频 Kaggle link 回来了 : ) Sample code HW07 视频 HW07 PDF 个人完整代码分享: GitHub | Gitee | GitCode P.S. HW7 的代码都很易懂&#xff0c;可以和 2024 年的新课&#xff1a;生成式AI导论做一个很好的衔接&#…

开源 AI 智能名片与 S2B2C 商城小程序:嫁接权威实现信任与增长

摘要&#xff1a;本文探讨了嫁接权威在产品营销中的重要性&#xff0c;并结合开源 AI 智能名片与 S2B2C 商城小程序&#xff0c;阐述了如何通过与权威关联来建立客户信任&#xff0c;提升产品竞争力。强调了在当今商业环境中&#xff0c;巧妙运用嫁接权威的方法&#xff0c;能够…

一款前后端分离设计的企业级快速开发平台,支持单体服务与微服务之间灵活切换(附源码)

前言 当前软件开发面临诸多挑战&#xff0c;诸如开发效率低下、重复工作多、维护成-本高等问题&#xff0c;这些问题在一定程度上阻碍了项目的进展。针对这些痛点&#xff0c;我们迫切需要一款既能提升开发效率又能降低维护成-本的处理方案。由此&#xff0c;一款基于前后端分…

HDMI20协议解析_Audio_Clock_Regeneration

HDMI20协议解析_Audio_Clock_Regeneration 1.版本说明 日期作者版本说明20240918风释雪初始版本 2.概述 当通过HDMI传输音频信号时&#xff0c;Audio Clock Regeneration&#xff08;ACR&#xff09;是必须要传输的数据包之一&#xff1b; HDMI传输过程中&#xff0c;音频采样…

数学建模-线性规划讲解(Matlab版本)

引言 相信不少小伙伴刚开始接触数学建模时&#xff0c;第一个学习的算法就是运筹学的重要分支--数学规划&#xff0c;而数学规划当中重要的分支就是线性规划了。在这里笔者参考了司守奎和孙玺菁老师的《数学建模算法与应用》(第三版&#xff09;这本书&#xff0c;以此来讲讲关…

同等学力申硕英语多少分及格

同等学力申硕全国统考与往年的分数线一样&#xff0c;英语、学科综合均为60分合格通过制&#xff0c;满分均100分。 单科分数未达到及格线的考生&#xff0c;次年5月可以参加单科的补考 同等学力申硕的意义和作用 授予同等学力人员硕士学位是国家为同等学力人员开辟的获得学位…

前端——阿里图标的使用

阿里图标 将小图标定义成字体&#xff0c;通过引入字体的方式来展示这些图标 1.打开阿里图标库 https://www.iconfont.cn/ 2.登录 / 注册一个账号 3.选中你需要使用的图标 并且把它加入购物车 4.全部选择完之后 点击右上角 购物车 然后下载代码 5.解压后你下载的文…

MySQL数据库的日志你知道几个?

1、前言 MySQL相信大家都用过&#xff0c;但MySQL中都有哪些日志&#xff0c;是干什么的&#xff0c;估计有小伙伴还没有搞清楚。可能有小伙伴只知道最重要的三个&#xff1a;undolog、redolog、binlog。其实这是不全的&#xff0c;MySQL中的日志有&#xff1a; undolog&…

双端搭建个人博客

1. 准备工作 确保你的两个虚拟机都安装了以下软件: 虚拟机1(Web服务器): Apache2, PHP虚拟机2(数据库服务器): MariaDB2. 安装步骤 虚拟机1(Web服务器) 安装Apache2和PHP 更新系统包列表: sudo apt update安装Apache2: sudo apt install apache2 -y安装PHP及其Apac…

python学习第十二节:python开发图形界面

python学习第十二节&#xff1a;python开发图形界面 创建一个窗口实例化窗口对象调用窗口设置窗口大小设置窗口的标题设置窗口图标否能够改变窗口设置窗口的背景 创建容器组件容器组件的介绍组件参数的介绍label标签label添加标签控件 label添加标签定位label的relief参数label…

网站建设中,常用的后台技术有哪些,他们分别擅长做什么网站平台

PHP、Python、JavaScript、Ruby、Java和.NET各自适用于不同类型的网站平台。以下是对这些编程语言适用场景的具体介绍&#xff1a; PHP Web开发&#xff1a;PHP是一种广泛使用的开源服务器端脚本语言&#xff0c;特别适合Web开发。全球有超过80%的网站使用PHP作为服务器端编程语…

SaaS(Software as a Service)软件的主流技术架构

在当今数字化时代&#xff0c;SaaS&#xff08;Software as a Service&#xff0c;软件即服务&#xff09;软件以其灵活、高效和成本效益高的特点&#xff0c;成为企业信息化建设的首选。为了实现SaaS软件的稳定、可靠和高效运行&#xff0c;其技术架构的设计显得尤为重要。本文…

页面在移动设备上显示不正常的原因及解决方案

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介页面在移动设备上显示不正常的原因及解决方案1. 缺少 viewport 元标签1.1 问题描述1.2 解决方案1.3 注意事项 2. 响应式设计未实现或设计不当2.1 问题描述2.2 解决方案示例&#xff1a;媒体查询的使用 2.3 常见的媒体查询断点 3. 固…

基于传感网技术的职业院校安防系统实训室

一、引言 随着信息技术的飞速发展和城市化的不断加速&#xff0c;智能楼宇及安防系统已成为现代城市建设的重要组成部分。高职院校作为培养技术型人才的重要基地&#xff0c;应积极响应市场需求&#xff0c;建设符合时代潮流的安防系统实训室&#xff0c;以提升学生的专业技能…

Linux之实战命令11:tload应用实例(四十五)

简介&#xff1a; CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a; 多媒体系统工程师系列【…

【工具】语音朗读PDF的免费工具

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 背景介绍 看累了&#xff0c;不想看&#xff0c;能不能读给我听&#xff01; 工具介绍 Natural Readers Free Text to Speech Online with Realistic…

最优化理论与自动驾驶(二-补充):求解算法(梯度下降法、牛顿法、高斯牛顿法以及LM法,C++代码)

在之前的章节里面&#xff08;最优化理论与自动驾驶&#xff08;二&#xff09;&#xff1a;求解算法&#xff09;我们展示了最优化理论的基础求解算法&#xff0c;包括高斯-牛顿法&#xff08;Gauss-Newton Method&#xff09;、梯度下降法&#xff08;Gradient Descent Metho…

蓝桥杯【物联网】零基础到国奖之路:十一. LORA

蓝桥杯【物联网】零基础到国奖之路:十一. LORA 第一节 LORA理论第二节 Lora的无线收发数据1&#xff0c;硬件解读2&#xff0c;CubeMX配置3&#xff0c;MDK代码 第一节 LORA理论 Lora是一种长距离、低功耗的无线通信技术&#xff0c;专为iot和远程应用设计。Lora技术基于半双工…