朱高中
(渭南師范學(xué)院物理與電氣工程學(xué)院,陜西渭南714000)
IC卡考勤系統(tǒng)設(shè)計(jì)
朱高中
(渭南師范學(xué)院物理與電氣工程學(xué)院,陜西渭南714000)
IC卡考勤管理系統(tǒng)是基于IC卡對員工基本信息進(jìn)行管理的,設(shè)計(jì)出了一種對人員考勤監(jiān)控的系統(tǒng).其中包括信息初始值設(shè)置部分、數(shù)碼管顯示電路、復(fù)位電路、接觸式IC卡模塊電路等.通過接觸式IC卡模塊對員工的基本信息進(jìn)行寫入與讀出,并利用矩陣鍵盤對員工初始信息進(jìn)行設(shè)置,根據(jù)不同的出勤情況在數(shù)碼管上進(jìn)行不同的顯示.該設(shè)計(jì)具有操作簡單、成本較低即可實(shí)現(xiàn)員工出勤的考勤情況,方便企業(yè)的管理等優(yōu)點(diǎn).經(jīng)過測試,本系統(tǒng)可以顯示員工的基本信息.
接觸式IC卡;單片機(jī)AT89S52;數(shù)碼管SM420364
考勤作為一個單位的基礎(chǔ)管理,越來越受到重視.傳統(tǒng)考勤可分為兩種:第一種,人工考勤.人工考勤靠專人書面登記,往往存在許多主觀、人為因素,最終不能令管理層取得真實(shí)的考勤結(jié)果資料,甚至不能起到基本的約束作用;第二種,機(jī)械打卡鐘.使用機(jī)械打卡鐘,作為管理層有兩種管理模式:
(1)管理層不需取得考勤報(bào)表,只臨時抽查個別員工的打卡卡片,難免會疏漏,使員工產(chǎn)生僥幸心理;
(2)管理層要求取得考勤報(bào)表,加強(qiáng)各項(xiàng)管理,采用這種管理模式則需靠專人收集考勤記錄,手工匯總錄入計(jì)算機(jī),則往往存在錄入環(huán)節(jié)出錯、考勤資料不真實(shí)、人力資源的浪費(fèi)、效率低下、報(bào)表反映不及時等問題.
本設(shè)計(jì)IC卡刷卡考勤管理系統(tǒng)就能解決傳統(tǒng)考勤中出現(xiàn)的上述問題,通過接觸式IC卡系統(tǒng)將員工信息收集、并顯示在數(shù)碼管上.其主要優(yōu)點(diǎn)是使用方便、價(jià)格較低.本系統(tǒng)基本滿足了考勤管理客觀、準(zhǔn)確的需求,具有一定的實(shí)用性.
IC卡考勤系統(tǒng)的組成方框圖如圖1所示,它的主要組成部分有:信息初始值設(shè)置部分、數(shù)碼管顯示電路、AT89S52單片機(jī)模塊、接觸式IC卡模塊電路等.其中,中心芯片配置為AT89S52單片機(jī)、數(shù)碼管顯示電路和接觸式IC卡模塊電路.IC卡考勤系統(tǒng)的總體框圖如下:
圖1 IC卡考勤系統(tǒng)總體框圖
該部分電路與單片機(jī)的 P3.0、P3.1、P3.2、P3.3、P3.4、P3.5、P3.6、P3.7 相連,用于對員工初始信息的設(shè)置.該模塊主要由4×4矩陣鍵盤組成,可對員工基本信息進(jìn)行方便快捷地處理,可以對員工加班、遲到、缺勤、請假等情況進(jìn)行考勤.
圖2 信息初始值設(shè)置模塊原理圖
數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類.
1)靜態(tài)顯示驅(qū)動:靜態(tài)驅(qū)動也稱直流驅(qū)動.靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機(jī)的I/O端口進(jìn)行驅(qū)動,或者使用如BCD碼二至十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動.靜態(tài)驅(qū)動的優(yōu)點(diǎn)是編程簡單、顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來驅(qū)動,一個AT89S52單片機(jī)可用的I/O端口才32個,實(shí)際應(yīng)用時必須增加譯碼驅(qū)動器進(jìn)行驅(qū)動,增加了硬件電路的復(fù)雜性[2].
2)動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8 個顯示筆劃“a,b,c,d,e,f,g,dp”的同名端連在一起,另外為每個數(shù)碼管的公共極 COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是哪個數(shù)碼管會顯示出字形,取決于單片機(jī)對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮.通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動.在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1ms—2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低.通過一個7位的二進(jìn)制電平信號可以顯示出想要的結(jié)果.例如,點(diǎn)亮二極管 b、c,數(shù)碼管將會顯示數(shù)字 1,點(diǎn)亮 a、b、c、d、e、f、g,數(shù)碼管將會顯示數(shù)字0.所以,數(shù)碼管的顯示需要有7根連線.每個數(shù)字對應(yīng)的二進(jìn)制碼如表1所示.
數(shù)碼管顯示電路的硬件原理圖如3所示:
圖3 數(shù)碼管顯示電路的硬件原理圖
表1 顯示數(shù)字對應(yīng)的二進(jìn)制電平信號
接觸式IC卡模塊主要調(diào)用IC卡寫入程序,實(shí)現(xiàn)IC卡的參數(shù)寫入,并將寫入的信息顯示于數(shù)碼管上.IC卡寫入、讀取程序采用結(jié)構(gòu)體成員函數(shù)設(shè)計(jì),考勤管理采用死循環(huán)不斷地檢測IC卡狀態(tài)、讀取IC卡信息,并通過數(shù)碼管顯示.當(dāng)SW端為低電平時,代表有IC卡插入,進(jìn)而開始對員工開始考勤.[2-3]
接觸式IC卡電路的硬件原理圖如4所示:
圖4 接觸式IC卡模塊原理圖
接觸式IC卡各個管腳的功能如表2所示:
該模塊主要有電阻、電容及按鍵開關(guān)組成,單片機(jī)在啟動時都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作.AT89S52單片機(jī)的復(fù)位信號是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的.當(dāng)系統(tǒng)處于正常工作狀態(tài),且振蕩器穩(wěn)定后,如果RST引腳上有一個高電平并維持2個機(jī)器周期以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位.此復(fù)位電路RST端和正電源Vcc之間接一個按鈕.當(dāng)按下按鈕時,則Vcc的+5V電平就會直接加到RST端.單片機(jī)復(fù)位電路要求有一個持續(xù)時間,加上電容可以使其兩端電壓不能突變.
表2 接觸式IC卡管腳功能
IC卡考勤系統(tǒng)的程序流程圖如圖5所示.程序基本執(zhí)行過程:給硬件開始上電后,系統(tǒng)進(jìn)行初始化設(shè)置,數(shù)碼管顯示為“0000”.對員工的基本信息進(jìn)行預(yù)置,當(dāng)系統(tǒng)掃描到有卡插入時且公司代碼為123時,對此員工的個人信息進(jìn)行顯示,當(dāng)公司代碼不是123時,數(shù)碼管顯示“9999”[4-5].
通過行列鍵盤掃描的方法確定輸入的鍵值,具體過程:(1)查詢是否有鍵按下.單片機(jī)向行掃描口P3口高四位輸出全為“0”的掃描碼,然后從列檢測口P3口低四位檢測信號,只要有一列信號不為“1”,則表示有鍵按下,且不為“1”的列即對應(yīng)為按下鍵所在的行.
(2)查詢按下鍵所在的行、列位置.前面已經(jīng)取得了按下鍵的行號,接下來要確定鍵所在的列,單片機(jī)向行掃描口P3口低四位輸出全為“0”的掃描碼,將行掃描后P3口的結(jié)果與列掃描后P3口的結(jié)果相與.相與的結(jié)果就是所按下鍵的代碼值.
(3)對得到的行號和列號譯碼,得到鍵值.對于4×4的行列式鍵盤,因?yàn)榘存I的位置由行號和列號惟一確定,且行列各4位,所以用一個字節(jié)(8位)就可以對鍵值進(jìn)行編碼.
(4)消抖電路.因?yàn)椴僮髡甙聪禄蛩砷_按鍵時會產(chǎn)生機(jī)械抖動,所以要設(shè)置消抖處理電路.處理方法可以用硬件電路來實(shí)現(xiàn),也可以用軟件延時方法來實(shí)現(xiàn).本設(shè)計(jì)采用軟件延時方法來消除按鍵的抖動,一旦發(fā)現(xiàn)有鍵按下,就延時10ms以后再測按鍵的狀態(tài).這樣就避開按鍵發(fā)生抖動的那一段時間,使CPU能可靠地讀按鍵狀態(tài).在編制鍵盤掃描程序時,只要發(fā)現(xiàn)按鍵狀態(tài)有變化,即無論是按下還是松開,程序都應(yīng)延時10ms以后再進(jìn)行其它操作.
對于數(shù)碼管動態(tài)掃描顯示方式原理,如要在數(shù)碼管上顯示“2009”時,先在字段位上選通a、b、d、e和g端,即讓P0口輸出0xb5,同時該位的位選端9腳選通,在數(shù)碼管的千位上顯示“2”,然后系統(tǒng)又以極快的速度中止對9腳的選通,同時將要顯示的“0”對應(yīng)的字段位a、b、c、d、e和f位選端10腳選通,顯示“0”字,如此同理知道個位顯示“9”,然后又從千位開始循環(huán)導(dǎo)通.由于我們?nèi)搜鄣囊曈X停留效果在數(shù)碼管上看到的將會是一個靜態(tài)的“2009”.當(dāng)有IC卡插入后,SW端為低電平,對IC卡進(jìn)行復(fù)位操作后,將顯示個人信息,完成后返回到主程序,繼續(xù)鍵盤掃描部分;如果SW端為高電平,則表示沒有IC卡插入,返回到掃描程序[6].
圖5 IC卡考勤系統(tǒng)主程序流程圖
在對電路進(jìn)行實(shí)驗(yàn)調(diào)試時,VCC直接由計(jì)算機(jī)USB接口提供,接通電源后,在開始時系統(tǒng)自動通過復(fù)位電容實(shí)現(xiàn)開機(jī)瞬時自動復(fù)位,當(dāng)在實(shí)驗(yàn)過程中需要系統(tǒng)復(fù)位時,可按復(fù)位鍵進(jìn)行手動復(fù)位操作.
給單片機(jī)加載如下程序:
數(shù)碼管顯示“8888”,說明數(shù)碼管和單片機(jī)連接正常且顯示功能正常.加載鍵盤掃描程序測試鍵盤和單片機(jī)的連接,結(jié)果正常.插入IC卡后,數(shù)碼管可以正常的顯示員工個人信息.硬件電路完成后,對員工個人信息進(jìn)行預(yù)置,并針對不同的情況,通過鍵盤對員工的個人信息進(jìn)行改變,本設(shè)計(jì)基本都能正常的顯示員工的出勤情況,并且具有較好可交互式.通過多次測試,本設(shè)計(jì)符合設(shè)計(jì)要求,能比較真實(shí)地反映情況.
本設(shè)計(jì)IC卡考勤系統(tǒng)的設(shè)計(jì)初衷是為了實(shí)現(xiàn)員工出勤的考勤情況,方便企業(yè)的管理.在本設(shè)計(jì)中,所用到的器件都是比較常用的,如電阻、二極管、三極管、電容、數(shù)碼管等.該考勤系統(tǒng)結(jié)構(gòu)簡單,成本較低,安全性高,用戶界面的可交互性好,具有較高的實(shí)用價(jià)值.如果將數(shù)碼管顯示改為液晶顯示,效果會更佳,適于廣泛推廣和進(jìn)一步開發(fā),具有比較好的市場前景.
[1]于永.51單片機(jī)實(shí)例精講[M].北京:電子工業(yè)出版社,2008.94-97.
[2]趙升,謝文彬,高猛.基于無線網(wǎng)絡(luò)的非接觸式IC卡考勤系統(tǒng)的設(shè)計(jì)[J].電子測量技術(shù),2010,33(11):110-113.
[3]李民權(quán),高順利,吳先良.遠(yuǎn)距離非接觸IC卡考勤系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn)[J].安徽大學(xué)學(xué)報(bào)(自然科學(xué)版),2003,27(3):63-67.
[4]彭小峰,張里.基于非接觸IC卡考勤管理信息系統(tǒng)設(shè)計(jì)[J].重慶工學(xué)院學(xué)報(bào)(自然科學(xué)版),2008,22(10):161-165.
[5]劉梅,李正平,徐超.非接觸式IC卡考勤系統(tǒng)的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2007,240(1):147-149.
[6]馮洋.基于 AT89C52 的水溫控制系統(tǒng)[J].渭南師范學(xué)院學(xué)報(bào),2010,25(2):49-52.
Design and Implementation of IC Card System
ZHU Gao-zhong
(School of Physics and electronic engineering,Weinan Teachers University,Weinan 714000,China)
IC card attendance management system,based on the basic information of the staff in IC card to manage,is the design of a monitoring system on staff attendance,including setting part of information of the initial value,digital control circuit,reset circuit,contactless IC card module circuit.Based on the basic information on the staff written and read in the contact IC card module,and the information matrix keyboard to set the initial employees,depending on the attendance there will be a different display in the digital control.The design is simple,low cost,effective to the staff attendance and convenient to facilitate enterprise management.After testing,the system can display basic information about employees.
integrated circuit(IC)card;AT89S52;LCD SM420364
TP273+.5;TN409
A
1009—5128(2011)12—0068—05
2011—04—26
陜西省教育廳科研計(jì)劃項(xiàng)目(2010JK533);渭南師范學(xué)院研究生專項(xiàng)項(xiàng)目(09YKZ017)
朱高中(1980—),男,河南周口人,渭南師范學(xué)院物理與電氣工程學(xué)院講師,工學(xué)碩士.研究方向:信號處理、小波分析、電能控制.
[責(zé)任編輯 馬小俠]