席 飛
(南京高等職業(yè)技術(shù)學(xué)校,江蘇 南京 210019)
企業(yè)智能化管理是當(dāng)前企業(yè)現(xiàn)代化發(fā)展的必經(jīng)之路,如何運(yùn)用信息技術(shù)、單片機(jī)技術(shù)、數(shù)據(jù)庫技術(shù)、計算機(jī)技術(shù)實現(xiàn)企業(yè)智能化考勤系統(tǒng),是企業(yè)人事考勤部門的重要技術(shù)改造方向。從考勤系統(tǒng)唯一性、無錯性的實際需求出發(fā),有必要依托目前應(yīng)用較為成熟的指紋識別技術(shù),設(shè)計一款抗干擾能力強(qiáng)、適應(yīng)性強(qiáng)、操作簡單、準(zhǔn)確率高的單片機(jī)指紋考勤系統(tǒng)[1]。
考勤系統(tǒng)作為企業(yè)人事管理的重要依據(jù),同時也是人力資源日常管理的重要工具,需要滿足以下幾個方面的功能性需求:
第一,要完成考勤數(shù)據(jù)的采集功能,也就是能夠準(zhǔn)確無誤地采集各部門員工的考勤數(shù)據(jù),記錄員工姓名、上下班時間、基本工作狀態(tài)等數(shù)據(jù),并將該數(shù)據(jù)發(fā)送到整個企業(yè)的考勤管理系統(tǒng)的上位機(jī)數(shù)據(jù)庫內(nèi)。
第二,能夠?qū)崿F(xiàn)員工個人信息的查詢調(diào)取功能,擁有考勤管理權(quán)限的管理人員可以訪問考勤系統(tǒng)人機(jī)交互界面,調(diào)取員工的考勤狀況。
第三,能夠?qū)崿F(xiàn)部門考勤數(shù)據(jù)匯總分析的報表功能,各部門能夠借助考勤系統(tǒng)實現(xiàn)對部門員工月度、季度考勤狀況的報表總結(jié),同時可以匯總羅列出每個工作日部門員工的考勤明細(xì)表,通過該明細(xì)表與出勤排班表之間的對比,能夠快速得出每個員工的出勤打卡情況。
第四,能夠?qū)崿F(xiàn)各個指紋考勤系統(tǒng)終端業(yè)務(wù)功能,記錄員工的指紋信息以及采集時間;還能夠?qū)崿F(xiàn)新員工指紋信息的注冊與備份,實現(xiàn)員工按鍵輸入信息的反饋。
本文設(shè)計的指紋考勤系統(tǒng)是針對多部門企業(yè)設(shè)計的,采用上位機(jī)與終端配合的網(wǎng)絡(luò)系統(tǒng),上位機(jī)部分由企業(yè)考勤管理部門的PC機(jī)以及企業(yè)考勤系統(tǒng)數(shù)據(jù)庫組成,下位機(jī)部分則由一個個分布于各個部門的指紋考勤終端構(gòu)成。下位機(jī)部分用于實現(xiàn)對各部門員工考勤指紋信息的采集、傳輸以及新員工指紋信息的注冊,上位機(jī)則負(fù)責(zé)溝通考勤終端與數(shù)據(jù)庫,整理、備份、存入、調(diào)用各部門員工的指紋考勤相關(guān)信息,數(shù)據(jù)庫則提供相關(guān)數(shù)據(jù)的存儲功能。本文的研究重點(diǎn)在于指紋考勤系統(tǒng)的終端設(shè)計,嘗試從單片機(jī)技術(shù)的應(yīng)用方面入手,論述指紋考勤系統(tǒng)終端的硬件電路設(shè)計以及軟件功能程序開發(fā)[2-6]。
控制單元即整個指紋考勤終端的主控芯片,本文建議選用ATMEL公司生產(chǎn)的AT89C51RC2型號的單片機(jī),該單片機(jī)為CMOS8位處理器單片機(jī),性能強(qiáng),能夠適應(yīng)低電壓工作環(huán)境,同時該型號單片機(jī)提供了32 K的FLASH閃存功能,更便于軟件程序的編寫與調(diào)試。單片機(jī)自帶512字節(jié)的RAM,可以臨時存儲大量指紋采集圖片式信息。該單片機(jī)還自帶32個I/O通信口,能夠?qū)崿F(xiàn)對人機(jī)交互單元、存儲器、時鐘、指紋識別模塊的信息傳輸[7-8]。
人機(jī)交互單元包括LCD顯示屏和鍵盤輸入兩個模塊。其中,LCD顯示屏用于顯示指紋信息采集狀態(tài),LCD顯示屏建議選用中文圖形控制芯片ST7920實現(xiàn),該單片機(jī)內(nèi)置了8 192個中文漢字,能夠?qū)崿F(xiàn)16×16的中文漢字點(diǎn)陣顯示,可以將指紋采集狀態(tài)的中文簡單清晰地反饋給員工。該芯片還提供了多種接口方式,能夠兼容大部分型號的單片機(jī)和微處理器。ST7920還將所有的字符存儲、點(diǎn)陣造字、可編程控制等功能全部集成在電路芯片上,只需要將主控芯片與LCD電路芯片相連,就能實現(xiàn)LCD屏幕顯示指紋采集狀態(tài)的功能。LCD顯示屏電路如圖1所示。
圖1 LCD顯示屏電路
鍵盤主要用于采集用戶的輸入信息。建議采用4×4的矩陣鍵盤,配置4個豎列的輸出口以及4個橫行的輸入口,當(dāng)按鍵被按下以后,對應(yīng)的I/O線從斷開狀態(tài)變?yōu)檫B接狀態(tài),此時CPU開始掃描鍵盤,判斷目前鍵盤狀態(tài)持續(xù)時長,然后排除鍵盤異常等誤判可能,對用戶的按鍵操作作出響應(yīng)。
考勤終端需要記錄員工的指紋采集時間,因此需要獨(dú)立穩(wěn)定的時鐘模塊。建議采用DS1302時鐘模塊。時鐘模塊不但要給考勤時間提供依據(jù),還要在LCD顯示屏上顯示現(xiàn)在的時間。時鐘芯片與主控單片機(jī)之間同樣要連接起來,為了保證時鐘芯片時間的準(zhǔn)確性,需要為時鐘芯片提供備用電源,當(dāng)通過主控芯片連接的系統(tǒng)主電源供電出現(xiàn)問題時,備用電源能夠及時為時鐘芯片供電,確保時間信息不會因為斷電或系統(tǒng)待機(jī)狀態(tài)而出現(xiàn)偏差。
數(shù)據(jù)傳輸模塊主要用于上位機(jī)PC機(jī)與數(shù)據(jù)庫之間的數(shù)據(jù)傳輸。由于企業(yè)的各部門可能存在跨地域辦公的情況,本文建議采用無線傳輸?shù)姆绞?,而無線信息的傳輸必然面臨干擾問題,需要采用抗干擾能力強(qiáng)、傳輸距離長的傳輸模塊。本文采用PTR2000+微小型無線數(shù)據(jù)傳輸模塊。該模塊具有以下顯著優(yōu)勢:
第一,該模塊能夠?qū)崿F(xiàn)1 000 m以內(nèi)的數(shù)據(jù)信號的無線傳輸,同時可以加裝外置天線,提高信號發(fā)射頻率。
第二,該模塊采用FSK來調(diào)制和解調(diào)數(shù)據(jù),工作頻段為433 MHz ISM,該頻段的無線信號抗干擾能力更強(qiáng)。
第三,該模塊的體積較小,集成了數(shù)據(jù)信號的解調(diào)、收發(fā)功能。
第四,該模塊支持串行數(shù)據(jù)傳輸,能夠與大部分單片機(jī)配合使用,可以直接與單片機(jī)的串行I/O口相連,同時也可以和PC的串口相連,能夠滿足指紋考勤系統(tǒng)PC機(jī)與數(shù)據(jù)庫、主控芯片與指紋識別模塊的數(shù)據(jù)交互需求。
指紋識別模塊主要用于指紋的采集與指紋的識別。它是整個指紋考勤系統(tǒng)的關(guān)鍵設(shè)備。建議選用自帶較大存儲容量的VFDA02指紋識別模塊,該模塊可以在脫機(jī)狀態(tài)下存儲1 760枚指紋。該模塊還采用了2 MB的FLASH臨時存儲用戶的指紋特征。當(dāng)處理器處理速度較慢時,可以將積壓的指紋采集數(shù)據(jù)臨時存入模塊自帶的8 MB的RAM內(nèi),防止已經(jīng)采集的數(shù)據(jù)丟失。該模塊還運(yùn)用了光的漫反射,采用光學(xué)觸碰式指紋采集技術(shù),該技術(shù)的能耗較低,設(shè)備元件使用壽命較長,同時也能夠適應(yīng)低電壓工作環(huán)境。
PCB線路板是整個單片機(jī)主控模塊的關(guān)鍵,直接影響了指紋考勤終端的穩(wěn)定性。因此,PCB線路板的印制過程一定要注意以下幾個方面:
第一,為了防止電路板微電流的干擾問題,建議采用接地模式。同時,為了盡可能地減弱地線電流信號干擾,可以在多個點(diǎn)設(shè)置多處接地線,降低一個點(diǎn)的地線阻抗。當(dāng)線路板的工作頻率大于10 MHz時,多點(diǎn)接地線同時工作。當(dāng)工作頻率小于1 MHz時,為了避免接地線環(huán)流影響地線抗干擾性能,切換為一點(diǎn)接地。考慮到指紋考勤終端始終處于低電壓工作狀態(tài),本系統(tǒng)建議采用一點(diǎn)接地。
第二,在設(shè)計布置導(dǎo)線時,要注意導(dǎo)線寬度保持一致,導(dǎo)電性能保持一致,盡可能地避免導(dǎo)線的頻繁交叉,同時多次排查導(dǎo)線的斷點(diǎn)問題。
第三,在仿真實驗時可以考慮加裝去耦電容。
第四,在配置元器件時,盡量將同種功能、同一型號的元器件排列在一起。
上位機(jī)主要為企業(yè)考勤管理部門的工作人員實現(xiàn)各部門考勤信息的匯總整理以及形成報表等功能。因此,上位機(jī)的后臺程序包括以下幾個主要功能模塊:
第一,統(tǒng)計查詢模塊,用于調(diào)用查詢各個部門的考勤明細(xì),憑借員工ID調(diào)用該員工的考勤明細(xì)。
第二,各部門排班情況管理查詢模塊,借助該模塊對各部門考勤系統(tǒng)排班情況參數(shù)進(jìn)行具體地配置,同時根據(jù)各部門的考勤規(guī)定,對遲到、早退、缺勤等情況的判定標(biāo)準(zhǔn)進(jìn)行具體設(shè)置。
第三,部門員工信息管理模塊,用于對員工的工號、指紋、所屬部門、管理權(quán)限等信息進(jìn)行增刪改查等操作。
第四,后臺數(shù)據(jù)庫模塊。采用MSQL2010數(shù)據(jù)庫存儲用戶信息、考勤記錄信息以及排班信息等系統(tǒng)相關(guān)數(shù)據(jù)。
3.2.1 功能模塊程序開發(fā)思路
指紋考勤系統(tǒng)終端程序也就是單片機(jī)程序的編寫,要根據(jù)單片機(jī)型號的不同配置不同的開發(fā)環(huán)境。本文選擇的C51系列單片機(jī)擁有專用的C語言編譯軟件,可以借助該編譯軟件實現(xiàn)對單片機(jī)程序的開發(fā)。例如運(yùn)用Keil C51軟件,可以調(diào)用該軟件封裝的豐富的庫函數(shù),完成對簡單數(shù)值大小邏輯判斷程序的編譯工作。另外,該編譯器還搭載了仿真調(diào)試功能,可以借助仿真功能對程序進(jìn)行試運(yùn)行調(diào)試,大大降低了程序的優(yōu)化難度。
終端程序需要實現(xiàn)以下兩個方面的功能,要針對這些功能模塊開發(fā)對應(yīng)的自動化控制程序。第一,系統(tǒng)管理模塊程序。通過該程序?qū)崿F(xiàn)對指紋考勤數(shù)據(jù)的增刪改查,新員工指紋注冊以及考勤系統(tǒng)參數(shù)設(shè)置等系統(tǒng)管理工作。第二,指紋識別模塊控制程序。該程序需要根據(jù)用戶按鍵信息,調(diào)用指紋識別模塊采集用戶指紋以后,進(jìn)行指紋驗證比對,從數(shù)據(jù)庫中調(diào)取該部門指紋信息與采集到的指紋信息進(jìn)行特征比對,匹配成功以后記錄指紋數(shù)據(jù)采集時間、指紋ID等考勤信息,并向上位機(jī)數(shù)據(jù)傳輸模塊發(fā)送與指紋ID匹配的用戶考勤記錄。
3.2.2 系統(tǒng)管理模塊軟件開發(fā)
企業(yè)各個部門可以通過部門指紋考勤管理終端來設(shè)置不同的考勤系統(tǒng)參數(shù)(上班時間、員工編號、考勤幾號、管理權(quán)限)。管理人員按下MENU鍵以后,進(jìn)入管理人員指紋驗證程序,采集并比對該部門管理員的指紋信息,比對成功以后進(jìn)入考勤系統(tǒng)管理菜單,提供具體的參數(shù)設(shè)置、指紋考勤數(shù)據(jù)增刪改查、新用戶注冊等一系列管理功能入口。
3.2.3 指紋識別模塊的控制程序開發(fā)
指紋識別模塊的控制程序主要是實現(xiàn)指紋采集與指紋驗證過程中通信模塊以及指紋采集模塊、鍵盤模塊、時鐘模塊的調(diào)用。指紋考勤的基本流程為用戶按下開始鍵以后,按下指紋,單片機(jī)接收到開始按鍵的信息時,調(diào)用指紋采集與識別模塊功能進(jìn)行指紋識別,接著調(diào)用數(shù)據(jù)通信模塊從數(shù)據(jù)庫中調(diào)用該部門員工的指紋信息,對采集到的指紋信息進(jìn)行特征比對。在指紋信息比對成功以后,調(diào)用時鐘模塊,記錄當(dāng)前時間,數(shù)據(jù)庫中比對匹配的指紋ID、時鐘時間等信息保存為該員工的考勤記錄,再次調(diào)用數(shù)據(jù)通信模塊將考勤記錄發(fā)送給上位機(jī)指紋考勤管理部門。這里需要注意的是,單片機(jī)指紋考勤程序有兩種模式,既可以自動識別指紋考勤,也可以結(jié)合ID號驗證指紋,指紋比對成功后,將指紋ID、時間、日期保存在存儲器中,無線通信模塊再根據(jù)主程序命令將這些數(shù)據(jù)發(fā)送到服務(wù)器。員工的指紋需要登記后才能進(jìn)行考勤。
本文設(shè)計的指紋考勤系統(tǒng)主要以STC89C52RC單片機(jī)為主控核心,選用指紋識別模塊VFDA02,搭載LCD顯示模塊和鍵盤模塊,能夠借助指紋考勤終端完成對指紋考勤數(shù)據(jù)的增刪改查,使擁有多個部門的大型企業(yè)的考勤系統(tǒng)更加靈活。在軟件開發(fā)中采用了模塊化軟件程序開發(fā)思路,保證考勤終端各個功能性模塊的程序邏輯判斷流程簡捷、高效,各部門的考勤管理人員可以通過終端人機(jī)交互模塊實現(xiàn)對該部門員工考勤信息的有效管理。希望本文的研究對企業(yè)優(yōu)化傳統(tǒng)考勤系統(tǒng)有所幫助。