资料编号:181
功能讲解:
本设计师以51单片机作为核心微控制器通过单片机串口通信发送指令控制指纹识别模块进行存贮指纹比对指纹的作业。具体工作原理如下
1.指纹登陆的过程
指纹登陆时通过51单片机发出指令,通过光学传感器对每一枚指纹录入两次,将两次录入的图像进行处理,合成模板存储于模块中。
2.指纹匹配的过程
通过指纹头传感器录入要验证指纹的图像并进行处理,然后于模块中的指纹模板进行匹配比较(若与模块中指定的一个模板进行匹配,称为指纹比对方式,即1:1方式。若与多个模板进行匹配,称为指纹搜索方式即1:N方式),模块给出匹配结果(即通过或失败)。通过串口传输给单片机,同时单片机做出相应的反映控制液晶显示或控制继电器吸和指使灯点亮
下面是原理图展示:
下面是PCB展示:
下面是程序展示:
uchar xdata UserPassword[7]={0};//密码
uchar xdata DSY_BUFFER[16] ={0};//缓存
void Red_Init(void);
//检测脉冲宽度
unsigned char check(void);
unsigned char redchange(unsigned char rednum);
void delayms(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/********************************************************************
* 名称 : Chack(uchar User_Number)
* 功能 : 单一用户密码检测
* 输入 : User_Number
* 输出 : 密码正确与错误,错误返回0,正确返回1
********************************************************************/
uchar Chack(uchar User_Number)
{
uchar flag, i,temp[6],Address;
Address=User_Number*10;
for(i=0;i<6;i++)
{
temp[i]=x24c02_read(Address);
delayms(10);
Address++;
}
for(i=0;i<6;i++)
{
if(temp[i]==UserPassword[i])
flag=1;
else
flag=0;
}
return flag;
}
/********************************************************************
* 名称 : PassWord_Chack()
* 功能 : 所有用户密码检测
* 输入 : 无
* 输出 : 密码正确与错误,错误返回0,正确返回1
********************************************************************/
uchar PassWord_Chack()
{
uchar i=0;
while(i<User)
{
if(Chack(i)==2)
{
Member=i+2;
return 1;
}
i++;
}
return 0;
}
下面是该资料的分享下载链接:
https://pan.baidu.com/s/1p4efcgUJjCLUG71gZkaziA?pwd=4knv