基于單片機(jī)的課堂簽到系統(tǒng)設(shè)計與實現(xiàn)
文章出處:http://m.botanicstilllife.com 作者:雷金莉,張 偉,李永博 人氣: 發(fā)表時間:2011年11月18日
目前大多數(shù)高校里,大都采用大班(合班)上課,統(tǒng)計學(xué)生出勤成了教師的一大難題。針對這一問題,設(shè)計了一個課堂簽到系統(tǒng),以減輕教師的負(fù)擔(dān),提高上課效率。
1 系統(tǒng)設(shè)計思想
課堂簽到系統(tǒng)采用插卡的方法,系統(tǒng)的組成結(jié)構(gòu)圖如圖1 所示。其中卡可以采用一些廢舊的電話卡或其它卡來制作。根據(jù)學(xué)生的學(xué)號在卡上打上與其對應(yīng)的二進(jìn)制的孔,利用光電傳感器,將卡號轉(zhuǎn)化為學(xué)號,送入單片機(jī)進(jìn)行識別、存儲和顯示,完成學(xué)生的簽到。另外,系統(tǒng)中還設(shè)置了顯示未到學(xué)生學(xué)號的功能。
2 系統(tǒng)硬件設(shè)計
課堂簽到系統(tǒng)的硬件部分可分為三大部分,即插卡部分、存儲部分和顯示部分。其中,插卡部分通過自制光電傳感器來實現(xiàn)卡號的采集,存儲部分采用常用的SRAM6264 來實現(xiàn),顯示部分采用單片機(jī)的串口驅(qū)動LED 數(shù)碼管。本系統(tǒng)設(shè)計中,單片機(jī)采用ATMEL 公司的AT89C51 單片機(jī),它是一種低功耗、高速的八位CMOS 芯片,片內(nèi)含有4 KB Flash ROM ,128 字節(jié)RAM ,工作電壓范圍為2 .7 ~ 6 V(實際使用+ 5 V 供電) ,32 條I/O 線,2 個16 位定時/計數(shù)器和5 個中斷源等資源。可以很方便的實現(xiàn)鍵盤、顯示、A/D 轉(zhuǎn)換、D/A 轉(zhuǎn)換以及控制輸出接口。
2 .1 插卡電路
插卡電路通過自制光電傳感器實現(xiàn)。為了節(jié)省成本,本系統(tǒng)中采用發(fā)光二極管和普通光敏二極管構(gòu)成了光電傳感器電路,電路圖如圖2 所示。由八個高亮發(fā)光二極管、普通光敏二極管和電阻構(gòu)成簡單的光電傳感器。發(fā)光二極管和光敏二極管成對相向橫裝在有機(jī)玻璃插槽孔中。學(xué)生手持簽到卡上的預(yù)制孔與此插槽孔位置對應(yīng),用卡片上預(yù)制孔的組合形態(tài)構(gòu)成二進(jìn)制編碼(卡碼) 。電路中反向連接的光敏二極管與排阻用來產(chǎn)生單片機(jī)可識別的二進(jìn)制代碼,分壓電線與單片機(jī)P1 口八線相連。經(jīng)測試,在普通室內(nèi)燈光環(huán)境下,對應(yīng)無光照和有光照2 種情況,分壓點處的電壓變化分別在0 .2 V 以下和4 .6 V 以上,滿足單片機(jī)I/O 口的高低電平需要。
2 .2 存儲器電路
存儲器部分采用SRAM6264 芯片實現(xiàn),6264是8K8 位的靜態(tài)數(shù)據(jù)存儲器芯片,該芯片與51單片機(jī)的連接電路簡單,易于實現(xiàn),存儲空間最多可以存放8000 個學(xué)號,足以滿足該系統(tǒng)的要求。電路如圖3 所示。
2 .3 顯示電路
顯示電路在學(xué)生簽到時顯示簽到的學(xué)號,并在簽到完成之后,循環(huán)顯示未到學(xué)生的學(xué)號。學(xué)生的學(xué)號通常只有后三位不同,所以本系統(tǒng)采用三位LED 數(shù)碼管來顯示,顯示接口是通過擴(kuò)展單片機(jī)的串行口來實現(xiàn)。采用8 位串入并出的移位寄存器74LS164 擴(kuò)展了三個級聯(lián)8 位并行輸出口,如圖4 所示。74LS164 的A 、B 為串行數(shù)據(jù)輸入端(RXD) ;Q0 ~ Q7 為并行數(shù)據(jù)輸出端;CLK為同步時鐘輸入端(TXD) ,為清除端;220 Ω 電阻為對應(yīng)LED 的限流電阻。
3 系統(tǒng)軟件設(shè)計
課堂簽到系統(tǒng)是在應(yīng)用程序軟件控制下實現(xiàn)學(xué)生簽到功能。本系統(tǒng)軟件采用模塊化結(jié)構(gòu)編制,系統(tǒng)控制軟件主要包括:主程序、LED 顯示子程序、讀卡和識別子程序、存儲學(xué)號子程序以及缺席者學(xué)號顯示子程序,主程序流程圖如圖5 所示。缺席者學(xué)號的顯示采用中斷方式實現(xiàn),中斷信號來源于外部事件的觸發(fā),在本系統(tǒng)中設(shè)計了一個開關(guān),作為顯示未到學(xué)生學(xué)號的中斷信號,當(dāng)開關(guān)閉合時,循環(huán)顯示缺席者的學(xué)號,中斷服務(wù)程序的流程圖如圖6 所示。
本簽到系統(tǒng)制作成敗的關(guān)鍵是卡碼與學(xué)號能否一一對應(yīng)。在編制中,要想方便快捷的得到與卡碼對應(yīng)的學(xué)號使用查表的方法是當(dāng)然的選擇。一般講,八位二進(jìn)制代碼可以確定256 種 狀態(tài),去除全零這個無效態(tài)則最多可以用于總?cè)藬?shù)為255 個這對于一般的合班上課足夠了。
4 結(jié)論
本系統(tǒng)已經(jīng)完成實驗調(diào)試,并能穩(wěn)定運行。一次最多可考勤255 人。使用確定人數(shù)和學(xué)校統(tǒng)一學(xué)號時,需提前在單片機(jī)中預(yù)置。若教學(xué)班自行編號,則卡碼與片內(nèi)編碼一致,無需更改,可多班級﹑長期反復(fù)使用。學(xué)生手持的卡片(簽到卡)沒有特殊要求,手頭的廢舊卡片(如電信卡)即可。廢物利用,既不用學(xué)生花一分錢,又符合綠色環(huán)保的設(shè)計理念。該系統(tǒng)的硬件電路簡單,所用的電子器件較少,故成本很低。