演示效果:
https://www.bilibili.com/video/BV17m4y1G7w3/?vd_source=6ff7cd03af95cd504b60511ef9373a1d
1)开机:按下电源,电源指示灯点亮,液晶显示:“请先按键再刷指纹”,按下按键后,液晶显示:“请按指纹”,同时指纹模块绿灯亮起,可以进行指纹识别开锁功能。若指纹识别成功,继电器动作,LED指示灯亮起,开锁成功,人员可以进入,液晶显示:“指纹已找到,请进”; 若指纹识别不成功,继电器不动作,LED指示灯不亮,将不能开锁,人员不能进入,液晶显示:“没有搜索到指纹 请按任意键继续”。
2)管理员模式:按下按键进入管理员模式首先要输入6位密码,密码正确可以进入管理员模式,密码错误不能进入管理员模式,在管理员模式下可以完成录入指纹、删除指纹、应急开锁和修改密码的功能。进入录入指纹模式后,指纹模块绿灯亮起,将手指放到指纹头上,录入同一手指两次,此时液晶显示“指纹采集成功”。在删除指纹模式下,液晶显示“输入删去的指纹号”,输入后按确认键即可完成指定指纹的删除功能,同时液晶显示“删指纹号成功”。在非正常的情况下,如指纹模块不好用或者紧急情况下,可以使用紧急开锁功能。密码修改的功能是指可以修改并保存进入管理员的6位密码。
实物图
1)开机界面
2)系统设置界面
3)初始化密码界面
资料库
系统原理图
void guanliyuan()
{ uchar i,j=0,x=1;
uchar Right_flag;
LcmClearTXT();
PutStr(1,1,"请输入密码:");
for(i=0;i<6;i++)mima[i]=0;
Key=Keycan();
while(Key!=queren)
{
Key=Keycan();
KeyDeal(Key);
delay(30);
if(Key==0)K=10;
if((K>=0)&&(K<=9))
{
mima[j]=K;
if(j<6)
{
WriteCommand(0x89+j); //指定第三行显示位置
WriteData(0x0f);
}
++j;
if(j==7)
j=6;
} //显示LCD12864并行显示
if(K==34) //按了删除键
{
if(j==0)
{
WriteCommand(0x89); //指定第三行显示位置
WriteData(0x20);
}
else
{
--j;
WriteCommand(0x89+j); //指定第三行显示位置
WriteData(0x20);
}
}
}
LcmClearTXT();
for(i=0;i<6;i++)
{
UserPassword[i]=mima[i]+0x30;
}
if(j==6){Right_flag=PassWord_Chack(); }
if (Right_flag==1)
{
Right_flag=0;
while(Keycan()!=tuichu)
{
PutStr(0,0,"按键1 : 增加指纹");
PutStr(1,0,"按键2 : 删去指纹");
PutStr(2,0,"按键3 : 手动开锁");
PutStr(3,0,"按键4 : 修改密码");
KeyDeal(Keycan());
switch(K)
{
case 1: addfinger();K=8; break;
case 2: deletfinger(); break;
case 3: zhu(); K=6; break;
case 4: gaimima(); break;
default: break;
}
}
}
else
{
PutStr(1,2,"密码错误");
PutStr(2,0," 请重新操作!");
PutStr(3,0," 按任意键继续");
while(Keycan()==0);
}
Key=0;
LcmClearTXT();
}