久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 基于STM32+FPM10A指紋識別的設計(源碼+原理圖+視頻) [打印本頁]

作者: Aragorn    時間: 2018-2-6 16:41
標題: 基于STM32+FPM10A指紋識別的設計(源碼+原理圖+視頻)
文件包括:源程序、原理圖、模塊資料、演示視頻。

視頻:
http://v.youku.com/v_show/id_XMTUwMzI5MjEwNA==.html

FPM10A資料:
為滿足不同客戶需求,模塊系統提供了大量資源提供給用戶系統使用。
4.1 用戶記事本
模塊在FLASH中開辟了一個512字節(16頁╳32 字節)的存儲區域開放給上位機使用,作為用戶記事本。用戶可將自己需要斷電保護的數據存儲(參見WriteNotepad指令)在該空間指定的頁面或讀出(參見ReadNotepad指令)指定頁的內容。
注意寫記事本某一頁的時候,該頁32 字節的內容被整體寫入,原來的內容被覆蓋。
4.2 緩沖區
模塊 RAM內設有一個圖像緩沖區ImageBuffer與二個512 bytes 大小的特征文件緩沖區CharBuffer1和CharBuffer2。用戶可以通過指令讀寫任意一個緩沖區。 圖像緩沖區和兩個特征文件緩沖區中的內容在模塊斷電時不保存。
4.2.1 圖像緩沖區
圖像緩沖區 ImageBuffer 用于存放圖像數據和模塊內部圖像處理使用。上傳/下載圖象時,圖像格式為256╳288像素。
通過 UART口上傳或下載圖像時為了加快速度,只用到像素字節的高四位,即采用16級灰度,每字節表示兩個像素(高四位為一個像素,低四位為同一行下一相鄰列的一個像素,即將兩個像素合成一個字節傳送)。由于圖象為 16個灰度等級,上傳到PC進行顯示時(對應 BMP格式),應將灰度等級進行擴展(擴展為256級灰度,即 8bit位圖格式)。 通過 USB口傳送則是整8位像素,即 256灰度等級。
4.2.2 特征文件緩沖區
特征文件緩沖區CharBuffer1或 CharBuffer2既可以用于存放普通特征文件也可以用于存放模板特征文件。
4.3 指紋庫
模塊在FLASH中開辟了一段存儲區域作為指紋模板存放區,即俗稱的指紋庫。指紋庫中的數據是斷電保護的。
指紋模板按照序號存放,若指紋庫容量為N,則指紋模板在指紋庫中的序號定義為:0、1、2------N-2、N-1。用戶只能根據序號訪問指紋庫內容。
4.4 系統配置參數
為方便用戶使用,模塊開放部分系統參數,允許用戶通過指令,單個修改指定(通過參數序號)的參數數值。參見設置模塊系統基本參數指令 SetSysPara 和讀系統參數指令ReadSysPara。
上位機發修改系統參數指令時,模塊先按照原配置進行應答,應答之后修改系統設置,并將配置記錄于FLASH,系統下次上電后,將按照新的配置工作。
4.4.1 波特率控制(參數序號:4)
  該參數控制模塊與上位機通過UART 通訊時的通訊波特率, 若參數值為N(N取值范圍圍1~12),對應波特率為(9600╳N)bps。
該參數控制指紋比對和搜索時比對閥值,分為 5級,取值范圍為:1、2、3、4、5。 安全等級為1時認假率最高, 拒認率最低。安全等級為5時認假率最低, 拒認率最高。  
4.4.3 數據包長度(參數序號:6)
該參數控制模塊與上位機通訊時,每次傳送時允許數據中包內容的最大長度,取值范圍為:0、1、2、3,對應長度(字節數)分別為:32、64、128、256。   

