标题:
基于stm32搭载lcd1602以及as608指纹系统成功 附源码
[打印本页]
作者:
12355955
时间:
2019-2-11 14:35
标题:
基于stm32搭载lcd1602以及as608指纹系统成功 附源码
用as608默认的波特率略高,加载过快;建议忽略我的垃圾代码(lcd1602均为自己手写,lcd1602四线驱动,数据线为a4-a7,控制线为b0-b2,其中电源我连到了5v,对比我连到了3v的地线);
as608驱动参考于正点,不过没接感应线,因此导致。。。。谁用谁知道,可能跳函数,因此延时较多,如果有更好的办法,还请不利赐教。。。。因为感应线被占了,或许可以换别的位置,但我实在是。。单片机这个寒假就这样吧。
回顾踩坑点,之前想要用51单片机做,但我一直上位机失败,后来查询技术人员发现,我的开发板,有一个max芯片。。。so,我购买了迷你也就是现在的板子,正如你所知道的,我抱着试试的态度,因为对比度不高,很难辨别,但奇迹降临了,居然出现了,亮度极高的乱码。
,于是,一番优化和更改后,
成功驱动lcd1602,as608因为有参考,很快就做了出来。
网上查询资料,还是51黑靠谱,所以很感谢老表
,这长达三十多小时的有效学习中,51黑确实教会我很多,但说实话,一遍一遍的调试确实挺要命的。
总之,这就是我寒假的业余工作了。
暂时分别了,51黑的老哥们。
单片机源程序如下:
#include "delay.h"
#include "sys.h"
#include "1602.h"
#include "as608.h"
#include "key.h"
#include "usart2.h"
int main(void)
{
u8 table1[]=" fingerprint stm";
u8 table2[]=" add find del";
u8 table3[]=" loading........";
u8 table4[]=" add ok........";
u8 table5[]=" find ok.......";
u8 table6[]=" del ok.......";
u8 table7[]=" open finger....";
u8 table8[]=" receive failed ";
u8 table9[]=" find failed ";
u8 table10[]=" REG ok..... ";
u8 t=0;
int i;
u8 ensure;
u8 findensure;
SearchResult seach;
delay_init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
usart2_init(57600);
KEY_Init();
PS_StaGPIO_Init();
print(table1,16,1);
print(table2,16,2);
while(1)
{
t=KEY_Scan(0); //得到键值
switch(t)
{
case KEY0_PRES:
print(table3,16,1);
delay_ms(1000);
ensure=PS_GetImage();
if(ensure==0x00){
print(table7,16,1);
delay_ms(10000);}
ensure=PS_GenChar(1);
if(ensure==0x00){
print(table3,16,1);
delay_ms(10000);}
ensure=PS_GetImage();
if(ensure==0x00){
print(table7,16,1);
delay_ms(10000);}
ensure=PS_GenChar(2);
if(ensure==0x00){print(table3,16,1);
delay_ms(10000);}
ensure=PS_RegModel();
if(ensure==0x00){
print(table10,16,1);
delay_ms(10000);}
ensure=PS_StoreChar(2,61);
if(ensure==0x00){
print(table4,16,1);}
delay_ms(10000);
break;
//search my fingerprint
case KEY1_PRES:
print(table3,16,1);
delay_ms(10000);
findensure=PS_GetImage();
if(findensure==0x01){print(table7,16,1);
delay_ms(10000);}
findensure=PS_GenChar(1);
if(findensure==0x01){print(table3,16,1);
delay_ms(10000);}
findensure=PS_Search(1,0,300,&seach);
if(findensure==0x00){
print(table5,16,1);
delay_ms(100);}
else if(findensure==0x01){
print(table8,16,1);
delay_ms(100);
}else if(findensure==0x09){
print(table9,16,1);
delay_ms(100);
}
break;
case WKUP_PRES:
print(table3,16,1);
delay_ms(100);delay_ms(100);delay_ms(100);
while(PS_Empty()==0x00){
print(table6,16,1);
delay_ms(10);
break;
}
break;
default:
delay_ms(10);
}
}
}
复制代码
所有资料51hei提供下载:
stm32的lcd1602指纹识别成功.7z
(238.57 KB, 下载次数: 92)
2019-2-11 23:58 上传
点击文件名下载附件
工程
下载积分: 黑币 -5
作者:
wsong701203
时间:
2019-2-18 13:05
液晶没有初始化怎么出显示呢?
作者:
wsong701203
时间:
2019-2-18 13:06
液晶没有初始化,怎么显示的呢?
作者:
wsong701203
时间:
2019-2-18 15:14
这个工程是错误的,不要再上传了
作者:
12355955
时间:
2019-3-12 22:06
wsong701203 发表于 2019-2-18 13:06
液晶没有初始化,怎么显示的呢?
我。。我就一个月没看吧。说啥好呢,print里带了初始化。
作者:
12355955
时间:
2019-3-12 22:10
wsong701203 发表于 2019-2-18 15:14
这个工程是错误的,不要再上传了
恩?我承认,确实指纹识别速度有些问题,但不至于错把,精度无错,由于识别速度过快,所以会出现为何成识别特征就扫描完毕,但只要你先放上手指,生成识别码,精度就无错
作者:
szz000
时间:
2019-4-11 15:42
有电路原理图吗?
作者:
SUICLY
时间:
2020-4-23 22:46
STM32F103板子能用不
作者:
陈念
时间:
2020-4-24 16:40
额谢谢楼主
作者:
wifingtta
时间:
2021-5-29 20:45
用C8T6测试,程序OK的,指纹模块波特率调到115200,识别的速度可以,注意几个地方,1.按键操作前需要先把手指放在指纹模块上 2.只能录一个指纹,以最后录入为准识别的
还是感谢楼主,不错,可以作为模版做进一步开发,例程整体简洁易懂
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1