空調(diào)自動(dòng)控制系統(tǒng)軟件設(shè)計(jì)及調(diào)試_第1頁(yè)
空調(diào)自動(dòng)控制系統(tǒng)軟件設(shè)計(jì)及調(diào)試_第2頁(yè)
空調(diào)自動(dòng)控制系統(tǒng)軟件設(shè)計(jì)及調(diào)試_第3頁(yè)
空調(diào)自動(dòng)控制系統(tǒng)軟件設(shè)計(jì)及調(diào)試_第4頁(yè)
空調(diào)自動(dòng)控制系統(tǒng)軟件設(shè)計(jì)及調(diào)試_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、空調(diào)自動(dòng)控制系統(tǒng)軟件設(shè)計(jì)及調(diào)試 尹海蛟空調(diào)的硬件電路只是起到支持作用。因?yàn)樽鳛樽詣?dòng)化控制的大部分功能,只能采取軟件程序來實(shí)現(xiàn),而且軟件程序的優(yōu)點(diǎn)是顯而易見的。它既經(jīng)濟(jì)又靈活方便,而且易于模塊化和標(biāo)準(zhǔn)化。同時(shí),軟件程序所占用的空間和時(shí)間相對(duì)來說比硬件電路的開銷要小得多。同時(shí),與硬件不同,軟件有不致磨損、復(fù)制容易、易于更新或改造等特點(diǎn),但由于它所要處理的問題往往遠(yuǎn)較硬件復(fù)雜,因而軟件的設(shè)計(jì)、開發(fā)、調(diào)試及維護(hù)往往要花費(fèi)巨大的經(jīng)歷及時(shí)間。但相比之下,這些代價(jià)所取得的功能遠(yuǎn)優(yōu)于僅依靠硬件電路所實(shí)現(xiàn)的功能。1.空調(diào)自動(dòng)控制系統(tǒng)軟件程序設(shè)計(jì)思想在硬件電路設(shè)計(jì)好以后,軟件設(shè)計(jì)則是最重要的一個(gè)設(shè)計(jì)部分,由于空調(diào)

2、自動(dòng)控制的大部分智能化功能都是軟件來完成,這樣就使得硬件電路設(shè)計(jì)的簡(jiǎn)化和成本低可以得到實(shí)現(xiàn)。然而,8051單片機(jī)采用的是與其物理地址聯(lián)系非常緊密地匯編語言來進(jìn)行編程的。我們知道匯編語言相對(duì)于高級(jí)語言而言,它的速度是比較快的,而且它的指令代碼也非常簡(jiǎn)單,但前提是編程人員要對(duì)8051單片機(jī)內(nèi)部硬件電路非常熟悉。這對(duì)編程人員的要求是比較高的。在進(jìn)行軟件編程時(shí),我們?nèi)匀灰捎媒Y(jié)構(gòu)化模塊方式編程,從而可以把一些非常大的程序逐步分解為幾個(gè)小程序,這對(duì)于編程人員非常重要的。對(duì)于本課題而言,由于它最終要設(shè)計(jì)成樣機(jī)形式。因此,我們就得對(duì)整機(jī)進(jìn)行監(jiān)控,這個(gè)監(jiān)控程序中應(yīng)包括各種芯片的初始化程序、自診斷程序及許多中斷

3、子程序等事實(shí)上,在對(duì)空調(diào)器上電后,它應(yīng)在單片機(jī)的控制下自動(dòng)轉(zhuǎn)入監(jiān)控程序的執(zhí)行。我們?cè)诰幹茣r(shí)把監(jiān)控程序作為本機(jī)的主程序來進(jìn)行工作。任何故障都會(huì)從監(jiān)控程序的執(zhí)行中得到響應(yīng),而且任何故障給予的響應(yīng)方式和代碼不同,因此這很方便的可以查找到該故障部位。顯然,這只對(duì)硬件電路的故障有效。對(duì)于軟件程序的執(zhí)行故障,我們目前只能通過軟件程序的調(diào)試安裝及仿真來判別它是否正常運(yùn)行。因?yàn)閱纹瑱C(jī)畢竟不是微機(jī)或上位機(jī)。它所能容納的程序能力也是有限的。當(dāng)然,我們可以采用各種技術(shù)進(jìn)行優(yōu)化,這樣就可以最大限度的直至軟件程序的出錯(cuò)運(yùn)行。各種子程序模塊都掛接在該主程序上。編制它時(shí),我們盡可能充分利用8051單片機(jī)的軟件資源及內(nèi)部寄存

