欢迎来到泰骏兴电子,大家有问题可以直接联系管理员QQ:233619809单片机 QQ群:59194556 各位游客也可以注册玩玩,享受更多权益。温馨提示:本网站仅提供平台学习以及渠道,一切后果自行承担,还望广大用户提高自我意识,请不要轻易相信他人,请不要轻易相信他人,请不要轻易相信他人。为了更好的管理论坛工作,所以现在使用邮箱注册,如果以前的邮箱不能修改的,请联系管理员代为修改

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 98|回复: 0

STC15单片机操作AS608光学指纹模块

[复制链接]
5 种子 回复本帖可获得 1 种子奖励! 每人限 1 次(中奖概率 30%)
发表于 2023-3-1 11:24:51 | 显示全部楼层 |阅读模式
本程序是多年前编写的,走原来的1602屏幕移植成带字库的并口12864屏幕上进行显示



本帖回帖有30%的概率会得1种子



部分代码如下:
[C] 纯文本查看 复制代码
#include "IOinit.h"
#include "delay.h"
#include "as608.h"
#include "daiziku12864bingko.h"

char local_date=0;  //全局变量,当前箭头位置

void main()
{
                        io_init();
                        delay_ms(10);
                        finger_id=0;
//                        LCD1602_Init();   
                        daiziku12864bingko_init();                        //初始化液晶
//                        LCD1602_Display(0x80,"Fingerprint Test",0,16);         //液晶开机显示界面
                        display_characters(1,2,"正在开机");
                        Uart_Init();                        //初始化串口
                        Key_Init();                                //初始化按键
                        delay_ms(200);          //延时500MS,等待指纹模块复位
                        Device_Check();                           //校对指纹模块是否接入正确,液晶做出相应的提示
                        delay_ms(1000);                        //对接成功界面停留一定时间
                        display_characters(1,5,"    ");                                                             
                        while(1)
        {

                        /**************进入主功能界面****************/
//                        LCD1602_Display(0x80,"  search finger ",0,16);         //第一排显示搜索指纹
//                        LCD1602_Display(0xc0,"  Add     delete",0,16);         //添加和删除指纹
                        display_characters(1,1,"识别指纹");
                        display_characters(2,1,"添加指纹");
                        display_characters(3,1,"删除指纹");
                        if(local_date==0)
                {
                        display_characters(1,0,"**");
                        display_characters(2,0,"  ");
                        display_characters(3,0,"  ");
                        
                }
                        else if(local_date==1)
                {
                        display_characters(2,0,"**");
                        display_characters(1,0,"  ");
                        display_characters(3,0,"  ");
                }
                        else if(local_date==2)
                {
                        display_characters(3,0,"**");
                        display_characters(2,0,"  ");
                        display_characters(1,0,"  ");
                }                        
                        //确认键
                        if(KEY_OK == 0)
                {
                        delay_ms(5);
                        if(KEY_OK == 0)
                        {         
                        while(KEY_OK == 0);//等待松开按键                                                                
                        switch(local_date)
                                {
                        case 0:  //搜索指纹        
                        flag=1;     
                        display_characters(2,6,"搜索");
                        display_characters(3,6,"指纹");
                        AS608_Find_Fingerprint();                                                                                                                                                                                                
                        break;        

                        case 1:         //添加指纹
                        flag=1;        //flag=1,若指纹库为空,则可以直接添加指纹    
                        display_characters(2,6,"添加");
                        display_characters(3,6,"指纹");                        
                        if(AS608_number_of_fingers())
                                        {
                        flag=0;//flag置0由两重作用:
                        //1、指纹库中已有指纹,则需要搜索匹配成功,由AS608_Find_Fingerprint()将flag置1,才能添加指纹
                        //2、flag=0,则在搜索指纹成功后不执行开锁操作
                        AS608_Find_Fingerprint();
                                        }
                        if(flag)
                {
                        AS608_Add_Fingerprint();
                }
                        break;                                         

                        case 2:        //清空指纹
                        flag=0;        //1、在搜索指纹成功后不执行开锁操作;2、若搜索不成功,不执行清空操作
                        display_characters(2,6,"清空");
                        display_characters(3,6,"指纹");
                        AS608_Find_Fingerprint();//搜索匹配成功后,函数内部将flag置1,才能清空指纹库
                        if(flag)
                        {
                        AS608_Delete_All_Fingerprint();
                        }
                        break;
                                }
                        display_characters(2,5,"      ");
                        display_characters(3,5,"      ");
                        display_characters(4,0,"                ");
                        }
        }
                        //切换键
                        if(KEY_DOWN == 0)
        {
                        delay_ms(5);
                        if(KEY_DOWN == 0)
                {
                        while(KEY_DOWN == 0); //等待松开按键                                
                        if(local_date<=2)
                        {
                        local_date++;
                        if(local_date==3) local_date=0;                                                
                        }                
                }
        }                                                
                        delay_ms(100); //延时判断100MS检测一次                
        }

}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|泰骏兴电子科技有限公司 ( 粤ICP备2023060260号-1 ) 单片机爱好者

GMT+8, 2025-10-31 17:19

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表