• 大小: 7.65MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-17
  • 语言: 其他
  • 标签: stm32  as608  

资源简介

西工大指纹识别系统嵌入式课程设计工程及报告,基于stm32f103vc开发板,as608指纹识别模块,内容丰富,亲测实用,留给需要的人参考

资源截图

代码片段和文件信息


#include 
#include “delay.h“ 
#include “main.h“
#include “as608.h“

u32 AS608Addr = 0XFFFFFFFF; //默认 此地址实验时不允许更改

//初始化PA6为下拉输入     
//读摸出感应状态(触摸感应时输出高电平信号)
void PS_StaGPIO_Init(void)
{   
  GPIO_InitTypeDef  GPIO_InitStructure;
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA ENABLE);//使能GPIOA时钟
  //初始化读状态引脚GPIOA
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;//输入下拉模式
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//50MHz
  GPIO_Init(GPIOA &GPIO_InitStructure);//初始化GPIO
}
//串口发送一个字节
static void MYUSART_SendData(u8 data)
{
while((USART1->SR&0X40)==0); 
USART1->DR = data;
}
//发送包头
static void SendHead(void)
{
MYUSART_SendData(0xEF);
MYUSART_SendData(0x01);
}
//发送地址
static void SendAddr(void)
{
MYUSART_SendData(AS608Addr>>24);
MYUSART_SendData(AS608Addr>>16);
MYUSART_SendData(AS608Addr>>8);
MYUSART_SendData(AS608Addr);
}
//发送包标识
static void SendFlag(u8 flag)
{
MYUSART_SendData(flag);
}
//发送包长度
static void SendLength(int length)
{
MYUSART_SendData(length>>8);
MYUSART_SendData(length);
}
//发送指令码
static void Sendcmd(u8 cmd)
{
MYUSART_SendData(cmd);
}
//发送校验和
static void SendCheck(u16 check)
{
MYUSART_SendData(check>>8);
MYUSART_SendData(check);
}
//判断中断接收的数组有没有应答包
//waittime为等待中断接收数据的时间(单位1ms)
//返回值:数据包首地址
static u8 *JudgeStr(u16 waittime)
{
char *data;
u8 str[8];
str[0]=0xef;str[1]=0x01;str[2]=AS608Addr>>24;
str[3]=AS608Addr>>16;str[4]=AS608Addr>>8;
str[5]=AS608Addr;str[6]=0x07;str[7]=‘\0‘;
USART1_RX_STA=0;
while(--waittime)
{
delay_ms(1);
if(USART1_RX_STA&0X8000)//接收到一次数据
{
USART1_RX_STA=0;
data=strstr((const char*)USART1_RX_BUF(const char*)str);
if(data)
return (u8*)data;
}
}
return 0;
}
//录入图像 PS_GetImage
//功能:探测手指,探测到后录入指纹图像存于ImageBuffer。 
//模块返回确认字
u8 PS_GetImage(void)
{
  u16 temp;
  u8  ensure;
u8  *data;
SendHead();
SendAddr();
SendFlag(0x01);//命令包标识
SendLength(0x03);
Sendcmd(0x01);
  temp =  0x01+0x03+0x01;
SendCheck(temp);
data=JudgeStr(2000);
if(data)
ensure=data[9];
else
ensure=0xff;
return ensure;
}
//生成特征 PS_GenChar
//功能:将ImageBuffer中的原始图像生成指纹特征文件存于CharBuffer1或CharBuffer2  
//参数:BufferID --> charBuffer1:0x01 charBuffer1:0x02
//模块返回确认字
u8 PS_GenChar(u8 BufferID)
{
u16 temp;
  u8  ensure;
u8  *data;
SendHead();
SendAddr();
SendFlag(0x01);//命令包标识
SendLength(0x04);
Sendcmd(0x02);
MYUSART_SendData(BufferID);
temp = 0x01+0x04+0x02+BufferID;
SendCheck(temp);
data=JudgeStr(2000);
if(data)
ensure=data[9];
else
ensure=0xff;
return ensure;
}
//精确比对两枚指纹特征 PS_Match
//功能:精确比对CharBuffer1 与CharBuffer2 中的特征文件 
//模块返回确认字
u8 PS_Match(void)
{
u16 temp;
  u8  ensure;
u8  *data;
SendHead();
SendAddr();
SendFlag(0x01);//命令包标识
SendLength(0x03);
Sendcmd(0x03);
temp = 0x01+0x03+0x03;
SendCheck(temp);
data=JudgeStr(2000);
if(data)
ensure=data[9];
el

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-03-19 14:02  fingerprint_sys\
     目录           0  2019-03-16 01:29  fingerprint_sys\AS608\
     文件       13711  2019-03-15 17:15  fingerprint_sys\AS608\as608.c
     文件        1482  2019-03-15 17:15  fingerprint_sys\AS608\as608.h
     目录           0  2019-03-16 01:29  fingerprint_sys\DebugConfig\
     文件        6956  2015-12-10 17:06  fingerprint_sys\DebugConfig\Target_1_STM32F103VC_1.0.0.dbgconf
     文件         339  2017-11-27 12:24  fingerprint_sys\EventRecorderStub.scvd
     文件      177951  2019-03-16 15:01  fingerprint_sys\fingerprint.uvguix.87328
     文件      140779  2019-03-19 14:02  fingerprint_sys\fingerprint.uvguix.Lenovo
     文件       13111  2019-03-19 14:02  fingerprint_sys\fingerprint.uvoptx
     文件       22387  2019-03-19 14:02  fingerprint_sys\fingerprint.uvprojx
     目录           0  2019-03-16 01:29  fingerprint_sys\Hardware\
     文件         658  2019-03-14 15:34  fingerprint_sys\Hardware\Keyboard.c
     文件         416  2019-03-16 00:33  fingerprint_sys\Hardware\Keyboard.h
     文件        2139  2019-03-15 11:22  fingerprint_sys\Hardware\motor.c
     文件         170  2019-03-15 11:22  fingerprint_sys\Hardware\motor.h
     文件        3156  2019-03-14 17:28  fingerprint_sys\Hardware\Nixietube.c
     文件         257  2019-03-14 17:24  fingerprint_sys\Hardware\Nixietube.h
     目录           0  2019-03-16 01:29  fingerprint_sys\Listings\
     文件      178141  2019-03-16 01:27  fingerprint_sys\Listings\fingerprint.map
     文件       54969  2019-03-16 01:27  fingerprint_sys\Listings\startup_stm32f10x_hd.lst
     目录           0  2019-03-16 01:29  fingerprint_sys\MALLOC\
     文件        5274  2015-03-13 21:40  fingerprint_sys\MALLOC\malloc.c
     文件        2274  2017-11-26 15:33  fingerprint_sys\MALLOC\malloc.h
     目录           0  2019-03-16 01:29  fingerprint_sys\objects\
     文件      317597  2019-03-16 01:27  fingerprint_sys\objects\as608.crf
     文件        1992  2019-03-16 01:27  fingerprint_sys\objects\as608.d
     文件      373244  2019-03-16 01:27  fingerprint_sys\objects\as608.o
     文件      301850  2019-03-16 01:27  fingerprint_sys\objects\delay.crf
     文件        1786  2019-03-16 01:27  fingerprint_sys\objects\delay.d
     文件      329036  2019-03-16 01:27  fingerprint_sys\objects\delay.o
............此处省略82个文件信息

评论

共有 条评论