郭悅,夏琬嬌,段昱臻
(燕京理工學院,河北廊坊,065000)
隨著計算機技術的不斷發(fā)展,統(tǒng)計器的應用也越來越廣泛[1-4]。由于圖書館學習的同學很多,尤其每每到復習周的時候,座位成了炙手可熱。由于圖書館座位不可提前占座,學生們需要當天去占用,由于復習周學習人數暴增,可能出現進入圖書館閱覽室辛苦找了半天,卻沒有座位,這就很耽誤復習時間。如果能在圖書館入口及每個閱覽室門口一款實時圖書館人數統(tǒng)計器顯示現有人數,方便查看以便節(jié)省時間。
本系統(tǒng)設計可以實現以下功能:可以統(tǒng)計圖書館閱覽室進入與出去的人數而且設置上限人數以防止人數太多發(fā)生擁擠,實時顯示圖書館閱覽室的總人數。系統(tǒng)并且?guī)в星辶銖臀还δ?,按下清零按鍵后清除當前統(tǒng)計的人數,并且重新計數,并顯示液晶屏幕上。本設計的按鍵模塊帶有設置上限人數按鍵以及設置人數加減鍵,同時帶有超過上限人數時由蜂鳴器與發(fā)光二極管的聲光報警模塊。
本設計的整體方案為:根據系統(tǒng)功能需求,選擇紅外傳感器作為人數的監(jiān)測模塊,將圖書館閱覽室門口分為入口和出口兩個通道,將紅外傳感器放置于的兩通道的側邊,一側的通道檢測出去的人數,另一側的通道檢測進入的人數,當有人通過兩側的通道時遮擋紅外傳感器發(fā)射端,紅外傳感器接收端輸出電平由高為低,由電平變化反映到單片機中從而單片機發(fā)出指令,對所統(tǒng)計的人數的數據進行加減從而顯示進來J與出去人數C,同時實時統(tǒng)計室內的總人數Z。同時選用LCD1602液晶顯示屏作為顯示模塊,將檢測到的人數統(tǒng)計顯示出來。通過按鍵模塊進行上限人數的設置。當人數統(tǒng)計達到上限人數時,選用的是蜂鳴器二極管構成的聲光報警模塊,進行報警提示。本設計的核心控制模塊是AT89C52單片機,控制整體運行與各模塊協(xié)調工作,系統(tǒng)整體模塊設計圖如圖1所示。
圖1 整體模塊設計圖
該系統(tǒng)由主控模塊AT89C52單片機,按鍵模塊S2、S3、S4,LCD1602液晶顯示屏顯示模塊,紅外傳感器的人數檢測模塊,蜂鳴器與發(fā)光二極管的聲光報警模塊。
主控模塊在整體設計中占據重要地位,起到對其余各個模塊的控制和協(xié)調功能。采用AT89C52單片機芯片作為主控模塊[5]。8位I/O接口P0-P3,與本設計外部的器件進行通信與控制,兩個計數器,可以實現本設計的計數功能。引腳說明:時鐘電路引腳:XTAL1(19腳)和XTAL2(18腳),由于選用外部時鐘,因此XTAL1(19腳)接地。復位電路中:控制信號引腳RST(9腳):高電平信號輸入可以復位。ALE/PROG(30腳):地址鎖存信號端懸空。 以及PSEN(29腳):可以作為讀取存儲器的選通端。輸入/輸出端口P0/P1/P2/P3:P0口(P0.0~P0.7,32~39腳)和P1口(P1.0~P1.2,1~3腳)接顯示模塊LCD1602液晶顯示屏作為輸出單片機指令。P2口(P2.0~P2.1,21~22腳)接紅外傳感器使檢測到進入與出去的人數作為輸入到單片機。P3口(P3.5~P3.7,15~17腳)接按鍵模塊中,P3.5:T1 計數器接設置上限人數按鍵S2。P3.6:外部數據存儲寫選通接按鍵S3上限人數加一。P3.7:外部數據存儲讀選通接按鍵S4上限人數減一。單片機最小系統(tǒng)是由AT89C52單片機、上拉電阻P1、復位電路、時鐘電路組成[6]。如圖2所示。
圖2 單片機最小系統(tǒng)電路圖
本設計的顯示模塊中要求顯示界面顯示的進入人數J出去人數C和總人數Z的一些參數。采用LCD1602液晶顯示屏作為顯示模塊,主要技術是液晶制透光度技術,顯示數字為熒綠的色彩。通過單片機控制LCD1602液晶顯示屏顯示數字,與一般數碼管比較,可以整體同時顯示。相較于數碼管來說看起來更清晰更明朗。
該模塊的原理:當紅外檢測模塊檢測到有人經過時,紅外接收電路輸出口將輸出一個高電平,這個高電平信號傳遞給主控模塊單片機完成計數;用AT89C52的P0口分別作為數據線,用P1.2、P1.1、P1.0分別作為LCD液晶顯示屏的引腳接單片機的引腳EN、R/W、RS。這個顯示模塊主要為:將統(tǒng)計出來進入的人數J置于第二行左端出去人數C置于第二行右端,第一行中間顯示總人數Z(即進入人數J減出去人數C),同時實時一起顯示在LCD1602液晶顯示屏上,如圖3所示。
圖3 單片機與LCD1602接口
本系統(tǒng)的按鍵模塊中應用獨立按鍵,按鍵的一端接IO口,且IO口接高電平,另一端接地。當按鍵沒有按下時,IO接地。通過檢測與按鍵連接的IO口電平高低就可以判斷是否按下的按鍵。S1為復位按鍵,復位,系統(tǒng)開始重新工作;S3為增加按鍵,使設置上限人數增加;S4為減少按鍵,使設置上限人數減少;S2為開始設置上限人數/清零按鍵,可以進行上限人數的設置或清除當前統(tǒng)計的人數,重新計數,所圖4所示。
圖4 上限人數設置按鍵電路原理圖
本模塊設計的原理:紅外傳感器的紅外發(fā)射管發(fā)射的紅外線在能感應的在一定范圍內,若沒有障礙物時,紅外傳感器的發(fā)射端發(fā)射出去的紅外線會因為傳播距離越遠而紅外線的能量減少因而逐漸減弱,最后消失。若有障礙物時,紅外傳感器的發(fā)射端發(fā)射出去的紅外線遇到障礙物,就像蝙蝠或雷達定位一樣,應用反射定理,紅外線被反射回到紅外傳感器的接收端[7]。
人數檢測模塊應用的紅外傳感器是將紅外線反射回來的光變化轉化為電變化,將電平信號傳遞給單片機使之控制從而實現對人數的檢測[8]。它的組成包括:紅外傳感器發(fā)射端、紅外傳感器接收端以及檢測電路。檢測進入人數J的紅外傳感器接單片機的接口P2.1口;檢測出去人數C的紅外傳感器接單片機的接口P2.0口。紅外傳感器將光的變化轉變?yōu)殡娖降淖兓箚纹瑱C的P2.1口與P2.0口的電平同時發(fā)生不同的變化使單片機發(fā)出不同的指令,從而完成對進入人數J與出去人數C以及最終的總人數Z的統(tǒng)計,所圖5所示。
圖5 紅外傳感器與單片機接口圖
軟件處理聲光報警,利用蜂鳴器響起與發(fā)光二極管持續(xù)發(fā)光同時進行人數達到上限報警。當所測人數超過設置的上限人數時,數據口高電平,聲光報警輸出。聲光報警電路硬件連接如圖6。檢測進出的紅外傳感器分別安裝在圖書館閱覽室門的兩側的通道,當紅外傳感器探測到通道有人進過時,紅外傳感器將此信號傳遞給單片機,單片機接到此信號。若閱覽室總人數Z超過之前的預設人數時,單片機發(fā)出指令給P1.4端,由單片機接口P1.4連接的聲光報警模塊,從而聲光報警啟動,蜂鳴器響起同時發(fā)光二極管持續(xù)發(fā)亮。
圖6 聲光報警電路接圖
開機后,系統(tǒng)開始初始化,首先檢測S1鍵是否為低電平,若S1為低電平,則表示已按下S1鍵,根據圖書館閱覽室的最大人數容納量設置上限人數;依次檢測S2鍵/S3鍵是否為低電平,若S2/S3鍵為低電平,表示已按下S2/S3鍵,增加/減少上限人數。之后再次檢測S1是否為低電平,當人通過入口或出口時,紅外傳感器檢測經過從中經過的人數,就可以檢測到進入人數J或出去人數C,同時單片機將計數顯示指令給LCD1602液晶顯示屏使之顯示由進入人數J與出去人數C相減得出總人數Z。若總人數超過預設上限人數時,單片機給出指令使聲光報警模塊感應蜂鳴器響起發(fā)光二極管持續(xù)發(fā)亮;若有人依然通過進入口或出口,被紅外傳感器檢測,并被單片機控制計數統(tǒng)計LCD1602顯示屏顯示人數但是報警模塊并未消除提醒人數達到上限。當總人數Z低于預設總人數時;或者S1為低電平即S1按下則重新計數;那么聲光報警才消失。主程序如圖7所示。
圖7 主程序流程圖
本文應用AT889C52單片機,具有集成度高、低功耗等很多強大的功能,在各個領域電子產品上有廣泛應用。
其硬件電路應用模擬電子技術,主要包括一些簡單電路設計,比如:單片機最小系統(tǒng),紅外傳感器模塊、按鍵電路模塊,聲光報警電路模塊等。其軟件方面,應用C語言根據程序框圖編寫程序,C語言簡潔緊湊、靈活方便而且應用范圍廣,在很多電子產品的編程上也有廣泛應用。
本設計檢測人數模塊中選用的紅外傳感器感應范圍為5米左右,存在一定的誤差。例如:當很多同學兩兩或更多結伴進入圖書館閱覽室時易漏計人數;在裝置處有人來回走動時易多次計算人數;以及紅外傳感器的感應范圍有限,因此可能會把靠近紅外傳感器周圍的人統(tǒng)計時多計數。可以采用排隊依次進出,進出的通道的標識明顯、醒目,以及采用將進出通道用材料加寬加高加厚以防止把周圍的人數計數等措施來解決誤差。