鄭錦樂
摘要:對學生進行考勤是學校、老師了解學生上課、學習情況的一種重要途徑,傳統的簽到方式在高校這種考勤對象數量多的場合較為費時、費力。為此,本文基于51單片機技術以及非接觸式IC卡讀寫技術設計一款操作方便、成本低、體積小、便于攜帶的移動考勤機,使得在高校對學生的考勤更加容易、方便。
關鍵詞:考勤;便攜;51單片機
一、緒論:
大學學生人數較多,信息量較大,傳統的簽到、點名的考勤方式效率較低,難以滿足考勤需求。而IC卡成本低、刷卡快捷方便,且普遍大學校園的大學生都具備校園卡,無需再做額外的學生信息錄入工作。為此,本文將以STC89c52單片機為核心,加載IC卡讀取和USB傳輸端口模塊、時鐘模塊、鍵盤模塊等,設計一款便于攜帶、功能簡單、成本低且操作方便的非接觸式IC卡考勤機。通過對IC卡信息的讀取來獲取考勤信息,并能夠儲存、查看考勤信息,通過USB模塊將考勤信息傳輸至PC端。
二、考勤機設計方案
(一)明確考勤機功能
作為考勤機最基本的功能,需要能夠獲取學生身份信息以及考勤時間,并能夠儲存和查看考勤信息。此外,為長期保存和查看考勤數據,需要能夠與PC機進行通信、傳輸數據。
(二)設計方案
考勤機整體設計如圖1所示,由單片機、時鐘電路模塊、IC卡讀取模塊、存儲模塊、傳輸模塊、顯示模塊以及鍵盤模塊構成。由單片機為核心來控制各部分模塊,以實現考勤機所需功能。
三、考勤機硬件設計
(一)鍵盤模塊電路
根據考勤機的功能需求同時為節省體積,鍵盤模塊使用四個按鍵來控制考勤機的功能轉換以及作為各部分功能的操作鍵。鍵盤電路采用獨立鍵盤模式,掃描方式更加簡單,直接掃描單片機P3口便可知道哪個按鍵按下,鍵盤電路如圖2所示。
(二)存儲模塊
存儲模塊采用AT24c512存儲芯片來儲存所需的所有數據。AT24c512存儲芯片具有64k byte的存儲容量,使用I2C協議進行通信,能夠在同一組總線上同時接四片芯片。
此模塊使用兩片AT24c512芯片接在同一組總線上,一片用于儲存學生初始信息,一片用以儲存考勤信息。
(三)IC卡讀取模塊
IC卡讀取模塊選用高度集成非接觸式讀寫芯片MFRC522設計讀卡電路,MF RC522完全集成了在13.56MHz下所有類型的被動非接觸式通信方式和協議,模塊可采用UART模式與單片機進行通信,使用方便且成本低。
IC卡的選取直接使用學校的校園卡,每個學生的校園卡卡號是唯一的,無需再制作新卡。
(四)傳輸模塊
傳輸模塊是為了單片機下載程序及向計算機傳輸考勤數據而設計的。傳輸電路使用CH340G芯片來實現USB轉串口的功能。CH340G芯片正常工作時需外部提供時鐘信號,這里在XI、XO之間接入一個12MHz的晶振以提供時鐘信號,并分別為XI、XO引腳對地連接振蕩電容C4和C10;為防止電流倒灌問題,在CH340芯片發送引腳TXD上接一個反向二極管,在接收引腳RXD上加一個限流電阻。電路如圖3所示。
(五)顯示模塊
顯示模塊使用LCD1602液晶顯示器來完成顯示功能,LCD1602具有成本低、驅動簡單的特點。在考勤機讀卡時顯示IC卡的卡號以及刷卡時間,在未刷卡時顯示當時日期和時間,在考勤機與計算機通信時顯示通信狀態。電路連接如圖4所示。
(六)時鐘模塊
時鐘模塊使用DS1302實時時鐘芯片來為考勤機提供日期信息。DS1302可以提供秒、分、時、日、星期、月、年的時間信息,并具有閏年補償、每月天數自動補償功能。這里采用雙電源對DS1302供電,當主電源斷電時可由備用電源進行供電以保證DS1302的正常工作。具體電路如圖5所示。
四、單片機程序設計
(一)時鐘調節程序
日期與時間的調節由四個按鍵S2、S3、S4、S5配合完成,按鍵如鍵盤電路所示,S2選擇更改對象、S3為被更改量增加、S4為被更改量減少、S5為退出時鐘調節程序,程序流程如圖6所示。
(二)單片機主程序設計
單片機主程序實現識別模塊、時鐘模塊、顯示模塊、儲存模塊、傳輸模塊等各模塊的功能通過按鍵的配合進行相應的調用,從而實現考勤機所需的具體功能。主程序流程圖如圖7所示。
五、系統實現與結論
本文基于單片機原理、非接觸式IC卡讀寫原理設計的考勤機方案通過PCB版制作、軟硬件調試,最終設計結果能夠實現校園考勤的基本要求,同時具備成本低,體積小,便于攜帶,考勤方便、快捷的特點。
參考文獻:
[1]占華林, 徐江韜, 胡予婧. 基于C51單片機考勤機設計[J]. 電子制作, 2017(21):18-20.
[2]張鳳濤. 基于單片機技術的非接觸式IC卡考勤機設計研究[J]. 河南科技, 2013(1):15-15.
[3]梁芳. 基于51單片機的考勤系統的設計與實現[J]. 電子技術與軟件工程, 2016(7):252-252.