畜舍通風換氣風機自動控制_第1頁
畜舍通風換氣風機自動控制_第2頁
畜舍通風換氣風機自動控制_第3頁
畜舍通風換氣風機自動控制_第4頁
畜舍通風換氣風機自動控制_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、微機原理課程設計報告題 目:畜舍通風換氣風機自動控制設計學生姓名:劉桂奇學 號:200817010121專業(yè)班級:計算機科學與技術 08101班同組姓名:王國策指導教師:楊紅杰設計時間:2011年上學期第19周指導老師意見:評定成績:簽名:日期:年 月日目錄一、設計前言 21.1設計目的意義 21.2設計任務 21.3設計要求 2二、總體設計 22.1溫度數(shù)據(jù)采集模塊 32.2溫度轉換及顯示模塊 32.3 LED顯示控制模塊 42.4蜂鳴器控制模塊 42.5直流電機控制模塊 4三、課程設計過程 53.1硬件設計 53.2軟件設計 5四、系統(tǒng)測試 64.1系統(tǒng)調試 64.2過程調試 6五、程序代

2、碼清單 7六、課程設計總結 15、設計前言11設計目的意義隨著智能畜禽農業(yè)規(guī)模的不斷擴大,環(huán)境的好壞對農業(yè)產(chǎn)品健康的影響逐步 地體現(xiàn)出來,只有創(chuàng)造一個空氣新鮮,溫、濕度適宜,干暖舒適的環(huán)境條件,才 能讓農業(yè)產(chǎn)品更好的生長,保持旺盛,發(fā)病率降低,獲得較高的增長速度和轉換 率,創(chuàng)造較高的經(jīng)濟效益。因此,調控好室內空氣、濕度和溫度等環(huán)境,是農業(yè) 產(chǎn)品管理的最根本問題。1.2設計任務通過A/D采集并存儲蓄舍溫度,根據(jù)蓄舍溫度要求,通過D/A輸出控制信號,控制風機的轉速及風機的啟動、停止,實現(xiàn)蓄舍溫度及空氣的自動調節(jié)。1.3設計要求(1) 當 溫度W18C,風機不轉動,并且四個紅燈閃爍。(2) 當18C

3、v溫度20C,啟動風機低速轉動。(3) 當20Cv溫度25C,啟動風機中速轉動。(4) 當25Cv溫度30C,啟動風機高速轉動。(5) 當溫度超過30C,紅色發(fā)光二極管全亮、喇叭連續(xù)發(fā)聲報警。(6) 用直流電機帶動風機,計算機輸出的數(shù)字量經(jīng)D/A轉換后變?yōu)楦?、中?低三種電壓,控制直流風機的三種轉速。二、總體設計使用可編程并行接口 8255對實驗箱上的溫度檢測芯片 DS18B20進行控制和 數(shù)據(jù)傳輸,編寫程序對數(shù)據(jù)進行讀取并轉換為相應的 BCD碼,判斷從外界采集的 溫度并根據(jù)此溫度與所在的不同區(qū)間的溫度來調用的相應的子程序,并利用 DA0832進行數(shù)模轉換來控制風機的轉動。利用 8255PA端

4、口控制LED燈的顯示、PC端口(C1)進行蜂鳴器的控制,并提取溫度轉換為非壓縮的BCD碼,顯示到八段數(shù)碼管上。該設計主要分為以下幾個主要功能模塊:2.1溫度數(shù)據(jù)采集模塊本模塊利用實驗箱自帶的數(shù)字溫度計 DS18B2C測量溫度,程序通過可編程并行接口 8255的PC0口對DS18B20寫讀寫命令,并將讀到的溫度數(shù)據(jù)從 PC0口按 位讀取出來,存放在AX寄存器內。22溫度轉換及顯示模塊本模塊將數(shù)據(jù)采集模塊得到的溫度數(shù)值首先轉換為BCD碼,提取溫度數(shù)據(jù),轉換為非壓縮型BCD碼。具體轉換過程可參考附錄II的核心代碼的BCD轉換部 分。轉換完后調用Display8在八段數(shù)碼管上顯示溫度。COM COM2