4、器資源,這樣可以提高其運(yùn)行速度。硬件和軟件式空調(diào)溫度控制的核心設(shè)計(jì)方面,本課題把研究重點(diǎn)特別投向軟件設(shè)計(jì),畢竟自動(dòng)控制功能大部分都要靠軟件程序來完成。在本課題設(shè)計(jì)過程中,軟件調(diào)試要花大量時(shí)間來調(diào)試運(yùn)行,而硬件電路我們只需簡(jiǎn)單調(diào)試。因此可見硬件設(shè)計(jì)和軟件設(shè)計(jì)有很大區(qū)別,而且在總體調(diào)試中還要對(duì)其進(jìn)行調(diào)整。這都是本課題所研究的內(nèi)容。我們從總體上把握了空調(diào)自動(dòng)控制系統(tǒng)的設(shè)計(jì)思路,初步了解到該研究項(xiàng)目主要的研究工作內(nèi)容和其采用的優(yōu)點(diǎn)。倘若要具體進(jìn)行各個(gè)細(xì)節(jié)方面的工作,我們能夠發(fā)現(xiàn)這種總體設(shè)計(jì)思路對(duì)具體電路的設(shè)計(jì)合理程序模塊設(shè)計(jì)的重要指導(dǎo)意義,不管設(shè)計(jì)研究任何儀器儀表,這種總體設(shè)計(jì)思路總是必需的,而且是有

5、利于我們從整體上把握該空調(diào)控制系統(tǒng)的性能和特點(diǎn)。2.主程序的設(shè)計(jì)及流程圖本課題的主要思想就是檢測(cè)溫度,控制制冷壓縮機(jī)對(duì)室溫進(jìn)行恒定控制。并且將溫度顯示在七段碼顯示器上,還可通過鍵盤控制設(shè)定溫度的增加和減少。主程序通常包括可編程硬件、輸入、輸出端口和參數(shù)的初始化,自診斷管理模塊以及實(shí)時(shí)中斷管理和處理模塊等。我們采用“自頂向下”結(jié)構(gòu)化設(shè)計(jì),它屬于該設(shè)計(jì)中的第一層次,除了初始化和自診斷外,主程序一般總是把其余部分聯(lián)接起來,構(gòu)成一個(gè)無限循環(huán)圖,空調(diào)溫度的自動(dòng)控制的所有功能都在這一循環(huán)圈中周而復(fù)始地、或有選擇地執(zhí)行,除非掉電或按復(fù)位鍵,它不會(huì)跳出這一循環(huán)圈。對(duì)于主程序,由于本設(shè)計(jì)設(shè)有鍵盤和顯示子程序,實(shí)

6、驗(yàn)結(jié)果一目了然。 本主程序從整個(gè)系統(tǒng)的上電復(fù)位開始運(yùn)行,然后對(duì)各種可編程器件及單片機(jī)堆棧和參數(shù)進(jìn)行初始化。接著對(duì)各軟、硬件模塊進(jìn)行自診斷,并同時(shí)判斷有無中斷,等待是哪兒硬件或軟件出錯(cuò)。一旦發(fā)生這種出錯(cuò)情況,則判明后進(jìn)行相應(yīng)的服務(wù)模塊,然后進(jìn)一步自診斷,以達(dá)到運(yùn)行正常,否則就跳出,進(jìn)行出錯(cuò)處理;若無中斷請(qǐng)求,我們開始進(jìn)行實(shí)時(shí)處理狀態(tài),調(diào)用A/D轉(zhuǎn)換子程序,同時(shí)我們采用BCD碼運(yùn)算,這樣進(jìn)行十六位二進(jìn)制數(shù)轉(zhuǎn)換為BCD的子程序。這樣,進(jìn)行各種功能處理模塊,數(shù)據(jù)融合技術(shù)子程序或多線段逼近溫補(bǔ)子程序,處理完畢,我們判斷是子程序,恢復(fù)二進(jìn)制數(shù)碼,同時(shí),判斷誤差程度,若滿足,輸出啟動(dòng)D/A子程序。整個(gè)測(cè)量過

