基于單片機的指紋考勤管理系統設計
3 通信實施
3.1 通信設置
計算機與考勤機聯機的步驟如下,其流程如圖2所示。
(1)通信之前,設置考勤機的波特率、數據位、校驗位、為考勤機選擇串口等。
(2)計算機向考勤機發送聯機通信命令,并啟動計時器響應超時。
(3)考勤機收到聯機命令,如果允許聯機向計算機回復允許聯機的應答。
(4)如果計算機收到考勤機的允許應答,聯機成功。如果在等待時間內沒有收到考勤機的應答,認為超時,重新發送聯機命令,返回再執行(2)。超時三次以上認為聯機失敗。
圖2 計算機考勤機聯機流程圖
3.2 上傳考勤記錄
考勤機中的考勤記錄上傳到計算機的步驟如下,流程如圖3所示。
(1)計算機向考勤機發送上傳考勤記錄命令。
(2)考勤機收到命令,比較考勤記錄總數與已經上傳的考勤記錄數,若考勤記錄總數等于已上傳的考勤記錄數,表明現在沒有新的考勤記錄,向計算機發送無新考勤記錄應答;若考勤記錄總數大于已上傳的考勤記錄數,表明有新的考勤記錄沒有上傳,將20條新的考勤記錄組成一個數據包(如2.2節所述),向計算機發送數據包。若剩余考勤記錄小于20條,將不足部分的每個字節設置為255。
(3)計算機收到數據包檢查該數據包是否是考勤記錄包。
(4)如果是考勤記錄包,校驗該記錄包;如果不是考勤記錄包,重新執行(1)。
(5)如果校驗正確,將每條考勤記錄保存到數據庫;如果校驗錯誤,重新執行(1)。
(6)如果保存數據成功,轉到(1),上傳剩余的考勤記錄,直到上傳完畢所有考勤記錄;如果保存錯誤,轉到(1)重新執行。(4),(5),(6)步中重新執行(1)最多三次,三次以上就認為上傳考勤記錄失敗。
圖3 上傳考勤記錄流程圖
3.3 上傳指紋模板
為了備份員工的指紋模板,將考勤機中存儲的指紋模板上傳至計算機并保存到數據庫中。
上傳指紋模板的步驟如下,流程如圖4所示。
圖4 上傳指紋模板流程
(1)計算機向考勤機發送上傳指紋模板命令。
(2)考勤機收到命令,根據考勤機的當前情況(是否正在使用)判斷是否允許上傳指紋模板,若現在不允許傳送指紋模板,給計算機發不允許應答;若允許,判斷指紋模板是否已經全部發送完畢,如果已經全部發送完畢,向計算機發送全部傳送完畢應答,否則向計算機發送允許上傳指紋模板應答,然后發送指紋模板。
(3)計算機根據收到的考勤機應答作出相應的動作。如果收到不允許應答或者全部傳送完畢應答,結束該次通信;若收到允許應答,準備接收指紋模板。
(4)判斷接收到的指紋模板是否正確
(5)如果正確,保存該指紋模板到數據庫;如果不正確,轉到(1)重新執行。
(6)如果成功地保存指紋模板到數據庫,轉到(1)準備上傳下一個指紋模板,直到所有指紋模板上傳完畢;如果保存指紋模板到數據庫失敗,轉到(1)重新執行。(5)、(6)步中重新執行(1)最多三次,三次以上就認為上傳指紋模板失敗。
4 結語
本文闡述了指紋考勤系統各部分的功能,并對通信的數據格式及通信的流程進行了詳細的描述。本指紋考勤系統集生物識別、機電一體化、軟件、光學等技術于一身,是專門針對人力資源管理中考勤管理而研究開發的。
評論