AS608指纹模块于51单片机的二次开发

前言提要

记得好久之前听老师说:你们有一个学姐非常的上进,在我的指导下做了啊,用51单片机做了一个指纹锁,然后学姐凭借着这个在找工作面试的时候阿巴阿巴阿巴…
说实话我觉得老师说这种话向来是吹牛皮,或者说可能只是单纯的想让我们有学习的动力。只要结果是良性的我们可以不是很用在意过程。

综合各方面的原因之后我决定还是试着做一个,拿出已经积灰很久的实验板,淘宝上买好模块之后就开始怀疑人生的编写和调试吧!


对了,刚发现还有一个问题,我还不清楚为什么,现在这里说一下本篇不会有太多的照片展示,至于原因…我们结尾再说吧。本人水平有限,写博客完全希望能够借此帮助刚入手的同志们能够少走些弯路,以下内容欢迎各路大佬斧正以及理性的探讨交流,需要用到原码的同志们可以在评论区或者私信留言给我,看到留言之后我都会第一时间回复的!

一、初识AS608:

关于AS608的介绍之前有大佬已经介绍的很详细了,插一句话啊,其实没必要完全了解工作原理,基本上了解应答格式就可以开始编写了,为了照顾新手村选手,这里将用户手册中的引脚说明及应答包格式贴出来,如果还有同志不是很明白可以去看看大佬的介绍或者私信我。在这里插入图片描述
稍微说一下,这里的7和8一般是用不到的5和6根据自己的需求来,我在开发的过程中并没有使用到。也就是说在这个模块中我只用了4根线(VCC.GND还有就是TXD.RXD)。TXD.RXD如果自己没有把握确定具体怎么接线的话可以先随便接,这个接反了是不会烧坏的,但是应答包是一定接收不到的,在后续的测试中再尝试反接看能不能收到正确的应答包就行了。

在这里插入图片描述

这里介绍了一些相关参数,其中尤其需要注意波特率的设置,详细的情况写在下文。

在这里插入图片描述

这里介绍了指令及应答包的格式,以及确认码的定义。

二、设计

1.思路

我是想做一个指纹以及密码的双验证锁。在上电之后首先选择想要进行的验证模式(指纹验证或密码验证,本次密码初始为6个2),由LCD1602做显示。 密码验证:需要s1-s10输入0-9这十个数,其次有退位按键,确认按键,以及复位按键(软复位)。在这里补充一点:键盘s1-s16一共16个,利用行列扫描判断真值。两个独立按键k3及k4用以选择模式。 指纹验证:选择指纹验证模式之后由单片机向AS608握手,已返回值判断是否成功建立连接。连接成功之后再进入一个选择界面,可以分别是验证指纹,添加指纹,删除指纹,和一个软复位。添加指纹是需要输入一个储存的模板号,由软件设置初始值000,按键加减,该模式下包含一个确认按键。删除指纹可以同上,但是我选择的是清空指纹库。 经由以上资料再结合设计的实现方向不难发现我们现在还缺点东西。 电源模块用于提供3.3V电压,包含一个电源模块所需的适配器,我在这里没用适配器而选择的是一个直流可调的电压源。值得注意的是电源模块的输入电压需要比输出电压高至少1V。单片机采用5V供电,那么也就是说我们的直流电源输出应该在6V往上,但是最好不要达到8V以上,再往上10V会直接炸,别问我是怎么知道的。 一个可以实现逻辑控制的锁。我这里采用的是一个小型的电磁锁和一个L289N电机驱动芯片,同志们还可以用电机或者舵机来代替它们。我采用这种方法只是因为之前做的时候留下了一个L289N,再买一个电磁锁就行了,节省经费嘛,毕竟还有可能出现无法预知的突发状况。钱是人的胆!

2.上原理图:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

从原理图上能看到4个独立按键中的K1和K2占用了串口,所以就不考虑使用啦。

3.程序设计中需要注意的几个点:

串口:

代码如下(示例):

#ifndef __UART2_H
#define __UART2_H

#define uchar unsigned char 
#define uint unsigned int

sfr AUXR  = 0x8e;           //Auxiliary register
sfr S2CON = 0x9a;           //UART2 control register
sfr S2BUF = 0x9b;           //UART2 data buffer
sfr BRT   = 0x9c;           //Baudrate generator
sfr IE2   = 
  • 71
    点赞
  • 154
    收藏
    觉得还不错? 一键收藏
  • 32
    评论
评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值