7、程是否結(jié)束,若結(jié)束,則返回,若誤差過大,則重新調(diào)用數(shù)據(jù)融合技術(shù)進(jìn)行計(jì)算處理。若沒有完成,則回到初始化階段循環(huán)再做。這就是整個(gè)空調(diào)溫度控制的主程序的設(shè)計(jì)思想。開始系統(tǒng)初始化溫度設(shè)定兩種溫度比較設(shè)定溫度高?顯示溫度啟動(dòng)壓縮機(jī)D/A轉(zhuǎn)換啟動(dòng)信號(hào)溫度檢測(cè)PID運(yùn)算結(jié)束YN圖 4.1 軟件設(shè)計(jì)流程圖主程序如下:MAIN:MOV SP,#30H MOV TEP0L,#08H ;設(shè)定溫度低位 MOV TEP0H,#01H ;設(shè)定溫度高位 LCALL RESTLP: LCALL STARTMOV R1,#5CH MOV R0,#2CH MOV R2,#03HLP1: LCALL GET_TEP LCALL I

8、N_TEP DJNZ R2,LP1 LCALL FILTER ;數(shù)字濾波 MOV TEP1L,R7 ;室內(nèi)溫度低位 MOV TEP1H,R6 ;室內(nèi)溫度高位 LCALL PID ;PID運(yùn)算 LCALL OV_DO LCALL TEP_A JMP LP3.溫度測(cè)量的子程序溫度測(cè)量通過DS18B20數(shù)字溫度傳感器測(cè)量室內(nèi)溫度,將室內(nèi)溫度值轉(zhuǎn)化為數(shù)字量接入MSC-51單片機(jī)中,并將對(duì)應(yīng)的數(shù)字量?jī)?chǔ)存在TEP1L、TEP1H中。在通過與控制溫度比較對(duì)壓縮機(jī)運(yùn)轉(zhuǎn)進(jìn)行控制。初始化初始化初始化跳過ROM匹配ROM變換溫度等待1S設(shè)置DS18B20讀存儲(chǔ)器B-1=0?YN圖4.2 溫度測(cè)量流程圖溫度測(cè)量子程序

9、:GET_TEMP: LCALL INT ;調(diào)用初使化子程序 MOV A,#0CCH LCALL WRITE ;送入跳過ROM命令 MOV A, #44H LCALL WRITE ;送入溫度轉(zhuǎn)換命令 LCALL INT ;溫度轉(zhuǎn)換完全,再次初使化 MOV A,#0CCH LCALL WRITE ;送入跳過ROM命令 MOV A,#0BEH LCALL WRITE ;送入讀溫度暫存器命令 LCALL READ MOV R7,A ;讀出溫度值低字節(jié)存入R7 LCALL READ MOV R6,A ;讀出謾度值高字節(jié)存入R6 SETB EA RET4.顯示子程序室內(nèi)溫度值和控制溫度值都要通過七段碼顯

10、示器顯示出來,顯示子程序必不可少,將要顯示的室內(nèi)溫度和控制溫度所對(duì)應(yīng)的BCD碼存入MSC-51中SEGDATA儲(chǔ)存單元中,通過控制信號(hào)顯示在相應(yīng)的顯示器上。顯示子程序:DISPLAY:MOV R0,#TEP0L ;顯示內(nèi)容首地址 MOV R1,#01H ;顯示數(shù)碼管的起始位 MOV R2,#04H ;顯示內(nèi)容位數(shù) MOV DPTR,#TAB_NUDIS1: MOV A,R0 ;調(diào)用顯示內(nèi)容 MOVC A,A+DPTR MOV SEGDATA,A SETB SEGD NOP CLR SEGD INC R0 MOV SEGDATA,R1 ;調(diào)用顯示位數(shù) SETB SEGB NOP CLR SEGB

