文章目录

  • 一、主要功能
  • 二、硬件资源
    • 1.硬件准备
    • 2.硬件连接
  • 三、软件设计
    • 1.软件结构
    • 2.主要代码
  • 四、实验现象
  • 联系作者

一、主要功能

系统运行后,LCD显示指纹锁主界面,显示模块指纹库剩余容量和指纹对比等级数。如果已经添加了指纹的话,直接在主界面中即可进行指纹识别开锁,识别成功后,LCD会显示当前指纹ID,匹配分数,并且蜂鸣器报警提示,开锁指示灯D2点亮开锁成功, 一段时间后再次关锁,且D2指示灯灭,LCD返回主界面显示。如果指纹错误,不进行动作响应。
在主界面时,若按下KEY3键进入指纹设置界面。进入指纹设置界面时,可通过KEY3键选择添加指纹或删除指纹模式。当需要添加指纹时,通过KEY3键选择指纹模式,按下KEY4键进入添加指纹界面,初始指纹ID为0(0-299),可通过KEY3键进行累加,选择好ID值后,按下KEY4键进入指纹录入,此时LCD会提示请录入指纹,指纹录入过程中LCD会伴有提示显示,且 蜂鸣器会报警提示,录入2次指纹匹配成功后LCD会显示剩余指纹容量,并返回主界面显示。若要删除指纹,可通过KEY3键选择删除指纹模式,按下KEY4键进入删除指纹界面,可通过KEY3键选择要删除的指纹ID,选择好后,按下KEY4键删除选定指纹,此时LCD会显示删除信息,并返回主界面显示,可重新添加指纹或删除指纹。此时可验证添加的指纹或删除的指纹识别,并且界面上显示的剩余指纹容量值会更新。如果要手动进行开锁,可在主界面时,按下KEY4键开锁,LCD会开锁提示信息,蜂鸣器报警提示,开锁指示灯D2亮,一段时间后再次关锁,且D2指示灯灭,LCD返回主界面显示。


二、硬件资源

1.硬件准备

项目所需要的硬件资源如下:
1、51单片机开发板1个
2、AS608指纹模块1个
3、LCD1602液晶模块1个
4、USB线1条(用于供电和程序下载)
5、杜邦线若干


2.硬件连接

      按键模块-->单片机IOK3-->P32K4-->P33蜂鸣器模块-->单片机IOBEEP-->P25AS608指纹模块-->单片机IOVI-->3.3VTX-->P30RX-->P31GND-->GNDLCD1602液晶-->单片机IORS->P26RW->P25E->P27DB0-DB7-->P00-P07

三、软件设计

1.软件结构

2.主要代码

#include "app_demo.h"
#include "time.h"
#include "lcd1602.h"
#include "beep.h"
#include "key.h"
#include "uart.h"
#include "as608.h"//控制管脚定义
sbit LED1=P2^0;
sbit LED2=P2^1;//定义全局结构体变量
_finger finger;u16 ValidN=0;//模块内有效指纹个数
xdata SysPara AS608Para;//指纹模块AS608参数extern u16 UART_RX_STA;//定时器0中断函数
void time0() interrupt 1
{static u8 i=0;TH0=0XDC;  //给定时器赋初值,定时10msTL0=0X00;i++;if(i==100)//间隔1S读取温度{i=0;}
}//指示系统错误
void system_error(void)
{while(1){LED1=!LED1;delay_ms(200);}
}//主菜单显示
void main_window_show(void)
{u8 ensure=0;MENU://默认刷指纹模式if(finger.mode==0){lcd1602_clear();while(PS_HandShake(&AS608Addr))//与AS608模块握手{lcd1602_show_string(0,0,"AS608 Error!");delay_ms(500);lcd1602_clear();}lcd1602_show_string(0,0,"->FingerPrint-< ");ensure=PS_ValidTempleteNum(&ValidN);//读库指纹个数if(ensure!=0x00)system_error();ensure=PS_ReadSysPara(&AS608Para);  //读参数if(ensure==0){lcd1602_show_string(0,1,"Cap:");lcd1602_show_nums(4,1,AS608Para.PS_max-ValidN,3,0);lcd1602_show_string(9,1,"Level:");lcd1602_show_nums(15,1,AS608Para.PS_level,1,0);}elsesystem_error();while(1){press_FR();//刷指纹goto MENU;//回到主菜单界面}}
}//设置菜单显示
void setup_window_show(void)
{u8 key=0;u8 mode=0;//指纹设置模式if(finger.mode!=0){lcd1602_clear();lcd1602_show_string(0,0,"FingerPrint");lcd1602_show_string(0,1,"->");lcd1602_show_string(2,1,"Add");lcd1602_show_string(10,1,"Delete");    while(1){key=key_scan(0);if(key==KEY3_PRESS)//选择模式{mode++;lcd1602_show_string((mode-1)*8,1,"  ");//清除上次箭头指向if(mode>=2)mode=0;lcd1602_show_string(mode*8,1,"->");//箭头指向}else if(key==KEY4_PRESS)//确认{finger.mode=mode+1;}//添加指纹if(finger.mode==1){Add_FR();mode=0;finger.mode=0;break;}//删除指纹else if(finger.mode==2){Del_FR();mode=0;finger.mode=0;break;}}}
}//AS608指纹锁
void app_demo(void)
{UART_Init();//波特率9600
//  time0_init();//初始化定时器0,10msUART_RX_STA=0;lcd1602_init();//LCD1602初始化while(1){main_window_show();setup_window_show();           }
}