單片機源程序如下:
  1. #include "sys.h"
  2. #include "usart.h"               
  3. #include "delay.h"        
  4. #include "key.h"
  5. #include "lcd1602.h"
  6. #include "fpmxx.h"


  7. unsigned char LCD_ID_11[16] = {"    Huan Ying   "};
  8. unsigned char LCD_ID_22[16] = {"     Shi Bai    "};
  9. unsigned char LCD_ID_33[16] = {"  Qing Shi Yong "};


  10. void FPMXX_Check_Module()
  11. {
  12.          unsigned int i=0;
  13.          FPMXX_Cmd_Check();

  14.    for(i=0;i<12;i++)
  15.          {
  16.            FPMXX_RECEICE_BUFFER[i] = UART_Receive_Byte();//UART Receive a byteg
  17.    }

  18.          if(FPMXX_RECEICE_BUFFER[8]==0x03)
  19.          {
  20.                  for(i=0;i<556;i++)
  21.                  {
  22.                          switch(i)
  23.                          {
  24.                                  case 37:FPMXX_RECEICE_BUFFER[1] = UART_Receive_Byte();break;
  25.                                  case 38:FPMXX_RECEICE_BUFFER[2] = UART_Receive_Byte();break;
  26.                                  case 39:FPMXX_RECEICE_BUFFER[3] = UART_Receive_Byte();break;
  27.                                  case 40:FPMXX_RECEICE_BUFFER[4] = UART_Receive_Byte();break;
  28.                                  case 41:FPMXX_RECEICE_BUFFER[5] = UART_Receive_Byte();break;
  29.                                  default:FPMXX_RECEICE_BUFFER[0] = UART_Receive_Byte();
  30.                          }
  31.                  }
  32.                  
  33.                  //判斷指紋模塊型號
  34.                  if(FPMXX_RECEICE_BUFFER[1] == 0x46 && +
  35.                           FPMXX_RECEICE_BUFFER[2] == 0x50 && +
  36.                                 FPMXX_RECEICE_BUFFER[3] == 0x4D && +
  37.                                 FPMXX_RECEICE_BUFFER[4] == 0x31 && +
  38.                                 FPMXX_RECEICE_BUFFER[5] == 0x30)
  39.                  {
  40.                          L1602_string(1,1,LCD_ID_11);
  41.                          while(1)
  42.                          {
  43.                                  if(KEY0 == 0)
  44.                                  {
  45.                                          Delay_Ms(10);
  46.                                          while(KEY0 == 0);
  47.                                          Delay_Ms(100);
  48.                                          break;
  49.                                  }
  50.                                  Delay_Ms(100);
  51.                          }
  52.                  }
  53.          }
  54. }

  55.                                        
  56. int main(void)
  57. {                                                               
  58.           Stm32_Clock_Init(9);//系統時鐘設置
  59.         delay_init(72);                //延時初始化
  60.         uart_init(72,57600); //串口1初始化         
  61.         
  62.     KEY_Init();
  63.         L1602_init();
  64.         Delay_Ms(20);
  65.         USART1->DR=0X00;
  66.         while((USART1->SR&0X40)==0);//等待發送結束
  67.         Delay_Ms(20);
  68.         L1602_string(1,1,LCD_ID_22);
  69.         FPMXX_Check_Module();
  70.         while(1)
  71.         {
  72.         L1602_string(1,1,LCD_ID_11);
  73.                 L1602_string(2,1,LCD_ID_33);
  74.                 //添加指紋
  75.                 if(KEY0 == 0)
  76.                 {
  77.                         Delay_Ms(10);
  78.                         while(KEY0==0); //等待松開按鍵
  79.                         Delay_Ms(100);
  80.                         FPMXX_Add_Fingerprint();
  81.                 }
  82.                 //添加指紋
  83.                
  84.                 //搜索指紋
  85.                 if(KEY1 == 0)
  86.                 {
  87.                         Delay_Ms(10);
  88.                         while(KEY1==0); //等待松開按鍵
  89.                         Delay_Ms(100);
  90.                         FPMXX_Find_Fingerprint();
  91.                 }
  92.                 //搜索指紋        

  93.                 //清空指紋
  94.                 if(KEY2 == 0)
  95.                 {
  96.                         Delay_Ms(10);
  97.                         while(KEY2==0); //等待松開按鍵
  98.                         Delay_Ms(100);
  99.                         FPMXX_Delete_All_Fingerprint();
  100.                 }
  101.                 //清空指紋
  102. ……………………

  103. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼


所有資料51hei提供下載:
STM32指紋識別.zip (835.46 KB, 下載次數: 175)



作者: 帥氣的我    時間: 2018-3-17 23:13
帥氣!!!
作者: 黃佳涵@    時間: 2018-3-19 09:14
厲害了
作者: xiaojunchao    時間: 2019-3-20 13:10
親 ,你們的資料我在做 時候遇到了問題
作者: aad123    時間: 2019-6-12 23:45
親 不會做啊

作者: 狂野的野馬    時間: 2019-6-13 10:30
可以可以,值得學習下
作者: shanwei705    時間: 2019-6-13 10:41
厲害了




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美一区免费在线观看 | 亚洲精品黑人 | 午夜电影网站 | 国产一级片一区二区三区 | 久久久久精| 免费国产精品久久久久久 | 久久精品国产亚洲 | 久久国产精品一区二区三区 | 欧美久久视频 | 精品三级在线观看 | 日韩av在线一区二区 | 91资源在线观看 | 精品一区在线免费观看 | 在线观看视频中文字幕 | 中文字幕欧美日韩 | 久久国产一区二区 | 日韩一区不卡 | 国产高清在线精品一区二区三区 | 香蕉av免费 | 在线观看国产视频 | 综合网伊人 | 国产午夜精品久久久 | 国产精品区二区三区日本 | 精品伊人| 99视频在线 | 日韩欧美精品 | 欧美久久一级特黄毛片 | 国产免费xxx | 国产精品久久久久久久久久久久 | 亚洲综合大片69999 | 国产精品污www在线观看 | 看av在线 | 欧美日韩综合视频 | 久久久久久艹 | 天堂一区 | 福利视频一区二区 | 久久国产精品91 | 国内精品视频 | 日本久久一区 | 亚洲人在线 | 精品日韩欧美一区二区 |