5、.3 LED顯示控制模塊根據(jù)此次課程設計的目的與要求,當溫度超過30C時,紅色發(fā)光二極管閃爍。 用8255的PA端口來控制紅燈亮,中間再調用一個延時,可以從視覺上 看出紅燈閃爍。具體過程可參考附錄中的程度代碼。2.4蜂鳴器控制模塊根據(jù)此次課程設計的目的與要求,當溫度值大于30C時,要控制蜂鳴器做出 報警。本程序是利用8255PC端口( PC1來控制蜂鳴器發(fā)出報警聲音。2.5直流電機控制模塊根據(jù)此次課程設計的目的與要求,當溫度超過20C小于25E時,要控制風機低速轉動。當溫度超過25C小于30C時,要控制風機中速轉動,當溫度超過 30C時,要控制風機高速轉動。設計中通過不同區(qū)間數(shù)據(jù)的比較,給低、

6、中、高 三種不同的轉速賦予不同的電壓值傳送給 DA0832利用DA0832控制直流電機轉 動,由于輸出高電平功率較小,導致無法自動驅動電機轉動,所以在輸出之后接 試驗箱的功放模塊,放大功率后,輸出高電平可自動驅動直流電機轉動。三、課程設計過程3.1硬件設計 3.1.1硬件電路連線表1硬件連線E5:B、C-G5: B、CA3:CS1-B4:CSA3:CS2-B4:CSA3:CS5-E5:CSA3:A0-E5:A0A3:A1、A0-B4:A1、A0G1: TOUT-B4:PC0G6:發(fā)光二極管-B4:JP56B2:2M-G1:TCTRLE2:IN1-B3:OUTE2:OUT1-F1:CTRLB4:

7、PC1-D1:CTRL3.2軟件設計軟件部分利用實驗箱為運行平臺,運用匯編指令編寫??刂瞥绦蛑饕囟葦?shù)據(jù)采集模塊、溫度轉換及顯示模塊、LED顯示控制模塊、蜂鳴器控制模塊、 風機控制模塊等。初始化程序包含:8255初始化程序、18B20初始化子程序。四、系統(tǒng)測試4.1系統(tǒng)調試按照硬件連線連接電路,為方便調試,將程序內的溫度區(qū)間作了調整。將原 來設計要求里的v=10C暫時設定為18C到20C, 10C到30C設定為25C到 30C。系統(tǒng)啟動后,溫度傳感器得到當前室溫,但是溫度過低。之后給溫度采集 模塊的Ctrl引腳一定的電壓,手動升溫,當溫度到20 C不超過25 C風機開始低 速轉動,當溫度到

8、了 25C但不超過30C時,風機開始中速轉動,當溫度超過30C 時,此時蜂鳴器開始發(fā)出報警聲,紅色發(fā)光二極管開始閃爍,表示溫度過高。4.2過程調試在調試過程中,雖然遇到了很多的問題,程序代碼有錯誤,線路連接的不恰 當?shù)?,通過老師和同學的幫助,出通過查一些資料,最終解決了這些問題。完成 了設計。4.2.1蜂鳴器控制問題設計中,當溫度低于20C或者溫度大于40C時,需要控制蜂鳴器報警,設 計初期想利用可編程并行接口 8255的PC1 口輸出低電平控制蜂鳴器,但是調試 過程中發(fā)現(xiàn),由于程序運行過程中需要對8255不斷的進行初始化操作,導致PC1 口的電平不穩(wěn)定,使蜂鳴器不能很好的控制,通過查資料,修

