[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检测一次
}
}