作者/占華林、徐江韜、胡予婧,江西科技師范大學(xué)通信與電子學(xué)院
基于C51單片機(jī)考勤機(jī)設(shè)計(jì)
作者/占華林、徐江韜、胡予婧,江西科技師范大學(xué)通信與電子學(xué)院
指紋識別考勤系統(tǒng)以指紋模板為標(biāo)志進(jìn)行身份驗(yàn)證,利用指紋的唯一性徹底根除考勤中存在的虛假現(xiàn)象,有效地杜絕了考勤管理中的人為因素,充分體現(xiàn)了考勤管理的公正,避免了不必要的人事糾紛。本系統(tǒng)采用STC89C52單片機(jī)作為主控芯片,液晶LCD12864作為人機(jī)交互界面,矩陣鍵盤輸入學(xué)號,指紋識別模塊作為打卡考勤傳感器。以學(xué)生上課為例,當(dāng)學(xué)生考勤時(shí)輸入指紋,系統(tǒng)便可顯示學(xué)號并記錄已考勤人員。管理人員對學(xué)生上課考勤信息一目了然,另外本系統(tǒng)保存的信息可隨意增加或刪除,功能簡單實(shí)用。
考勤系統(tǒng);單片機(jī)89C52;指紋識別
考勤系統(tǒng)在各單位日常管理中至關(guān)重要,通過日常的考勤,可以增強(qiáng)對工作人
員的管理和了解,規(guī)范他們平時(shí)的出勤并提高學(xué)習(xí)效率,維護(hù)工作秩序,有益于單位的發(fā)展。傳統(tǒng)考勤一般是點(diǎn)名簽到,但是其過程繁瑣容易出錯(cuò)而且存在很嚴(yán)重的人情考勤現(xiàn)象,為了節(jié)約時(shí)間以及資源并避免以上所述的弊端從而達(dá)到所需要的考勤效果,人們研究出各種新型的考勤措施如感應(yīng)卡考勤等。但是即便這些新型的考勤措施問世,考勤還是存在著如感應(yīng)卡遺失、消耗、人情考勤等諸多問題,需長期定時(shí)不定時(shí)地投入人力與費(fèi)用。由于傳統(tǒng)的考勤模式由于存在著各種弊病已經(jīng)不能滿足現(xiàn)代事業(yè)單位的需求。因此就需要一種可以完全避免以上弊端的新型方法和技術(shù)來達(dá)到考勤的理想效果,所以指紋考勤系統(tǒng)就順應(yīng)時(shí)代的發(fā)展出現(xiàn)了。
指紋與人體的其他生理特征相比具有采集簡單、處理成本低、終身不變、唯一性以及高度的可靠性等優(yōu)勢,同時(shí)指紋識別技術(shù)是當(dāng)前國家安全、ID管理、門禁系統(tǒng)以及考勤系統(tǒng)中比較常見的一項(xiàng)生物特征識別技術(shù),對于日??记谶@樣參與人數(shù)多、工作量大的系統(tǒng),指紋識別技術(shù)具有得天獨(dú)厚的優(yōu)勢并能取得良好的效果。
圖1 系統(tǒng)方框圖
以STC89C52單片機(jī)為核心器件,結(jié)合鍵盤電路、指紋識別模塊、液晶顯示屏、聲光報(bào)警電路、繼電器電路、掉電保存電路,利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的I/O端口,及其控制的準(zhǔn)確性通過軟件程序來控制整個(gè)系統(tǒng)實(shí)現(xiàn)指紋考勤系統(tǒng)的以下基本功能(本文以學(xué)生上課為例):默認(rèn)8位學(xué)號,可以添加學(xué)號;可以添加指紋、識別指紋、刪除指紋;實(shí)現(xiàn)一個(gè)學(xué)號對應(yīng)一個(gè)指紋;可以顯示所有缺勤人員的具體學(xué)號;可以顯示所有遲到人員的具體學(xué)號;可以有簡單的聲光報(bào)警電路;指紋簽到成功時(shí),液晶顯示出具體對應(yīng)的學(xué)號。
根據(jù)圖1所示的系統(tǒng)方框圖,有最小系統(tǒng)、指紋識別、液晶顯示模塊、矩陣鍵盤等模塊構(gòu)成,下面分別對主要模塊進(jìn)行介紹。
典型的C51系列單片機(jī)最小系統(tǒng)如圖2所示,包括:單片機(jī)、晶振電路、復(fù)位電路。
圖2 C51最小系統(tǒng)
本文采用的指紋識別模塊是集成的模塊。利用STC89C52單片機(jī)的唯一串口P31/TxD引腳連接指紋采集模塊的第2引腳Rx,P30/RxD引腳連接指紋采集模塊的第3引腳Tx,如圖3所示。查詢指紋模塊手冊,發(fā)送相關(guān)命令,實(shí)現(xiàn)指紋錄入、指紋識別、指紋清空等基本操作。
圖3 指紋采集電路
為節(jié)省C51單片機(jī)I/O空間,本文采用4×4的行、列結(jié)構(gòu)構(gòu)成的矩陣式鍵盤,如圖4所示。其鍵盤掃描方法,第一步:判斷鍵盤中有無鍵按下。將全部行線置低電平,然后檢測列線電平的狀態(tài),如果有一列為低電平,說明有鍵按下,若所有列線均為高電平,則鍵盤中無鍵按下。第二步:判斷閉合鍵所在的位置。在第一步確認(rèn)有鍵按下,再進(jìn)行第二步。具體方法是,所有的行線依次置某一行為低電平,再檢測各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。
圖4 按鍵電路圖
圖5 液晶顯示電路
C51單片機(jī)與LCD12864液晶,其連接方式有兩種,一種是并行通信,一種是串行通信。串行通信結(jié)構(gòu)簡單,占用I/O資源少,適合數(shù)據(jù)量少的通信情況。并行通信結(jié)構(gòu)復(fù)雜,占用I/O資源多,適合數(shù)據(jù)量大的通信情況。結(jié)合本文實(shí)際情況,采用了串行行方式,跟LCD12864液晶的通信端只需要用到2個(gè)I/O口,簡單方便。如圖5所示。
單片機(jī)的主程序?qū)崿F(xiàn)指紋模塊通信、驅(qū)動液晶顯示屏、獲取按鍵輸入、報(bào)警電路等程序,通過不同的功能按鍵,調(diào)用不同的功能函數(shù)實(shí)現(xiàn)具體的功能。主程序流程圖如圖6所示。
圖6 主程序
指紋識別模塊主要實(shí)現(xiàn):獲取指紋圖像、生成指紋特征模板、儲存指紋特征模板和匹配指紋等工作。本文采用R308進(jìn)行錄入和識別。指紋錄入用于新用戶的注冊,是指當(dāng)有新用戶需要注冊時(shí),先在指紋頭處獲取用戶的指紋圖像,然后生成指紋特征模板,再將生成的特征模板存儲到片內(nèi)/外的ROM里。如圖7(a)所示。指紋識別過程與指紋錄入前半段相似,先獲取指紋圖像和特征識別(與指紋錄入相同),然后與預(yù)先錄入的指紋庫中特征對比,若對比成功,則返回對應(yīng)指紋的ID,若對比失敗,則返回失敗。如圖7(b)所示。
從鍵盤輸入學(xué)號,并查詢已存儲的學(xué)號,如若不存在,學(xué)號錄入有效,同樣,錄入指紋信息,最后并把學(xué)號與指紋信息關(guān)聯(lián)起來。這樣才算一個(gè)完整的人員信息錄取完成。錄取信息流程如圖8所示。
圖7
圖8 錄取信息流程
基于以上原理,通過軟硬件設(shè)計(jì)、焊接、調(diào)試,最后設(shè)計(jì)出來的結(jié)果達(dá)到預(yù)設(shè)的目標(biāo)要求,這樣整一個(gè)過程下來,對51單片機(jī)以及一些基本的電路原理有了更充分的認(rèn)識和理解,從這個(gè)實(shí)踐中更能夠跟理論知識結(jié)合起來。
圖9 實(shí)物展示圖
* [1]康華光.電子技術(shù)基礎(chǔ)模擬部分(第四版)[M].北京:高等教育出版社,1999.
* [2]譚浩強(qiáng).C語言設(shè)計(jì)(第三版)[M].北京:清華大學(xué)出版社,2005.
* [3]郭天祥.新概念51單片機(jī)C語言教程[M].北京:電子工業(yè)出版社,2009.