⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fprs.h

📁 finger print based security system
💻 H
字号:
/**************************************************************************************************
	Module     	:	FPRS -- Finger Print Recognition System.
	Version    	:	1.0
	Dependencies 	:	1. Serial.h
	
	Description	:    	This module is to interface Finger Print Sensor with the microcontroller.

	Author     	:	K. KARTHIKEYAN , S.R.Labs, Hyd., India.
				All rights reserved with the author.
***************************************************************************************************/

# ifndef __FPRS_H__
# define __FPRS_H__

//# include "SerialV1.h"

/******************************************************************************** MACRO DEFINITIONS */
void SendFprsCmd(unsigned char ucChannel, unsigned char ucCmd, unsigned int uiParam1, unsigned int uiParam2);
void GetFprsData(unsigned char *ucChannel, unsigned char *ucCmd, unsigned int *uiParam1, unsigned int *uiParam2);
unsigned char FprsConnect(void);
unsigned char ReadFingerPrint(void);
unsigned char IsAlnum(unsigned char ucCh);

unsigned char gucRxCount          = 0;
unsigned char gucConnectAckCount  = 0;
unsigned char gucIdentifyCount	  = 0;
unsigned char gucConnectAck       = 0;
unsigned char gucIdentifyAck   = 0;
unsigned char gucFpIdentified  = 0;
unsigned char gucFpId[10];
unsigned char gucFprsState = 0;
unsigned char gucCh = 0;
unsigned char gucRxBuf[30];
unsigned char gucTemp[5];

/*****************************************************************************************************/
void serial0() interrupt 4
{
	if(RI == 1)
	{
		gucCh = SBUF;
		gucRxBuf[gucRxCount] = gucCh;
		gucRxCount++;
		RI = 0;
	}
}

/*****************************************************************************************************/
void FprsInit(void)
{
	unsigned int i;
	
	gucRxCount         = 0;
	gucConnectAck      = 0;
	gucConnectAckCount = 0;
	gucIdentifyAck     = 0;
	gucFpId[0]	   = 0;
	gucFpId[1]	   = 0;
	gucFpId[2]	   = 0;
	gucFprsState       = 0;
	gucCh 		   = 0;
	gucIdentifyCount   = 0;
	gucFpIdentified	   = 0;
	for(i = 0; i < 25; i++)
		gucRxBuf[i] = 0x00;
}

/*****************************************************************************************************/
unsigned char FprsConnect(void)
{
# define OFF_SET_VALUE  0x00
	unsigned int i,j;

	SerialPutc(0x01 + OFF_SET_VALUE);
	SerialPutc(0x00 + OFF_SET_VALUE);
	SerialPutc(0x00 + OFF_SET_VALUE);
	SerialPutc(0x00 + OFF_SET_VALUE);
	SerialPutc(0x00 + OFF_SET_VALUE);
	SerialPutc(0x00 + OFF_SET_VALUE);
	SerialPutc(0x00 + OFF_SET_VALUE);

	for(i = 0; i < 5; i++)
		for(j = 0; j < 40000; j++);

	return gucConnectAck;
}

/*****************************************************************************************************/
unsigned char ReadFingerPrint(void)
{
# define OFF_SET_VALUE  0x00
	unsigned int i,j;
	
	SerialPutc(0x12 + OFF_SET_VALUE);
	SerialPutc(0x00 + OFF_SET_VALUE);
	SerialPutc(0x00 + OFF_SET_VALUE);
	SerialPutc(0x00 + OFF_SET_VALUE);
	SerialPutc(0x00 + OFF_SET_VALUE);
	SerialPutc(0x00 + OFF_SET_VALUE);
	SerialPutc(0x00 + OFF_SET_VALUE);

	for(i = 0; i < 10; i++)
		for(j = 0; j < 40000; j++);
	
	LcdInit();
	
	gucFpIdentified = 0;
	if(IsAlnum(gucFpId[0]))
	{
	        if(IsAlnum(gucFpId[1]))
		{
		    if(IsAlnum(gucFpId[2]))
		    {
		    		  gucFpIdentified = 1;
	            }
		}
	}
	

	return gucFpIdentified;
}

/********************************************************************************/
unsigned char IsAlnum(unsigned char ucCh)
{
	if( ((ucCh >= 'A') && (ucCh <= 'Z')) || ((ucCh >= 'a') && (ucCh <= 'z')) || ((ucCh >= '0') && (ucCh <= '9')))
		return 1;
	else
		return 0;
}

/********************************************************************************/
# endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -