王 向 玲
(1. 呂梁學院 礦業(yè)工程系, 山西 呂梁 033000;2. 中北大學 電子測試技術(shù)國家重點實驗室, 儀器科學與動態(tài)測試教育部重點實驗室, 太原 030051)
單片機原理是一門工程實踐性極強但理論知識抽象的課程,學習過程應(yīng)注重“邊學邊做”即理論與實踐的高度融合。針對應(yīng)用型本科院校的人才培養(yǎng)要求,結(jié)合自身教學經(jīng)驗,在課堂引入Proteus軟件,學生自帶計算機,課堂上自行設(shè)計電路、編寫程序聯(lián)合Keil調(diào)試,真正實現(xiàn)了時間、空間上的學做融合,將抽象的理論知識直觀化、形象化,增加課堂趣味性、調(diào)動學生積極性的同時加深了對理論知識的鞏固[1-5]。
在單片機I/O口使用、中斷、定時器、串口通信、AD/DA轉(zhuǎn)換、LCD液晶顯示、傳感器等基礎(chǔ)知識實踐的基礎(chǔ)上,為了提高學生綜合運用知識的能力和設(shè)計能力,列出了幾個綜合性、設(shè)計性實驗,具體以分組形式進行。以其中一組學生設(shè)計的“溫室溫濕度控制系統(tǒng)”為例,講述總體思路及關(guān)鍵的硬件電路、軟件設(shè)計。
溫室溫濕度控制在農(nóng)作物生長的適宜范圍非常關(guān)鍵。溫濕度控制系統(tǒng)采用DHT11溫濕度傳感器采集數(shù)據(jù)且實時準確地通過LCD1602顯示,為了滿足不同農(nóng)作物的生長,系統(tǒng)溫濕度上下限可通過按鍵設(shè)置。當測量值不在范圍內(nèi),對應(yīng)的LED燈點亮、蜂鳴器報警,同時啟動控制模塊進行溫濕度調(diào)節(jié)直至正常[6-7]。
整個系統(tǒng)由主控、溫濕度采集、按鍵設(shè)置、報警、控制以及顯示等模塊組成,整體框圖如圖1所示。
圖1 系統(tǒng)整體框圖
主控模塊作為整個系統(tǒng)的核心,采用AT89C52單片機,其片內(nèi)帶有8 KB、支持擦寫的Flash存儲器,與AT89C51相比,中斷源和存儲空間多,便于后期增加其他環(huán)境參數(shù)的測量[8-9]。
主控模塊與各模塊連接關(guān)系如下:P0.0~P0.7、P2.0~P2.2口與顯示模塊相連,P2.3口與溫濕度采集模塊相連,P2.4~P2.7口與控制模塊相連,P1.0~P1.3口與報警模塊相連,P1.4~P1.7口與按鍵設(shè)置模塊相連。該模塊中P3口空閑,后續(xù)可用于溫室其他環(huán)境參數(shù)如光照強度、CO2等的控制。
主控模塊實現(xiàn)如下功能:① 接收溫濕度傳感器的數(shù)據(jù)并將其發(fā)送給顯示模塊;② 接收按鍵設(shè)置模塊指令并進行溫濕度上下限的調(diào)節(jié);③ 溫濕度不正常時給出報警指令并啟動相應(yīng)控制模塊進行溫濕度的調(diào)節(jié)。
該模塊采用出產(chǎn)前精度已校準的DHT11數(shù)字溫濕度傳感器,供電電壓范圍3.3~5.5 V,溫濕度測量范圍分別為0~500 ℃、20%~90%RH。其內(nèi)部包含一個電阻式感濕元件和一個NTC測溫元件,單線制串行接口,僅需一個I/O口直接與單片機相連。體積小、功耗低、響應(yīng)快、抗干擾能力強等特點使其成為采集溫濕度的理想選擇[10-11]。
該模塊主要供用戶設(shè)置溫濕度上下限,主要由4個按鍵組成,依次為功能選擇鍵、加1鍵、減1鍵、保存鍵。功能選擇鍵用于對溫濕度上下限的選擇,加1鍵、減1鍵分別對各項參數(shù)進行加1、減1操作,保存鍵用于保存已設(shè)置好的溫濕度參數(shù)。
具體操作步驟如下:首先按下功能選擇鍵進行預(yù)設(shè)參數(shù)的選擇。當?shù)?次按下該鍵時對溫度上限WDH設(shè)置,當?shù)?次按下該鍵時對溫度下限WDL設(shè)置,以此類推當?shù)?、4次按下該鍵時分別對濕度上限SDH、下限SDL設(shè)置。選中預(yù)設(shè)置參數(shù)后再通過加1、減1鍵調(diào)整WDH、WDL、SDH、SDL,最后按下保存鍵保存閾值。
控制模塊主要由驅(qū)動芯片ULN2004A、加熱器、風扇、加濕器、除濕器、三極管、繼電器組成,Proteus仿真中加熱器、風扇、加濕器、除濕器均用直流電機替代,當電機轉(zhuǎn)動時代表對應(yīng)控制模塊啟動工作,以其中一路加濕器為例,控制模塊原理圖如圖2所示。
圖2 系統(tǒng)控制模塊原理圖
當DHT11檢測到溫濕度不在預(yù)先設(shè)定范圍內(nèi)時便啟動控制模塊進行調(diào)節(jié)。當溫度低于預(yù)設(shè)溫度下限時加熱器開始工作,溫度高于溫度上限時風扇開始工作,濕度高于濕度上限時除濕器開始工作,濕度低于濕度下限時加濕器開始工作。
4個直流電動機與單片機P2.4~P2.7口連接時需設(shè)計驅(qū)動電路,驅(qū)動芯片選用輸出電流可達500mA的ULN2004A,其內(nèi)部包含7路反向器電路,即當輸入端為高電平時輸出端為低電平,反之亦然[12]。ULN2004A輸入端適合于CMOS、PMOS器件,本設(shè)計中單片機輸出的TTL電平先通過連接2 kΩ的上拉電阻轉(zhuǎn)換為CMOS電平再接至ULN2004A輸入端;ULN2004A輸出端電流先通過三極管放大再通過繼電器控制電動機是否轉(zhuǎn)動。
依據(jù)模塊化編程思想,建立多文件工程,具體包括:主程序、DHT11驅(qū)動程序、LCD顯示程序。子程序包括定時器中斷函數(shù)和按鍵掃描子程序。
主程序流程圖如圖3所示。
(1) 初始化DHT11、LCD1602并預(yù)先在程序中設(shè)置溫濕度上下限;
(2) 啟動DHT11進行溫濕度的采集;
(3) 將采集數(shù)據(jù)及上下限通過LCD顯示;
(4) 檢測溫濕度是否超閾值。若超出閾值則LED燈亮、蜂鳴器報警,同時啟動對應(yīng)的控制模塊進行調(diào)節(jié),而后返回(2)循環(huán)執(zhí)行上述過程直至溫濕度調(diào)至設(shè)置范圍內(nèi);若沒超閾值則進行(5)。
(5) 掃描是否有按鍵按下。若有按鍵按下則進行上下限的調(diào)節(jié)并返回(2)進行數(shù)據(jù)的采集及顯示;若無按鍵按下則結(jié)束。
圖3 主程序流程圖
由于DHT11采用單線制串行接口,故驅(qū)動程序(初始化、讀取溫濕度數(shù)據(jù))需按照嚴格的時序圖編寫,時序圖如圖4所示。
圖4 DHT11時序圖
總線空閑時為高電平,開始工作時單片機拉低總線至少18 ms,然后拉高總線約20~40 μs等待DHT11響應(yīng)。DHT11接收到單片機發(fā)送的開始信號且等開始信號結(jié)束后,輸出80 μs的低電平作為響應(yīng),接著輸出80 μs高電平進入數(shù)據(jù)發(fā)送階段。每一位數(shù)據(jù)都是以50 μs的低電平開始,緊跟其后的高電平時間決定數(shù)據(jù)為1或0。若高電平時間為26~28 μs則為0,若高電平時間為70 μs則為1[13-15]。
DHT11的DATA引腳用于和單片機之間的通信,一次傳送40 bit數(shù)據(jù)且高位先出,數(shù)據(jù)格式為:8 bit濕度整數(shù)數(shù)據(jù)+8 bit濕度小數(shù)數(shù)據(jù)+8 bit溫度整數(shù)數(shù)據(jù)+8 bit溫度小數(shù)數(shù)據(jù)+8 bit校驗位,其中溫濕度小數(shù)部分均為0。待40 bit數(shù)據(jù)傳輸完畢后,若校驗位等于前4 Byte數(shù)據(jù)相加取其低8 bit,則接收的數(shù)據(jù)正確。反之接收的數(shù)據(jù)有誤,重新接收[16]。
首先在Proteus軟件中繪制系統(tǒng)硬件電路圖,然后采用Keil軟件編寫程序并編譯、鏈接,最后將生成的Hex文件加載到單片機中進行仿真。
圖5為溫濕度不超閾值的仿真結(jié)果圖,WD為溫度,SD為濕度。程序中溫濕度預(yù)設(shè)范圍分別為20~30 ℃、60%~85%RH,測得的溫濕度分別為27 ℃、80%RH,均在預(yù)設(shè)范圍內(nèi),故報警模塊4個LED均不亮,直流電動機均不轉(zhuǎn)動。
針對某一農(nóng)作物,溫濕度預(yù)設(shè)范圍調(diào)整為28~30 ℃、66%~75%RH,通過按下功能選擇鍵、加1、減1鍵設(shè)置溫濕度上下限,設(shè)置后按下保存鍵保存閾值,仿真結(jié)果如圖6所示,實測溫度27 ℃低于下限,濕度80%RH高于上限,則對應(yīng)的低溫、高濕LED燈亮,且控制模塊中加熱器、除濕器開始工作進行溫濕度的調(diào)節(jié)。
圖5 溫濕度不超閾值的仿真結(jié)果圖
圖6 溫濕度超閾值的仿真結(jié)果圖
通過課堂引入Proteus仿真軟件聯(lián)合Keil調(diào)試,設(shè)計了主要由DHT11數(shù)字溫濕度傳感器和AT89C52組成的溫室溫濕度控制系統(tǒng),實現(xiàn)了預(yù)設(shè)范圍內(nèi)的溫濕度自動控制;做到了教學與實驗的同步,增強了學生的綜合知識應(yīng)用能力和單片機開發(fā)能力,激發(fā)了學習興趣,為后續(xù)制作實物奠定基礎(chǔ)。
另外,該系統(tǒng)具有結(jié)構(gòu)簡單、價格低廉、易操作等優(yōu)點,結(jié)合全球移動通信系統(tǒng)(Global System for Mobile Communication,GSM)、ZigBee等無線通信技術(shù),在溫室大棚的遠程監(jiān)測中具有良好的應(yīng)用前景。