基于STC89C52單片機(jī)原理的實(shí)驗(yàn)室智能控制系統(tǒng)研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
21世紀(jì),能源問題日益突出,節(jié)能環(huán)保已成為諸多設(shè)計(jì)所必須考慮的一大因素。該設(shè)計(jì)就是以有效提高實(shí)驗(yàn)室燈光和各種電源利用率為目的,采用紅外計(jì)數(shù),在不同情況下分別提供相應(yīng)的照明和電源的供給,避免了人少開多組燈、使用多組儀器以及人員離開忘記關(guān)閉儀器等浪費(fèi),節(jié)能的同時(shí),提高設(shè)備使用壽命,可有效地達(dá)到自動(dòng)關(guān)閉電源目的,有效地防止火災(zāi),同時(shí)該系統(tǒng)還可以顯示房間例如溫度、日期等詳細(xì)情況。該系統(tǒng)可在圖書館、教室、會(huì)議室、作為大型公共場所的中央控制設(shè)備。
1 系統(tǒng)總體設(shè)計(jì)以及功能
該系統(tǒng)通過單片機(jī)控制DS12C887時(shí)鐘芯片準(zhǔn)確計(jì),利用DS18B20(1-Wire)與單片機(jī)相連實(shí)現(xiàn)溫度采集,并在液晶芯片12864上顯示出時(shí)鐘和室內(nèi)溫度,控制溫度,當(dāng)溫度達(dá)到25℃時(shí)自動(dòng)閉合空調(diào)電源,允許使用空調(diào)。一般情況下,在計(jì)時(shí)到7:00(可以人工以獨(dú)立按鍵方式調(diào)節(jié)時(shí)間)時(shí),自動(dòng)播放起始音樂并閉合總電源,測試房間內(nèi)溫度。當(dāng)計(jì)時(shí)到21:55時(shí)播放結(jié)束音樂,并在22:00時(shí)關(guān)閉整個(gè)系統(tǒng)。在平時(shí)控制電源時(shí),該系統(tǒng)將有兩種工作狀態(tài):自動(dòng)控制狀態(tài)和強(qiáng)制狀態(tài)。
1.1 自動(dòng)控制狀態(tài)(默認(rèn)狀態(tài))
在實(shí)驗(yàn)室門口安裝兩個(gè)紅外傳感器控制,分別設(shè)為1和2,當(dāng)人先通過1再通過2的時(shí)候設(shè)為進(jìn)人,反之則為出人。使用光敏電阻,當(dāng)室內(nèi)亮度低于正常要求且有人時(shí),可開通照明電路。當(dāng)有人在天氣較暗(或者夜晚)進(jìn)入實(shí)驗(yàn)室時(shí),該系統(tǒng)通過繼電器控制實(shí)驗(yàn)桌電源的開關(guān)和照明電路的閉合狀態(tài)。當(dāng)人數(shù)為1~10人時(shí),開實(shí)驗(yàn)室其中的1盞燈,5張實(shí)驗(yàn)桌電源閉合,可供使用;人數(shù)在10~20時(shí),開2盞燈,10張實(shí)驗(yàn)桌可供使用……根據(jù)進(jìn)入實(shí)驗(yàn)室人數(shù)智能確定可供使用實(shí)驗(yàn)桌數(shù)量以及當(dāng)天氣較暗時(shí),所開日光燈數(shù)目。當(dāng)人數(shù)重新變?yōu)榱愫螅?0 min后,喇叭報(bào)警,繼電器閉合,燈滅,所有已開實(shí)驗(yàn)桌電源斷開。直到再次有人進(jìn)入,繼電器閉合,實(shí)驗(yàn)桌電源重新閉合。當(dāng)室內(nèi)照明充足,則照明電路不工作,實(shí)驗(yàn)桌電源可控。
1.2 強(qiáng)制狀態(tài)
該狀態(tài)是通過計(jì)算機(jī)總機(jī)(上位機(jī))對(duì)單片機(jī)(下位機(jī))進(jìn)行數(shù)據(jù)傳送。將上位機(jī)與單片機(jī)連接在一起,通過串口通信對(duì)單片機(jī)進(jìn)行控制,以達(dá)到控制實(shí)驗(yàn)室電源使用數(shù)量目的,可使實(shí)驗(yàn)室照明電路與實(shí)驗(yàn)桌電路全通,全滅或按要求指定特定的電源導(dǎo)通,并可通過輸入指令對(duì)單塊單片機(jī)進(jìn)行查詢,實(shí)時(shí)在上位機(jī)屏幕上顯示實(shí)驗(yàn)室人數(shù)。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 硬件組成以及各器件功能介紹
智能實(shí)驗(yàn)室控制系統(tǒng)的硬件核心器件由單片機(jī)STC89C52芯片、E18-B03N1反射式紅外光電開關(guān)、音樂芯片、單總線溫度傳感器DS18B20、時(shí)鐘芯片DS12C887和帶有字庫的12864液晶組成。其中E18-B03N1反射式紅外光電開關(guān),采用反射式,測量可調(diào)節(jié)距離大于30 cm,共有3根引腳1根接電源,一根接地,另一根數(shù)據(jù)線,當(dāng)沒有感應(yīng)閉合時(shí),數(shù)據(jù)線為高電平,當(dāng)有人經(jīng)過時(shí),數(shù)據(jù)線變低電平。DS12C887:時(shí)鐘芯片,當(dāng)電源掉電,內(nèi)部時(shí)鐘依然走動(dòng),有時(shí)鐘定時(shí)功能,可在24 h內(nèi)指定時(shí)間鬧鈴報(bào)警。DS18B20:為單總線溫度傳感器,實(shí)時(shí)將溫度信號(hào)讀入,精度0.5℃。
2.2 系統(tǒng)硬件各部分工作原理及介紹
硬件框圖如圖1所示。
(1)使用單塊單片機(jī)(2)控制電路,紅外光電開關(guān)(4)以外部中斷(8)的方式接至(P3.2,P3.3),數(shù)碼管(6)顯示此時(shí)實(shí)驗(yàn)室人數(shù)。
(2)當(dāng)進(jìn)入實(shí)驗(yàn)室人數(shù)不為零,外電源電路(5)通過單片機(jī)控制繼電器,根據(jù)人數(shù)要求,按人數(shù)開燈,閉合實(shí)驗(yàn)桌。
(3)當(dāng)人數(shù)重新變?yōu)榱愫?,使用單片機(jī)定時(shí)器(7)定時(shí)20 min后,檢測20 min內(nèi)如始終無人進(jìn)入,音樂片通過喇叭報(bào)警,外界電路斷開。若重新有人進(jìn)入,外界電路(照明電路和實(shí)驗(yàn)桌電源電路)由單片機(jī)根據(jù)人數(shù)確定閉合情況。
(4)單片機(jī)(10)可由單片機(jī)(2)和繼電器控制電源供電,當(dāng)實(shí)驗(yàn)室沒人或者電腦強(qiáng)制關(guān)閉時(shí),單片機(jī)(10)不工作。
(5)使用液晶12864(14)與單片機(jī)(10)相連,液晶顯示以下信息:“實(shí)驗(yàn)室控制系統(tǒng)”,年、月、日、星期、時(shí)、分、秒以及溫度。
(6)使用DS12C887時(shí)鐘芯片(14)(在掉電的情況下,DS12C887時(shí)鐘依然繼續(xù)走)使得精確計(jì)時(shí),顯示當(dāng)前時(shí)間可通過獨(dú)立按鍵調(diào)整。并在設(shè)定好的夜晚特定時(shí)間(如:21點(diǎn)53分20秒)開始給予鬧鐘報(bào)警,發(fā)外部中斷(12),使音樂片播放音樂(15)并延時(shí)斷電,在設(shè)定好的到早晨特定時(shí)間(如:7:00)開始播放音樂,并延時(shí)閉合市電線路上的總電源。同時(shí)當(dāng)?shù)竭_(dá)鬧鈴時(shí)間、音樂響起時(shí),可以通過1、手動(dòng)按鈕,2、定時(shí)器(11)到達(dá)20 min設(shè)定時(shí)間,3、人數(shù)為零,4、上位機(jī)強(qiáng)制斷電關(guān)閉音樂等四種方式關(guān)掉音樂。同時(shí)以上時(shí)間都可通過單片機(jī)獨(dú)立按鍵的方式,對(duì)時(shí)間進(jìn)行調(diào)節(jié),能夠較人性化地確定時(shí)間。
(7)DS18B20(16)檢測溫度,在液晶上顯示在實(shí)驗(yàn)室中溫度,并且當(dāng)溫度高于25℃時(shí)閉合冷氣電源。允許使用空調(diào)。
2.3 多塊單片機(jī)通信系統(tǒng)
STC89C52外接RS 232/485轉(zhuǎn)換器,構(gòu)成標(biāo)準(zhǔn)的PC-單片機(jī)通信接口,使多單片機(jī)與PC機(jī)串口通信,用PC(上位機(jī))對(duì)多個(gè)下位機(jī)(單片機(jī))進(jìn)行串口通信。上位機(jī)與單片機(jī)之間嚴(yán)格實(shí)行主從結(jié)構(gòu)形式的應(yīng)答式通信控制方式,上位機(jī)為主,下位機(jī)為從。從機(jī)不能主動(dòng)發(fā)送命令或數(shù)據(jù),一切都由主機(jī)控制。任意時(shí)刻,主機(jī)只與一臺(tái)從機(jī)傳輸信息,從機(jī)之間不能直接通信,并且在一個(gè)多機(jī)通信系統(tǒng)中,主機(jī)通過點(diǎn)名方式給各從機(jī)發(fā)送命令,實(shí)現(xiàn)對(duì)系統(tǒng)的主控權(quán)。主機(jī)在執(zhí)行任務(wù)的同時(shí)要對(duì)從機(jī)不斷地輪詢,從而監(jiān)視從機(jī)的狀況、接收從機(jī)的請(qǐng)求或給從機(jī)發(fā)送命令。以實(shí)時(shí)地對(duì)多個(gè)實(shí)驗(yàn)室照明電路和實(shí)驗(yàn)桌電源的可控。根據(jù)要求,強(qiáng)行控制實(shí)驗(yàn)室外電路通斷,特定位置電源的通斷以及對(duì)實(shí)驗(yàn)室人數(shù)實(shí)時(shí)查詢,在PC屏幕上顯示出來。即當(dāng)輸入指令時(shí),將單個(gè)單片機(jī)人數(shù)調(diào)入上位機(jī),實(shí)時(shí)查詢實(shí)驗(yàn)室中的人數(shù)。
3 系統(tǒng)軟件設(shè)計(jì)
單實(shí)驗(yàn)室軟件控制系統(tǒng)主要由兩片單片機(jī)組成,單片機(jī)1和單片機(jī)2的流程如圖2和圖3所示。
3.1 單片機(jī)1的工作原理
(1)使用兩只E18-B03N1紅外光電開關(guān)(分別記做A,B)以外部中斷方式接至單片機(jī)外中斷口P3.2,P3.3,當(dāng)有人進(jìn)入教室時(shí),紅外開關(guān)A首先被隔斷,INT0端首先接收紅外開關(guān)產(chǎn)生低電平“0”,引發(fā)單片機(jī)中斷,在相應(yīng)的中斷程序中對(duì)計(jì)算人數(shù)加1計(jì)算,同時(shí)在程序中關(guān)閉INT1的中斷使能,這樣就不會(huì)引起INT1觸發(fā)中斷,并開始延時(shí),隔一定時(shí)間后利用定時(shí)中斷打開INT1中斷使能;出去——當(dāng)有人員離開教室
時(shí),紅外光電開關(guān)B光線首先被隔斷,INT1端首先接收“0”,引發(fā)單片機(jī)中斷,對(duì)人數(shù)減1,同時(shí)在程序中關(guān)閉INT0的中斷使能,并開始延時(shí),隔一定時(shí)間后利用定時(shí)中斷打開INT0中斷使能。最終通過數(shù)碼管顯示此時(shí)實(shí)驗(yàn)室人數(shù)。根據(jù)實(shí)時(shí)人數(shù)確定外電路工作情況。
(2)當(dāng)上位機(jī)查詢下位機(jī)人數(shù)時(shí),可將人數(shù)存至單片機(jī)SBUF寄存器,通過上位機(jī)查詢。
(3)上位機(jī)可通過電平轉(zhuǎn)換,控制下位機(jī)使用繼電器,達(dá)到控制實(shí)驗(yàn)室電源的目的。
3.2 單片機(jī)2的工作原理
單片機(jī)2主要通過DS18B20實(shí)時(shí)查詢室內(nèi)溫度,采用液晶顯示,判斷當(dāng)溫度大于指定溫度時(shí)(如25℃)空調(diào)開關(guān)允許閉合。同時(shí)DS12C887讀取實(shí)時(shí)時(shí)間(時(shí)間可通過獨(dú)立按鍵進(jìn)行調(diào)整),通過液晶顯示,因芯片內(nèi)部只含有一個(gè)鬧鐘中斷,采用DS12C887芯片中斷與89C52單片混合控制,當(dāng)?shù)竭_(dá)一個(gè)指定鬧鈴時(shí)間后,單片機(jī)重新寫入新的鬧鐘時(shí)間,直到新的鬧鐘時(shí)間作用,再次寫入第一次鬧鐘時(shí)間,以達(dá)到雙鬧鐘定時(shí)的效果。當(dāng)晚上鬧鈴響起,為了留有充足的延時(shí)時(shí)間,采用單片機(jī)定時(shí)方式,延時(shí)特定時(shí)間(如:20 min),同時(shí)考慮到不同實(shí)驗(yàn)室因?yàn)閷?duì)聲音有不同要求,即采用:手動(dòng)按鈕和上位機(jī)強(qiáng)制方式將其關(guān)閉。當(dāng)人數(shù)為零時(shí),或者延時(shí)時(shí)間到達(dá),實(shí)驗(yàn)室的電路全部關(guān)閉。直到第二天鬧鈴開啟,外部電路重新閉合。
4 結(jié)語
通過實(shí)踐,該實(shí)驗(yàn)室的智能控制系統(tǒng)較好的實(shí)現(xiàn)了上述基本功能,已得到我校微電子實(shí)驗(yàn)室主管老師同意,正著手應(yīng)用于我校微電子實(shí)驗(yàn)室。但同時(shí),由于時(shí)間倉促,仍有一些不足,例如,當(dāng)有2人擠著通過門時(shí)候,紅外設(shè)備沒有辦法檢測出來;沒有考慮到前后門進(jìn)入(即兩個(gè)單片機(jī)通信的問題)。這些問題有待日后進(jìn)一步完善。