標(biāo)題:
基于STM32+FPM10A指紋識(shí)別的設(shè)計(jì)(源碼+原理圖+視頻)
[打印本頁]
作者:
Aragorn
時(shí)間:
2018-2-6 16:41
標(biāo)題:
基于STM32+FPM10A指紋識(shí)別的設(shè)計(jì)(源碼+原理圖+視頻)
文件包括:源程序、原理圖、模塊資料、演示視頻。
視頻:
http://v.youku.com/v_show/id_XMTUwMzI5MjEwNA==.html
FPM10A資料:
為滿足不同客戶需求,模塊系統(tǒng)提供了大量資源提供給用戶系統(tǒng)使用。
4.1 用戶記事本
模塊在FLASH中開辟了一個(gè)512字節(jié)(16頁╳32 字節(jié))的存儲(chǔ)區(qū)域開放給上位機(jī)使用,作為用戶記事本。用戶可將自己需要斷電保護(hù)的數(shù)據(jù)存儲(chǔ)(參見WriteNotepad指令)在該空間指定的頁面或讀出(參見ReadNotepad指令)指定頁的內(nèi)容。
注意寫記事本某一頁的時(shí)候,該頁32 字節(jié)的內(nèi)容被整體寫入,原來的內(nèi)容被覆蓋。
4.2 緩沖區(qū)
模塊 RAM內(nèi)設(shè)有一個(gè)圖像緩沖區(qū)ImageBuffer與二個(gè)512 bytes 大小的特征文件緩沖區(qū)CharBuffer1和CharBuffer2。用戶可以通過指令讀寫任意一個(gè)緩沖區(qū)。 圖像緩沖區(qū)和兩個(gè)特征文件緩沖區(qū)中的內(nèi)容在模塊斷電時(shí)不保存。
4.2.1 圖像緩沖區(qū)
圖像緩沖區(qū) ImageBuffer 用于存放圖像數(shù)據(jù)和模塊內(nèi)部圖像處理使用。上傳/下載圖象時(shí),圖像格式為256╳288像素。
通過 UART口上傳或下載圖像時(shí)為了加快速度,只用到像素字節(jié)的高四位,即采用16級(jí)灰度,每字節(jié)表示兩個(gè)像素(高四位為一個(gè)像素,低四位為同一行下一相鄰列的一個(gè)像素,即將兩個(gè)像素合成一個(gè)字節(jié)傳送)。由于圖象為 16個(gè)灰度等級(jí),上傳到PC進(jìn)行顯示時(shí)(對應(yīng) BMP格式),應(yīng)將灰度等級(jí)進(jìn)行擴(kuò)展(擴(kuò)展為256級(jí)灰度,即 8bit位圖格式)。 通過 USB口傳送則是整8位像素,即 256灰度等級(jí)。
4.2.2 特征文件緩沖區(qū)
特征文件緩沖區(qū)CharBuffer1或 CharBuffer2既可以用于存放普通特征文件也可以用于存放模板特征文件。
4.3 指紋庫
模塊在FLASH中開辟了一段存儲(chǔ)區(qū)域作為指紋模板存放區(qū),即俗稱的指紋庫。指紋庫中的數(shù)據(jù)是斷電保護(hù)的。
指紋模板按照序號(hào)存放,若指紋庫容量為N,則指紋模板在指紋庫中的序號(hào)定義為:0、1、2------N-2、N-1。用戶只能根據(jù)序號(hào)訪問指紋庫內(nèi)容。
4.4 系統(tǒng)配置參數(shù)
為方便用戶使用,模塊開放部分系統(tǒng)參數(shù),允許用戶通過指令,單個(gè)修改指定(通過參數(shù)序號(hào))的參數(shù)數(shù)值。參見設(shè)置模塊系統(tǒng)基本參數(shù)指令 SetSysPara 和讀系統(tǒng)參數(shù)指令ReadSysPara。
上位機(jī)發(fā)修改系統(tǒng)參數(shù)指令時(shí),模塊先按照原配置進(jìn)行應(yīng)答,應(yīng)答之后修改系統(tǒng)設(shè)置,并將配置記錄于FLASH,系統(tǒng)下次上電后,將按照新的配置工作。
4.4.1 波特率控制(參數(shù)序號(hào):4)
該參數(shù)控制模塊與上位機(jī)通過UART 通訊時(shí)的通訊波特率, 若參數(shù)值為N(N取值范圍圍1~12),對應(yīng)波特率為(9600╳N)bps。
該參數(shù)控制指紋比對和搜索時(shí)比對閥值,分為 5級(jí),取值范圍為:1、2、3、4、5。 安全等級(jí)為1時(shí)認(rèn)假率最高, 拒認(rèn)率最低。安全等級(jí)為5時(shí)認(rèn)假率最低, 拒認(rèn)率最高。
4.4.3 數(shù)據(jù)包長度(參數(shù)序號(hào):6)
該參數(shù)控制模塊與上位機(jī)通訊時(shí),每次傳送時(shí)允許數(shù)據(jù)中包內(nèi)容的最大長度,取值范圍為:0、1、2、3,對應(yīng)長度(字節(jié)數(shù))分別為:32、64、128、256。
單片機(jī)源程序如下:
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "key.h"
#include "lcd1602.h"
#include "fpmxx.h"
unsigned char LCD_ID_11[16] = {" Huan Ying "};
unsigned char LCD_ID_22[16] = {" Shi Bai "};
unsigned char LCD_ID_33[16] = {" Qing Shi Yong "};
void FPMXX_Check_Module()
{
unsigned int i=0;
FPMXX_Cmd_Check();
for(i=0;i<12;i++)
{
FPMXX_RECEICE_BUFFER[i] = UART_Receive_Byte();//UART Receive a byteg
}
if(FPMXX_RECEICE_BUFFER[8]==0x03)
{
for(i=0;i<556;i++)
{
switch(i)
{
case 37:FPMXX_RECEICE_BUFFER[1] = UART_Receive_Byte();break;
case 38:FPMXX_RECEICE_BUFFER[2] = UART_Receive_Byte();break;
case 39:FPMXX_RECEICE_BUFFER[3] = UART_Receive_Byte();break;
case 40:FPMXX_RECEICE_BUFFER[4] = UART_Receive_Byte();break;
case 41:FPMXX_RECEICE_BUFFER[5] = UART_Receive_Byte();break;
default:FPMXX_RECEICE_BUFFER[0] = UART_Receive_Byte();
}
}
//判斷指紋模塊型號(hào)
if(FPMXX_RECEICE_BUFFER[1] == 0x46 && +
FPMXX_RECEICE_BUFFER[2] == 0x50 && +
FPMXX_RECEICE_BUFFER[3] == 0x4D && +
FPMXX_RECEICE_BUFFER[4] == 0x31 && +
FPMXX_RECEICE_BUFFER[5] == 0x30)
{
L1602_string(1,1,LCD_ID_11);
while(1)
{
if(KEY0 == 0)
{
Delay_Ms(10);
while(KEY0 == 0);
Delay_Ms(100);
break;
}
Delay_Ms(100);
}
}
}
}
int main(void)
{
Stm32_Clock_Init(9);//系統(tǒng)時(shí)鐘設(shè)置
delay_init(72); //延時(shí)初始化
uart_init(72,57600); //串口1初始化
KEY_Init();
L1602_init();
Delay_Ms(20);
USART1->DR=0X00;
while((USART1->SR&0X40)==0);//等待發(fā)送結(jié)束
Delay_Ms(20);
L1602_string(1,1,LCD_ID_22);
FPMXX_Check_Module();
while(1)
{
L1602_string(1,1,LCD_ID_11);
L1602_string(2,1,LCD_ID_33);
//添加指紋
if(KEY0 == 0)
{
Delay_Ms(10);
while(KEY0==0); //等待松開按鍵
Delay_Ms(100);
FPMXX_Add_Fingerprint();
}
//添加指紋
//搜索指紋
if(KEY1 == 0)
{
Delay_Ms(10);
while(KEY1==0); //等待松開按鍵
Delay_Ms(100);
FPMXX_Find_Fingerprint();
}
//搜索指紋
//清空指紋
if(KEY2 == 0)
{
Delay_Ms(10);
while(KEY2==0); //等待松開按鍵
Delay_Ms(100);
FPMXX_Delete_All_Fingerprint();
}
//清空指紋
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
0.png
(46.81 KB, 下載次數(shù): 43)
下載附件
2018-2-7 00:49 上傳
所有資料51hei提供下載:
STM32指紋識(shí)別.zip
(835.46 KB, 下載次數(shù): 175)
2018-2-6 16:41 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
帥氣的我
時(shí)間:
2018-3-17 23:13
帥氣!!
作者:
黃佳涵@
時(shí)間:
2018-3-19 09:14
厲害了
作者:
xiaojunchao
時(shí)間:
2019-3-20 13:10
親 ,你們的資料我在做 時(shí)候遇到了問題
作者:
aad123
時(shí)間:
2019-6-12 23:45
親 不會(huì)做啊
作者:
狂野的野馬
時(shí)間:
2019-6-13 10:30
可以可以,值得學(xué)習(xí)下
作者:
shanwei705
時(shí)間:
2019-6-13 10:41
厲害了
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1