四、实验现象

B站演示视频:https://space.bilibili.com/444388619




联系作者

作者B站链接:https://space.bilibili.com/444388619
可提供手把手教学服务,资料获取请联系作者QQ:3443792007
专注于51单片机、STM32、国产32、DSP、Proteus、ardunio、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

【51单片机】AS608指纹锁设计相关推荐

  1. 基于51单片机智能指纹锁设计

    资料编号:181 功能讲解: 本设计师以51单片机作为核心微控制器通过单片机串口通信发送指令控制指纹识别模块进行存贮指纹比对指纹的作业.具体工作原理如下 1.指纹登陆的过程 指纹登陆时通过51单片机发 ...

  2. 基于51单片机的指纹密码锁设计

    目录 具体实现功能 设计介绍 单片机介绍 设计思路 资料内容 原理图 程序 仿真实现 全部资料 具体实现功能 具体功能: 本设计采用STC89C52.AT89C52.AT89S52作为主控芯片,LCD ...

  3. 基于51单片机AS608指纹自动识别电路设计(毕业设计)

    本设计是基于STC89C52单片机的指纹识别设计,采用AS608指纹模块做为传感器,LCD1602显示屏显示信息.具有指纹添加,指纹识别,删除指纹功能.是一款简单的指纹识别毕业设计设计,电路原理图和P ...

  4. 基于51单片机的指纹解锁自动开门

    基于51单片机的指纹解锁自动开门 目录 基于51单片机的指纹解锁自动开门 一.设计说明 二.总体设计思路 三.系统硬件设计 四.系统软件设计 五. 实物制作与现象 七.体会 一.设计说明 指纹解锁:手 ...

  5. 基于51单片机的指纹密码锁

    1.系统功能概述 本次分享的是一款基于51单片机的指纹识别电子密码锁系统,该系统以STC89C52单片机作为模块核心,通过串口通信控制指纹模块AS608实现录取指纹并存储指纹数据,并通过LCD1286 ...

  6. 单片机四路抢答器课程C语言设计,基于51单片机四路抢答器设计

    内容简介: 毕业设计 基于51单片机四路抢答器设计 共25页,9905字 随着经济水平的不断提高,人们在物质文明得到满足的同时更注重精神文明的追求,各种娱乐节目不断涌现,提高节目的质量尤为重要..本次 ...

  7. 基于51单片机的公交车安全智能检测系统、基于51单片机的金属探测仪控制设计、基于单片机的智能电子密码锁系统设计、基于51单片机酒精浓度检测仪设计【资料转发分享】

    630基于51单片机的公交车安全智能检测系统-设计资料 本资料是基于单片机的公交车安全监测系统 具有如下功能: 1.监测环境的温度,超标报警.可以设置上下限 2.监测是否有火灾以及有毒气体,超标报警, ...

  8. 基于单片机的智能电子密码锁系统设计-基于51单片机酒精浓度检测仪设计-基于单片机的水缸加热温控控制系统设计-基于单片机蓝牙技术的温室监测系统设计-基于单片机智能PWM调光灯系统设计【毕设方案】

    600基于单片机的智能电子密码锁系统设计-电路程序资料 本设计采用的是AT89C51单片机作为控制核心,控制外围电路工作的装置.在本次基于单片机的电子密码锁设计中,将采用AT89C51单片机作为控制核 ...

  9. 基于微型计算机系统的实时时钟设计,基于51单片机的实时时钟设计报告.doc

    基于51单片机的实时时钟设计报告 PAGE PAGE 24 课程设计(论文)任务书 信息工程 学 院 信息工程 专 业 (2) 班 一.课程设计(论文)题目 嵌入式课程设计 二.课程设计(论文)工作自 ...

最新文章

  1. Exchange动态同步中的INTERNET_29错误代码
  2. oracle mysql 适配器_Oracle协议适配器错误解决办法
  3. linux 用户态 spinlock,spinlock作用
  4. 利用 dbghelp.dll 生成 dump 文件
  5. python向下_如何在python中向下转换
  6. python绘制中国省界地图,python画中国地图(含省界、河流等)
  7. 天猫魔盘显示无法连接到服务器,天猫魔盘无法上网 天猫魔盘不能上网怎么办...
  8. retroarch游戏模拟器使用
  9. SStap 测试UDP转发...未通过!
  10. 如何看待国内开源现状?贾扬清、李沐、陈天奇等大牛如是说
  11. Simulink模型如何做单元测试
  12. php获取QQ音乐直链,~~~获取qq音乐外链方法+源码~~~
  13. SQL 多个字段的值拼接成Josn
  14. Java提取身份证照片数据,so easy
  15. 使用Python对淘宝用户行为进行数据分析
  16. Linux 下rsync命令详细整理
  17. Google 出的C++轻量级日志库_GLog_了解_使用
  18. 解锁电机气隙公差分析之奥秘!
  19. 卡拉兹(Callatz)猜想
  20. 序列学习——RNN网络之 LSTM 原理

热门文章

  1. centOS7服务管理与启动流程
  2. java 文件打包下载
  3. 今日份安利:epub格式转换成mobi方法哪个好?
  4. e900V21e刷机固件及教程(电信创维)
  5. S5PV210开发之1.0.14------LCD显示器
  6. 介绍Kadence Elements元素模板:按您的方式设计网站
  7. 使用MathType的一些技巧
  8. 国内访问mega网盘 的方法
  9. Rabbitmq(离线部署)
  10. 实训双绞线制作心得体会