版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、題 目: 畜舍通風(fēng)換氣風(fēng)機(jī)自動控制設(shè)計 學(xué)生姓名: 劉桂奇 學(xué) 號: 200817010121 專業(yè)班級: 計算機(jī)科學(xué)與技術(shù)08101班 同組姓名: 王國策 指導(dǎo)教師: 楊紅杰 設(shè)計時間:目錄一、設(shè)計前言 . 21.1設(shè)計目的意義 . 21.2設(shè)計任務(wù) . 21.3設(shè)計要求 . 2二、總體設(shè)計 . 22.1溫度數(shù)據(jù)采集模塊. 32.2 溫度轉(zhuǎn)換及顯示模塊 . 32.3 LED顯示控制模塊. 42.4蜂鳴器控制模塊 . 42.5直流電機(jī)控制模塊. 4三、課程設(shè)計過程 . 53.1硬件設(shè)計 . 53.2軟件設(shè)計 . 5四、系統(tǒng)測試 . 64.1系統(tǒng)調(diào)試 . 64.2過程調(diào)試 . 6五、程序代碼清單
2、 . 7六、課程設(shè)計總結(jié) . 151一、設(shè)計前言1.1設(shè)計目的意義隨著智能畜禽農(nóng)業(yè)規(guī)模的不斷擴(kuò)大,環(huán)境的好壞對農(nóng)業(yè)產(chǎn)品健康的影響逐步地體現(xiàn)出來,只有創(chuàng)造一個空氣新鮮,溫、濕度適宜,干暖舒適的環(huán)境條件,才能讓農(nóng)業(yè)產(chǎn)品更好的生長,保持旺盛,發(fā)病率降低,獲得較高的增長速度和轉(zhuǎn)換率,創(chuàng)造較高的經(jīng)濟(jì)效益。因此,調(diào)控好室內(nèi)空氣、濕度和溫度等環(huán)境,是農(nóng)業(yè)產(chǎn)品管理的最根本問題 。1.2設(shè)計任務(wù)通過A/D采集并存儲蓄舍溫度,根據(jù)蓄舍溫度要求,通過D/A輸出控制信號,控制風(fēng)機(jī)的轉(zhuǎn)速及風(fēng)機(jī)的啟動、停止,實(shí)現(xiàn)蓄舍溫度及空氣的自動調(diào)節(jié)。1.3設(shè)計要求(1)當(dāng) 溫度18,風(fēng)機(jī)不轉(zhuǎn)動,并且四個紅燈閃爍。(2)當(dāng)18 溫度
3、20,啟動風(fēng)機(jī)低速轉(zhuǎn)動。(3)當(dāng)20 溫度 25,啟動風(fēng)機(jī)中速轉(zhuǎn)動。(4)當(dāng)25 溫度 30,啟動風(fēng)機(jī)高速轉(zhuǎn)動。(5)當(dāng)溫度超過30,紅色發(fā)光二極管全亮、喇叭連續(xù)發(fā)聲報警。(6)用直流電機(jī)帶動風(fēng)機(jī),計算機(jī)輸出的數(shù)字量經(jīng)D/A轉(zhuǎn)換后變?yōu)楦摺⒅?、低三種電壓,控制直流風(fēng)機(jī)的三種轉(zhuǎn)速。二、總體設(shè)計使用可編程并行接口8255對實(shí)驗(yàn)箱上的溫度檢測芯片DS18B20進(jìn)行控制和數(shù)據(jù)傳輸,編寫程序?qū)?shù)據(jù)進(jìn)行讀取并轉(zhuǎn)換為相應(yīng)的BCD碼,判斷從外界采集的溫度并根據(jù)此溫度與所在的不同區(qū)間的溫度來調(diào)用的相應(yīng)的子程序,并利用DA0832進(jìn)行數(shù)模轉(zhuǎn)換來控制風(fēng)機(jī)的轉(zhuǎn)動。利用8255PA端口控制LED燈的顯示、2PC端口(C1
4、)進(jìn)行蜂鳴器的控制,并提取溫度轉(zhuǎn)換為非壓縮的BCD碼,顯示到八段數(shù)碼管上。該設(shè)計主要分為以下幾個主要功能模塊:2.1溫度數(shù)據(jù)采集模塊本模塊利用實(shí)驗(yàn)箱自帶的數(shù)字溫度計DS18B20測量溫度,程序通過可編程并行接口8255的PC0口對DS18B20寫讀寫命令,并將讀到的溫度數(shù)據(jù)從PC0口按位讀取出來,存放在AX寄存器內(nèi)。2.2 溫度轉(zhuǎn)換及顯示模塊本模塊將數(shù)據(jù)采集模塊得到的溫度數(shù)值首先轉(zhuǎn)換為BCD碼,提取溫度數(shù)據(jù),轉(zhuǎn)換為非壓縮型BCD碼。具體轉(zhuǎn)換過程可參考附錄II的核心代碼的BCD轉(zhuǎn)換部分。轉(zhuǎn)換完后調(diào)用Display8在八段數(shù)碼管上顯示溫度。32.3 LED顯示控制模塊根據(jù)此次課程設(shè)計的目的與要求,
5、當(dāng)溫度超過30時,紅色發(fā)光二極管閃爍。 用8255的PA端口來控制紅燈亮,中間再調(diào)用一個延時,可以從視覺上 看出紅燈閃爍。具體過程可參考附錄中的程度代碼。2.4蜂鳴器控制模塊根據(jù)此次課程設(shè)計的目的與要求,當(dāng)溫度值大于30時,要控制蜂鳴器做出報警。本程序是利用8255PC端口(PC1)來控制蜂鳴器發(fā)出報警聲音。2.5直流電機(jī)控制模塊根據(jù)此次課程設(shè)計的目的與要求,當(dāng)溫度超過20小于25時,要控制風(fēng)機(jī)低速轉(zhuǎn)動。當(dāng)溫度超過25小于30時,要控制風(fēng)機(jī)中速轉(zhuǎn)動,當(dāng)溫度超過30時,要控制風(fēng)機(jī)高速轉(zhuǎn)動。設(shè)計中通過不同區(qū)間數(shù)據(jù)的比較,給低、中、高三種不同的轉(zhuǎn)速賦予不同的電壓值傳送給DA0832,利用DA0832
6、控制直流電機(jī)轉(zhuǎn)動,由于輸出高電平功率較小,導(dǎo)致無法自動驅(qū)動電機(jī)轉(zhuǎn)動,所以在輸出之后接試驗(yàn)箱的功放模塊,放大功率后,輸出高電平可自動驅(qū)動直流電機(jī)轉(zhuǎn)動。4三、課程設(shè)計過程3.1硬件設(shè)計表1 硬件連線3.2軟件設(shè)計軟件部分利用實(shí)驗(yàn)箱為運(yùn)行平臺,運(yùn)用匯編指令編寫??刂瞥绦蛑饕?度數(shù)據(jù)采集模塊、溫度轉(zhuǎn)換及顯示模塊、LED顯示控制模塊、蜂鳴器控制模塊、風(fēng)機(jī)控制模塊等。初始化程序包含:8255初始化程序、18B20初始化子程序。四、系統(tǒng)測試4.1系統(tǒng)調(diào)試按照硬件連線連接電路,為方便調(diào)試,將程序內(nèi)的溫度區(qū)間作了調(diào)整。將原來設(shè)計要求里的<=10暫時設(shè)定為18到20,10到30設(shè)定為25到30。系統(tǒng)啟
7、動后,溫度傳感器得到當(dāng)前室溫,但是溫度過低。之后給溫度采集模塊的Ctrl引腳一定的電壓,手動升溫,當(dāng)溫度到20不超過25風(fēng)機(jī)開始低速轉(zhuǎn)動,當(dāng)溫度到了25但不超過30時,風(fēng)機(jī)開始中速轉(zhuǎn)動,當(dāng)溫度超過30時,此時蜂鳴器開始發(fā)出報警聲,紅色發(fā)光二極管開始閃爍,表示溫度過高。4.2過程調(diào)試在調(diào)試過程中,雖然遇到了很多的問題,程序代碼有錯誤,線路連接的不恰當(dāng)?shù)?,通過老師和同學(xué)的幫助,出通過查一些資料,最終解決了這些問題。完成了設(shè)計。設(shè)計中,當(dāng)溫度低于20或者溫度大于40時,需要控制蜂鳴器報警,設(shè)計初期想利用可編程并行接口8255的PC1口輸出低電平控制蜂鳴器,但是調(diào)試過程中發(fā)現(xiàn),由于程序運(yùn)行過程中需要對
8、8255不斷的進(jìn)行初始化操作,導(dǎo)致PC1口的電平不穩(wěn)定,使蜂鳴器不能很好的控制,通過查資料,修改設(shè)計,利用PC1、PC2 、PC3輸出高電平,接74LS138譯碼器控制蜂鳴器報警,這樣就能很好的解決該問題。調(diào)試中,由于室內(nèi)的溫度過低,在要求的溫度范圍內(nèi)帶動風(fēng)機(jī)不能轉(zhuǎn)動,所以決定加上一定的電壓使采集的溫度不至少于太低,經(jīng)過調(diào)試后,由于輸出的功率不高,帶動風(fēng)機(jī)轉(zhuǎn)動不明顯,所以在DA0832的輸出端口OUT端連上了功放電6路,這時當(dāng)溫度在某個區(qū)間時,風(fēng)機(jī)就可以明顯地看出轉(zhuǎn)速的快慢。由此解決了電機(jī)的控制問題。設(shè)計中,利用可編程并行接口8255的PA口控制發(fā)光管。當(dāng)需要某一顏色的發(fā)光管常亮?xí)r,其他的發(fā)光
9、管需要處于熄滅狀態(tài),但通過調(diào)試發(fā)現(xiàn),實(shí)際運(yùn)行過程中,當(dāng)某一顏色的發(fā)光管常亮?xí)r,其他發(fā)光管長時間處于熄滅狀態(tài),但還會出現(xiàn)一個短暫的點(diǎn)亮的過程,導(dǎo)致其他發(fā)光管出現(xiàn)閃爍,后來經(jīng)過請教老師得知,由于程序運(yùn)行過程中需要對8255不斷的進(jìn)行初始化操作,每次初始化,8255的PA口會輸出高電平,導(dǎo)致某些發(fā)光管出現(xiàn)短暫的閃爍,解決方法是可以使用另外一個可編程并行接口8255,用這個8255的PA口來控制發(fā)光管,程序運(yùn)行過程不會多次對這個8255初始化,所以不會再出現(xiàn)上一個問題。經(jīng)過測試,這樣做可以解決該問題。五、程序代碼清單.MODEL TINY;連線;8255 CS->CS1; A0->A0;
10、A1->A1CON_8255 EQU 0F003HPC_8255 EQU 0F002HPB_8255 EQU 0F001HPA_8255 EQU 0F000HDA0832 EQU 0D000HEXTRN DISPLAY8:NEAR.STACK 300.DATAVOLTAGE DB 0BUFFER DB 8 DUP(0) ;溫度臨時存放區(qū)7.CODESTART: MOV AX,DATAMOV DS,AXMOV ES,AXNOPCALL INIT8255MAIN: CALL START_TEMPERATURE ;向DS18B20發(fā)送讀溫度指令JB MAINCALL DELAYTIMECALL
11、 RD_TEMPERATURE ;讀出溫度值,并轉(zhuǎn)換為BCD碼CALL TEMPERATURE_CASECALL DELAYTIMECALL DAC0832CALL DIS_BCD ;提取溫度數(shù)據(jù),轉(zhuǎn)換為非壓縮型BCD碼,并顯示JMP MAIN;判斷溫度控制電機(jī)速度TEMPERATURE_CASE PROC NEARPUSH AXMOV DX,PC_8255 ;蜂鳴器不響MOV AL,03HOUT DX,ALMOV BX,AXCMP BX,0120H ;18JB CASE1CMP BX,0140H ;20JB CASE2CMP BX,0190H ;25JB CASE3CMP BX,01E0H
12、;30JB CASE4MOV DX,PC_8255 ;超過30時,驅(qū)動蜂鳴器響MOV AL,02HOUT DX,AL8JMP CASE5RETURN: POP AXRETCASE1: MOV VOLTAGE,0FHJMP RETURNCASE2: MOV VOLTAGE,0FHJMP RETURNCASE3: MOV VOLTAGE,20H ;2025間風(fēng)機(jī)開始低速轉(zhuǎn)動JMP RETURNCASE4: MOV VOLTAGE,55H ;2530間風(fēng)機(jī)中速轉(zhuǎn)動 JMP RETURNcase5:MOV DX,PA_8255 ;超過30時風(fēng)機(jī)高速轉(zhuǎn)動,此時紅燈閃爍MOV AL,0CCHOUT DX,
13、ALCALL DELAYTIMEMOV DX,PA_8255MOV AL,00HOUT DX,ALMOV VOLTAGE,99HJMP RETURNTEMPERATURE_CASE ENDPDAC0832 PROC NEARPUSH AXMOV DX,DA0832MOV AL,VOLTAGEOUT DX,ALPOP AXRETDAC0832 ENDP9;*;溫度轉(zhuǎn)換/顯示;*DIS_BCD PROC NEARMOV BX,AXLEA DI,BUFFER+7STDMOV AL,10H ;10H表示不需要顯示 STOSBSTOSBSTOSBSTOSBTESTJNZSTOSBJMPDIS_BCD1:
14、 MOVSTOSBNEGDIS_BCD2:SHLSHLSHLSHLMOVXCHGDIVCMPJNZ處理MOVXCHGSTOSBJMPDIS_BCD3: STOSBDIS_BCD4: MOVORSTOSBXORTESTJZMOVDIS_BCD5: TESTAH,08H DIS_BCD1 ;正數(shù) DIS_BCD2 AL,11H ;負(fù)數(shù) BX ;將溫度整數(shù)位轉(zhuǎn)換為ASCI BX,1 ;將溫度的個位與十位合在BH中 BX,1 BX,1 BX,1 AX,10 AL,BH BH AL,0 DIS_BCD3 ;判斷溫度的十位是否為0進(jìn)行相應(yīng) AL,10H ;十位為0 AL,DI+1 DIS_BCD4 AL,
15、AH AL,80H ;小數(shù)點(diǎn) AL,AL ;轉(zhuǎn)換小數(shù)部分 BL,10H DIS_BCD5 AL,6 BL,20H 10JZ DIS_BCD6 ADD AL,12H DAADIS_BCD6: TEST BL,40H JZ DIS_BCD7 ADD AL,25H DAADIS_BCD7: TEST BL,80H JZ DIS_BCD8 ADDDAADIS_BCD8: MOVRORANDSTOSBCLDLEACALLRETDIS_BCD ENDP;延時程序DELAYTIME PROCXORLOOPLOOPLOOPRETDELAYTIME ENDP;寫 0W_L PROCPUSHMOVMOVOUTPO
16、PRETW_L ENDP;寫 1W_H PROCPUSHMOVAL,50H CL,4 AL,CL AL,0FH SI,BUFFER ;顯示溫度DISPLAY8 NEAR CX,CX $ $ $ NEAR AX DX,CON_8255 AL,80H DX,AL AX NEAR AX DX,CON_8255 11MOV AL,01HOUT DX,ALPOP AXRETW_H ENDP;DS18B20復(fù)位初始化子程序INIT_18B20 PROC NEARCALL W_L ;主機(jī)發(fā)出501us復(fù)位低脈沖 MOV CX,136LOOP $MOV DX,CON_8255MOV AX,89HOUT DX,
17、AL ;PC輸入狀態(tài)DEC DXMOV CX,15INIT_18B20_1: IN AL,DXTEST AL,01HJZ INIT_18B20_2LOOP INIT_18B20_1STC ;置位標(biāo)志位,表示DS18B20不存在 RETINIT_18B20_2: MOV CX,136LOOP $CLC ;復(fù)位標(biāo)志位,表示DS18B20存在 RETINIT_18B20 ENDP;寫操作WRITE_18B20 PROC NEARMOV CX,8 ;一共8位數(shù)據(jù)WRI: CALL W_L ;0->PC0ROR AL,1JNB WRI1CALL W_HWRI2: PUSH CXMOV CX,12L
18、OOP $ ;延時55usPOP CXCALL W_HLOOP WRIRETWRI1: PUSH CXPOP CX12JMP WRI2WRITE_18B20 ENDP;讀操作READ_18B20 PROC NEARMOV CX,8 ;數(shù)據(jù)一共有8位 READ: MOV DX,CON_8255MOV AL,80HOUT DX,AL ;0->PC0MOV AL,89HOUT DX,AL ;輸入狀態(tài)NOPNOPNOPMOV DX,PC_8255IN AL,DXROR AL,1RCR BL,1MOV DX,CON_8255MOV AL,80HOUT DX,ALMOV AL,01HOUT DX,AL ;1->PC0LOOP READMOV AL,BLRETREAD_18B20 ENDP;*; 判斷DS18B20是否存在,啟動DS18B20 ;CY為判斷標(biāo)志 ;*START_TEMPERATURE:CALL INIT_18B20 ;先復(fù)位DS18B20 JB GET_TMOV AL,0CCH ;跳過ROM匹配 CALL WRITE_18B20MOV AL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度安全生產(chǎn)標(biāo)準(zhǔn)化咨詢服務(wù)及現(xiàn)場指導(dǎo)合同3篇
- 2024生物質(zhì)鍋爐余熱回收利用項(xiàng)目合作協(xié)議3篇
- 2025年度大理石地暖系統(tǒng)設(shè)計與施工合同3篇
- 2024軟件系統(tǒng)銷售合同系統(tǒng)購買合同
- 2024物業(yè)企業(yè)服務(wù)能力提升與市場拓展合作協(xié)議3篇
- 敦煌壁畫與文創(chuàng)知到智慧樹章節(jié)測試課后答案2024年秋酒泉職業(yè)技術(shù)學(xué)院
- 森林防火施工員聘用協(xié)議
- 建筑工程節(jié)能改造合同
- 別墅鋅鋼欄桿安裝施工協(xié)議
- 健身中心圍墻施工協(xié)議
- 吉林市2024-2025學(xué)年度高三第一次模擬測試 (一模)數(shù)學(xué)試卷(含答案解析)
- 自考《英語二》高等教育自學(xué)考試試題與參考答案(2024年)
- 應(yīng)急物資智能調(diào)配系統(tǒng)解決方案
- 2025年公務(wù)員考試時政專項(xiàng)測驗(yàn)100題及答案
- 《春秋》導(dǎo)讀學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024電力安全工作規(guī)程電力線路部分
- 2024年小學(xué)四年級科學(xué)考試練習(xí)試卷(試卷版)
- 《工業(yè)園區(qū)節(jié)水管理技術(shù)規(guī)范(征求意見稿)》編制說明
- GB/T 44186-2024固定式壓縮空氣泡沫滅火系統(tǒng)
- 2024秋七年級數(shù)學(xué)上冊 第一章 有理數(shù)1.8 有理數(shù)的乘法 1有理數(shù)的乘法教案(新版)冀教版
- 五年級科學(xué)上冊(冀人版)第15課 光的傳播(教學(xué)設(shè)計)
評論
0/150
提交評論