11、 MOV A,R1 RL A MOV R1,A LCALL DELAY3MS ;防止軟件干擾 DJNZ R2,DIS1 RET5.D/A轉(zhuǎn)換子程序單片機(jī)通過DAC0832得到相應(yīng)的啟動(dòng)電壓,使壓縮機(jī)能夠根據(jù)單片機(jī)判斷出的信號(hào)進(jìn)行運(yùn)動(dòng),從而達(dá)到啟動(dòng)空調(diào)、降低室溫的作用D/A轉(zhuǎn)換的子程序如下:D/A_run:MOV DPTR,#FF7FH MOV A,CONTR MOV DPTR,A RET6.PID運(yùn)算子程序加入PID運(yùn)算可以提高溫度測(cè)量的準(zhǔn)確度和調(diào)節(jié)的質(zhì)量,本課題采用PID運(yùn)算正是為了提高運(yùn)算結(jié)果,使之更精確,減少外界的干擾。PID計(jì)算公式: = 一、PID算法子程序 PID算法子程序詳細(xì)見附

12、錄PID子程序 下圖為PID算法的流程圖根據(jù) 計(jì)算 計(jì)算 計(jì)算 計(jì)算 計(jì)算 + 計(jì)算 返回圖4.3 PID 算法流程圖二、PID算法中的求補(bǔ)過程PID算法中存在著許多的數(shù)學(xué)算法子程序,舉例說明求補(bǔ)過程是比較關(guān)鍵的一步子程序。求補(bǔ)程序的設(shè)計(jì)流程如圖4.4(2CH)送A(2CH) (2DH)(2CH)>(2DH)?(2CH)(2DH)?(2CH)(2EH)?(2DH)(2EH)?(2DH)>(2DH)?(2EH)>(2CH)?(2DH)送2AH(2DH)送2AH(2EH)送2AH(2EH)送2AH(2CH)送2AH返回NNNYYYYNNYNY圖4.4 求補(bǔ)子程序流程圖7.數(shù)字濾波

13、子程序設(shè)計(jì)思想及其流程圖 一、數(shù)字濾波設(shè)計(jì)思想及流程圖數(shù)字濾波是一種克服隨機(jī)誤差的軟件算法。因?yàn)殡S機(jī)誤差是又竄入儀表的隨機(jī)干擾所引起的,這種誤差是指在相同條件下測(cè)量同一量時(shí),其大小和符號(hào)作無規(guī)則的變化而無法預(yù)測(cè),但在多次測(cè)量中它是符合統(tǒng)計(jì)規(guī)律的。這樣,我們根據(jù)統(tǒng)計(jì)規(guī)律可消除誤差,同時(shí)數(shù)字濾波還可以對(duì)信號(hào)進(jìn)行必要的平滑處理,以保證儀表及系統(tǒng)的正常運(yùn)行。數(shù)字濾波有以下特點(diǎn):(1)數(shù)字濾波無需硬件,只是一個(gè)計(jì)算過程,因此可靠性高,不存在阻抗匹配問題;(2)數(shù)字濾波實(shí)用軟件算法實(shí)現(xiàn)的,因此可以使多個(gè)輸入通過共用一個(gè)軟件“濾波器”,從而降低儀表硬件成本;(3)只要適當(dāng)改變軟件濾波器的濾波程序或運(yùn)算參數(shù),

14、就能方便地改變?yōu)V波特性。前面討論到數(shù)字濾波的方法有很多,我們?cè)谠O(shè)計(jì)智能型壓力變送器是采用了較為常用的算術(shù)平均濾波法。它就是連續(xù)取n個(gè)采樣值進(jìn)行算術(shù)平均,其數(shù)學(xué)表達(dá)式為:= 顯然,算術(shù)平均濾波對(duì)信號(hào)的平滑程度完全取決于N。N較大時(shí),平滑度高,但靈敏度低;當(dāng)N較小時(shí),平滑度低,但靈敏度高。二、數(shù)字濾波子程序FILTER : MOV A, 2CH MOV R3, 5CH CJNE A, 2DH ,CMP1 CJNE R3, 5DH ,CMP1 AJMP CMP2 CMP1: JNC CMP2 XCH A ,2DH XCH A ,2CH XCH R3 ,5DH XCH R3,5CH CMP2: MOV A ,2DH MOV R3 ,5DHCJNE A ,2EH ,CMP3 CJNE R3 ,5EH ,CMP3

溫馨提示

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

評(píng)論

0/150

提交評(píng)論