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