基于STC89C52单片机的ATK-AS608指纹识别系统

在家闲着无聊,就在现有资料的基础上进行修改,做了一个自己的指纹识别系统

硬件部分

STC89C52、LCD12864、ATK-AS608、能降压到3.3V的降压模块、按键

原理图:

LCD12864使用的是串口显示,所以只3根控制线即可

基于STC89C52单片机的ATK-AS608指纹识别系统_第1张图片

软件部分:

在网上看了很多ATK-AS608相关的程序,大部分几乎都是一样的,可是我的模块总是无法初始化。

用串口查看,单片机发送的指令没错,指纹模块返回的应答也没问题;

找了很久发现问题出现在接收缓冲函数中:

基于STC89C52单片机的ATK-AS608指纹识别系统_第2张图片

基于STC89C52单片机的ATK-AS608指纹识别系统_第3张图片

发送完指令后,跳到 FPM10A_Receive_Data( ) 函数中循环接收模块的数据,这会出现一个问题:

函数还没进入循环,模块就已经回应数据了,这就导致数据的丢失,初始化失败。

修改:添加 Receive_Data 接收数据标志位,修改接收缓冲函数,用串口中断接收数据

基于STC89C52单片机的ATK-AS608指纹识别系统_第4张图片

基于STC89C52单片机的ATK-AS608指纹识别系统_第5张图片

串口中断接收数据,在 FPM10A_Receive_Data( ) 中等待数据接收完毕,这样一来就不怕数据的丢失了

网上原版源代码:

https://download.csdn.net/download/weixin_42158742/12254014

修改后的源代码:

https://download.csdn.net/download/weixin_42158742/12254015

你可能感兴趣的:(基于STC89C52单片机的ATK-AS608指纹识别系统)