9、改設計,利用PC1 PC2、PC3輸出高電平,接74LS138譯碼器控制蜂鳴器報警,這樣就能很好的解 決該問題。4.2.2電機控制問題調試中,由于室內的溫度過低,在要求的溫度范圍內帶動風機不能轉動,所 以決定加上一定的電壓使采集的溫度不至少于太低,經(jīng)過調試后,由于輸出的功率不高,帶動風機轉動不明顯,所以在 DA0832的輸出端口 OUT端連上了功放電路,這時當溫度在某個區(qū)間時,風機就可以明顯地看出轉速的快慢。由此解決了 電機的控制問題。433發(fā)光管問題設計中,利用可編程并行接口 8255的PA口控制發(fā)光管。當需要某一顏色的 發(fā)光管常亮時,其他的發(fā)光管需要處于熄滅狀態(tài), 但通過調試發(fā)現(xiàn),實際運行

10、過 程中,當某一顏色的發(fā)光管常亮時,其他發(fā)光管長時間處于熄滅狀態(tài),但還會出 現(xiàn)一個短暫的點亮的過程,導致其他發(fā)光管出現(xiàn)閃爍,后來經(jīng)過請教老師得知, 由于程序運行過程中需要對8255不斷的進行初始化操作,每次初始化,8255的 PA 口會輸出高電平,導致某些發(fā)光管出現(xiàn)短暫的閃爍,解決方法是可以使用另 外一個可編程并行接口 8255,用這個8255的PA 口來控制發(fā)光管,程序運行過 程不會多次對這個8255初始化,所以不會再出現(xiàn)上一個問題。經(jīng)過測試,這樣 做可以解決該問題。五、程序代碼清單.MODELTINY;連線;8255CS-CS1;8255.PC.0-18B20.TOUT;A0-A0;A1-

11、A1;18B2018B20.TOUT-8255.PC.7CON_8255EQU0F003HPC_8255EQU0F002HPB_8255EQU0F001HPA 8255EQU0F000HDA0832 EQU0D000HEXTRN DISPLAY8:NEAR.STACK300.DATA08 DUP(0);溫度臨時存放區(qū)VOLTAGE DB BUFFER DB.CODESTART: MOVMOVMOVNOPCALLMAIN:CALL送讀溫度指令JBCALLCALL 換為BCD碼AX,DATADS,AXES,AXINIT8255START_TEMPERATUREMAINDELAYTIMERD_TEM

12、PERATURE;向 DS18B20 發(fā);讀出溫度值,并轉CALL TEMPERATURE_CASECALLDELAYTIMECALLDAC0832CALLBCD碼,并顯示DIS_BCD;提取溫度數(shù)據(jù),轉換為非壓縮型JMPMAIN;判斷溫度控制電機速度TEMPERATURE_CASE PROC NEAR PUSH AX;寫 1(8255.PC.仁1)MOV DX,PC_8255;蜂鳴器不響MOV AL,03HOUT DX,ALMOV BX,AXCMP BX,0120H;18CJB CASE1CMP BX,0140H;20CJB CASE2CMP BX,0190H;25CJB CASE3CMP

13、BX,01E0H ;30C JB CASE4;寫 0(8255.PC.仁0)MOV DX,PC_8255;超過30C時,驅動蜂鳴器響MOV AL,02HOUT DX,ALJMP CASE5RETURN: POP AXRETCASE1:MOV VOLTAGE,0FHJMP RETURNCASE2:MOV VOLTAGE,0FHJMPRETURNCASE3:MOV VOLTAGE,20H;20C 25C間風機開始低速轉動JMPRETURNCASE4:MOV VOLTAGE,55H;25C 30C間風機中速轉動JMPRETURNcase5:MOVDX,PA_8255;超過30 C時風機咼速轉動,此時

