唐緒松 魏冬冬(北京理工大學(xué)宇航學(xué)院,北京 100081)
?
基于AT89S51單片機(jī)的自習(xí)室管理系統(tǒng)
唐緒松 魏冬冬
(北京理工大學(xué)宇航學(xué)院,北京 100081)
摘 要:本文以AT89S51單片機(jī)為核心,設(shè)計(jì)了一個(gè)自習(xí)室管理系統(tǒng),以幫助學(xué)生快速有效地選擇自習(xí)教室,使得學(xué)校教室資源可以得到合理高效地利用。教室部分系統(tǒng)作為基本主題,通過(guò)紅外計(jì)數(shù)、按鍵等方式對(duì)教室狀態(tài)進(jìn)行采集判斷,然后采用有線通信方式與上位機(jī)進(jìn)行通信,具有體積小、效率高、成本低、結(jié)構(gòu)簡(jiǎn)單和可靠性強(qiáng)的優(yōu)點(diǎn)。
關(guān)鍵詞:AT89S51;單片機(jī);紅外計(jì)數(shù);自習(xí)室管理系統(tǒng)
學(xué)校的空閑教室是學(xué)生們最喜歡用于上自習(xí)的地方,在教室自習(xí)雖然避免了下課后去圖書(shū)館找座的時(shí)間浪費(fèi)。但是,由于每間教室分配的教學(xué)任務(wù)不同,其使用的時(shí)間和狀況也不同,所以想要在自己上課的教學(xué)樓找到一個(gè)空閑的教室也不是一件容易的事。
通過(guò)采用單片機(jī)控制的自習(xí)室管理系統(tǒng),可以簡(jiǎn)單有效地解決上述問(wèn)題,方便學(xué)生快速有效地找到合適的自習(xí)教室。通過(guò)單獨(dú)置于的教室的子系統(tǒng)對(duì)當(dāng)前教室的使用情況和使用人數(shù)進(jìn)行記錄,然后在教學(xué)樓相應(yīng)的區(qū)域進(jìn)行顯示。這樣,學(xué)生可以通過(guò)系統(tǒng)顯示的內(nèi)容在其所處的教學(xué)樓內(nèi)進(jìn)行自習(xí)室的選擇,大大節(jié)省了盲目找座的時(shí)間,對(duì)教室資源的高效使用也有很大的意義。
本系統(tǒng)主要包含兩個(gè)主體部分:教室單元和大廳單元(即總顯示部分)。系統(tǒng)的工作流程如下:
每個(gè)教室的使用狀態(tài)有“上課中”、“自習(xí)(人少)”和“自習(xí)(人多)”3種。現(xiàn)用3種不同顏色的LED燈表示當(dāng)前教室狀態(tài):紅色代表“上課中”;綠色代表“自習(xí)(人少)”;黃色代表“自習(xí)(人多)”。單片機(jī)通過(guò)對(duì)當(dāng)前教室信息進(jìn)行判斷,并且實(shí)時(shí)將教室信息用LED燈表示,并且在本樓層進(jìn)行顯示。每個(gè)教室的使用信息數(shù)據(jù)由單片機(jī)通過(guò)有線通信的方式向上一級(jí)發(fā)送,然后位于大廳的單片機(jī)讀取各個(gè)樓層教室的使用數(shù)據(jù)并且點(diǎn)亮大廳的教室使用狀態(tài)燈。
各模塊間的關(guān)系如圖1所示。
圖1
自習(xí)室管理系統(tǒng)的主要部分是對(duì)教室的狀態(tài)信息進(jìn)行采集與判斷,這里采用單片機(jī)作為控制中心。和51系列單片機(jī)兼容。片內(nèi)的存儲(chǔ)器允許在線重新編程或用常規(guī)的非易失性存
圖2
AT89S51是一種低功耗高性能的8位單片機(jī),片內(nèi)帶有一個(gè)4KB的Flash在線可編擦除只讀存儲(chǔ)器,它采用了CMOS工藝和ATMEL公司的高密度非易失性存儲(chǔ)器技術(shù),而且其輸出引腳和指令系統(tǒng)儲(chǔ)器編程器來(lái)編程。同時(shí)已具有三級(jí)程序存儲(chǔ)器保密的性能。在眾多的51系列單片機(jī)中,要算ATMEL公司的AT89S51更實(shí)用,因?yàn)樗粌H和MCS-51系列單片機(jī)指令、管腳完全兼容,而且它將通用CPU和在線可編程Flash集成在一個(gè)芯片上。AT89S51單片機(jī)對(duì)開(kāi)發(fā)設(shè)備的要求很低,開(kāi)發(fā)時(shí)間也大大縮短,方便使用。
2.1 教室單元設(shè)計(jì)
2.1.1 教室人數(shù)
對(duì)于自習(xí)室的使用來(lái)說(shuō),并不需要精確知道每個(gè)教室當(dāng)前有多少人,因此采用紅外對(duì)管的方式對(duì)教室人數(shù)進(jìn)行計(jì)算,原理如圖2所示。
將兩組紅外線發(fā)射接收對(duì)管安裝在圖2中所示的墻壁上,外側(cè)的紅外線發(fā)射接收對(duì)管的位置為P1,內(nèi)側(cè)的位置為P2,這里P1的P2之間需要有一定的間隔距離。此時(shí)根據(jù)P1和P2的觸發(fā)順序可以有兩種情況:P1先觸發(fā),P2后觸發(fā);P2先觸發(fā),P1后觸發(fā)。前者表示有人進(jìn)入教室,這時(shí)總?cè)藬?shù)加1,后者表示有人離開(kāi)教室,此時(shí)總?cè)藬?shù)減1。
計(jì)數(shù)過(guò)程流程圖如圖3所示,其中Pa=1代表位置P1處的紅外線發(fā)射接收對(duì)管被觸發(fā),Pb=1代表位置P2處的紅外線發(fā)射接收對(duì)管被觸發(fā)。
部分計(jì)數(shù)代碼如下:
MOV 20H,#0 // 清零
MAIN:MOV A,P1.0
ORL A,P1.1
MOV 45H,A
JNB 45H,MAIN
JNB P1.0,D1
JNB P1.1,MAIN
INC 20H //滿足進(jìn)入條件,加1
SJMP MAIN
D1:JNB P1.1,MAIN
JNB P1.0,MAIN
DEC 20H //滿足離開(kāi)條件,減1
SJMP MAIN
2.1.2 教室狀態(tài)
每個(gè)教室的使用狀態(tài)有“上課中”、“自習(xí)(人少)”和“自習(xí)(人多)”3種?,F(xiàn)用3種不同顏色的LED燈表示當(dāng)前教室狀態(tài):紅色代表“上課中”;綠色代表“自習(xí)(人少)”;黃色代表“自習(xí)(人多)”。上課狀態(tài)由控制按鍵決定,按鍵按下表示處于“上課中”,否則處于“自習(xí)”狀態(tài)。
取教室容量為A,當(dāng)前教室學(xué)生數(shù)為B,考慮到一般自習(xí)教室的自習(xí)人數(shù)大約為教室容量A的80%,因此可令教室容量A的70%作為判斷教室容量狀態(tài)的標(biāo)志:在自習(xí)狀態(tài)下,若B>70%A,則亮黃燈,否則亮綠燈。
2.1.3 數(shù)據(jù)收發(fā)
通過(guò)有線通信的方式實(shí)現(xiàn)AT89S51單片機(jī)與上位機(jī)的數(shù)據(jù)收發(fā)。給每個(gè)教室分配不同的端口地址。由于自習(xí)教室人員流動(dòng)情況較小,單片機(jī)與服務(wù)器的通信頻率采用當(dāng)有新數(shù)據(jù)需要傳送時(shí)進(jìn)行通信,以降低系統(tǒng)的資源占用,提高系統(tǒng)的使用效率。
2.1.4 教室系統(tǒng)設(shè)計(jì)
考慮到實(shí)際應(yīng)用情況,采用AT89S51單片機(jī)的中斷系統(tǒng)對(duì)是否上課進(jìn)行判斷,當(dāng)中斷未出現(xiàn)時(shí),單片機(jī)繼續(xù)監(jiān)控學(xué)生出入,當(dāng)“上下課”中斷產(chǎn)生時(shí),單片機(jī)跳出主程序,優(yōu)先執(zhí)行中斷,實(shí)現(xiàn)教室狀態(tài)信息燈的控制。具體設(shè)計(jì)流程如圖4所示。
由AT89S51單片機(jī)的P3.2引腳引入外部中斷INT0,外部中斷源INT0為低電平有效,當(dāng)P3.2引腳輸入低電平時(shí),單片機(jī)相應(yīng)該中斷,執(zhí)行相應(yīng)的中斷處理子程序。
部分主要代碼如圖5所示。
需要說(shuō)明的是,跳出執(zhí)行的中斷處理子程序的功能只負(fù)責(zé)修改狀態(tài)燈的亮滅情況,不對(duì)計(jì)數(shù)器進(jìn)行任何操作。
2.2 大廳單元設(shè)計(jì)
放置在大廳的是系統(tǒng)的總顯示系統(tǒng),用于集中顯示各教室的使用狀況。通過(guò)一片AT89S51單片機(jī)接收下級(jí)系統(tǒng)發(fā)送的狀態(tài)信息,并且由特定的端口地址取出對(duì)應(yīng)教室的使用狀況數(shù)據(jù),點(diǎn)亮對(duì)應(yīng)狀態(tài)指示燈。
圖3
圖4
圖5
本文所設(shè)計(jì)的系統(tǒng)具有體積小、效率高、成本低、結(jié)構(gòu)簡(jiǎn)單和可靠性強(qiáng)的優(yōu)點(diǎn)。通過(guò)安裝該系統(tǒng),可以使高校的教室得到更加合理地利用,提高資源的利用率,避免了教室的空置和浪費(fèi)。對(duì)于學(xué)生來(lái)說(shuō),該系統(tǒng)提供的教室信息也便于其快速有效地選擇自習(xí)教室,從而避開(kāi)上課教室和自習(xí)人多的教室,大大減少了時(shí)間的浪費(fèi)。相較于其他單片機(jī)來(lái)說(shuō),AT89S51具有價(jià)格低廉、功能強(qiáng)大的特點(diǎn),因此,基于AT89S51單片機(jī)的該系統(tǒng)容易得到接受與推廣,具有很高的實(shí)用價(jià)值。
參考文獻(xiàn)
[1]蘭建軍,潘鳳紅.圖書(shū)館閱覽室座位信息管理系統(tǒng)[J].科技信息,2007(34):608-623.
[2]劉大杰.基于單片機(jī)和紅外接近開(kāi)關(guān)的圖書(shū)館座位管理系統(tǒng)[J].電子工程師,2006,32(5):73-75.
[3]周興華.單片機(jī)智能化產(chǎn)品C語(yǔ)言設(shè)計(jì)實(shí)例詳解[M].北京:北京航空航天大學(xué)出版社,2006.
[4]范洪剛,魏學(xué)海,任思璟.51單片機(jī)自學(xué)筆記[M].北京:北京航空航天大學(xué)出版社,2010.
[5]陳永甫.紅外探測(cè)與控制電路[M].北京:人民郵電出版社,2003.
中圖分類(lèi)號(hào):TM762
文獻(xiàn)標(biāo)識(shí)碼:A