14、紅燈閃爍MOVAL,0CCHOUTDX,ALCALLDELAYTIMEMOVDX,PA_8255MOVAL,00HOUTDX,ALMOV VOLTAGE,99HJMPRETURNTEMPERATURE_CASE ENDPDAC0832 PROC NEARPUSHAXMOVDX,DA0832MOVAL,VOLTAGEOUTDX,ALPOPAXRETDAC0832 ENDP.*;溫度轉換/顯示.*DIS_BCDPROCNEARMOVBX,AXLEADI,BUFFER+7STDMOVAL,10HSTOSBSTOSBSTOSBSTOSBTESTAH,08HJNZDIS_BCD1STOSBJMPDIS_

15、BCD2MOVAL,11HSTOSBNEGBXSHLBX,1SHLBX,1SHLBX,1SHLBX,1MOVAX,10XCHGAL,BHDIVBHCMPAL,0JNZDIS BCD3DIS_BCD1:DIS_BCD2:;10H表示不需要顯示;正數(shù);負數(shù);將溫度整數(shù)位轉換為ASCI;將溫度的個位與十位合在BH中;判斷溫度的十位是否為 0進行相應處理MOVAL,10H;十位為0XCHGAL,DI+1STOSBJMPDIS_BCD4STOSBMOVAL,AHORAL,80H;小數(shù)點STOSBXORAL,AL;轉換小數(shù)部分TESTBL,10HJZDIS_BCD5MOVAL,6TESTBL,20HDIS

16、_BCD3:DIS_BCD4:DIS_BCD5:22JZADDDAADIS_BCD6: TESTJZADDDAADIS_BCD7: TESTJZADDDAADIS_BCD8: MOVRORAND STOSBCLDLEACALL RETDIS_BCD ENDP;延時程序DELAYTIME PROC XOR LOOPLOOPLOOP RETDELAYTIME ENDP;寫0W_L PROCPUSHMOVMOVOUTPOPRETW_L ENDP;寫1W_H PROC PUSH MOVDIS_BCD6AL,12HBL,40HDIS_BCD7AL,25HBL,80HDIS_BCD8AL,50HCL,4A

17、L,CLAL,0FHSI,BUFFER;顯示溫度DISPLAY8NEARCX,CX$NEARAXDX,CON_8255AL,80HDX,ALAXNEARAXDX,CON_8255MOVAL,01HOUTDX,ALPOPAXRETW_H ENDPQS18B20復位初始化子程序INIT_18B20PROCNEARCALLW_L;主機發(fā)出501us復位低脈沖MOVCX,136LOOP$MOVDX,CON_8255MOVAX,89HOUTDX,AL;PC輸入狀態(tài)DECDXMOVCX,15INIT_18B20_1:INAL,DXTESTAL,01HJZINIT_18B20_2LOOPINIT_18B20

18、_1STC;置位標志位,表示 DS18B20不存在RETINIT_18B20_2:MOVCX,136LOOP$CLC;復位標志位,表示DS18B20存在RETINIT_18B20ENDP;寫操作WRITE_18B20PROCNEARMOVCX,8;一共8位數(shù)據(jù)WRI:CALLW_L;0-PC0RORAL,1JNBWRI1CALLW_HWRI2:PUSHCXMOVCX,12LOOP$;延時55usPOPCXCALLW_HLOOPWRIRETWRI1:PUSHCXPOPCXJMPWRI2WRITE_18B20 ENDP;讀操作READ_18B20 PROC NEARMOVCX,8;數(shù)據(jù)一共有8位READ: MOVDX,CON_8255MOVAL,80HOUTDX,AL;0-PC0MOVAL,89HOUTDX,AL;輸入狀態(tài)NOPNOPNOPMOVDX,PC_8255INAL,DXRORAL,1RCRBL,1MOVDX,CON_8255MOVAL,80HOUTDX,ALMOVAL,01HOUTDX,AL;1-PC0LOOPREADMOVAL,BLRETREAD_18B20 ENDP.*判斷DS18B20是否存在,啟動 DS18B20*;CY為判斷標志START_TEMPERATURE:CALLINIT_18B20 ;先復位DS18B20JBGE

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論