智能水溫控制系統(tǒng)的設(shè)計_第1頁
智能水溫控制系統(tǒng)的設(shè)計_第2頁
智能水溫控制系統(tǒng)的設(shè)計_第3頁
智能水溫控制系統(tǒng)的設(shè)計_第4頁
智能水溫控制系統(tǒng)的設(shè)計_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、智能水溫控制系統(tǒng)的設(shè)計摘要:近年來隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,同時帶動傳統(tǒng)控制檢測日新月異更新。本文給出了一個基于 AT89C51 單片機(jī)控制的水溫智能控制系統(tǒng)。重點闡述了系統(tǒng)的硬件構(gòu)成,各部分的主要作用及系統(tǒng)軟件的設(shè)計過程。設(shè)計方案的核心部件是80C51,通過硬件及軟件的合理設(shè)計,使系統(tǒng)能滿足控制模型中不同階段的要求。系統(tǒng)的采集模塊采用了AD590溫度傳感器作為測溫元件,而控制模塊則通過控制可控硅的導(dǎo)通和截止,從而控制加熱電壓的通與斷,使控制具有靈敏、可靠、抗干擾能力強(qiáng)等優(yōu)點。水溫直接由人工設(shè)定,并能在環(huán)境溫度變化時實現(xiàn)自動調(diào)整以保持設(shè)定的溫度基本不變,實測水溫用十進(jìn)

2、制數(shù)碼管顯示輸出。關(guān)鍵詞:智能控制;水溫控制;數(shù)據(jù)采集;溫度傳感器 A Design Of Water Temperature BrainpowerControlling SystemAbstract:The paper main design a brainpower controlling system of water temperature based on MCS-51. It expounds emphatically the hardware structure of the system, the main function, and the process of the sy

3、stem software design. The core of the design is MCS-51. Through reasonable design of hardware and software to make the system meet the demands of different phases of the control model, the collection module of the system uses AD590 as the element of the temperature measurement, and the control modul

4、e uses the optical shutter. The heating voltage is controlled by optical shutter, the control has the advantages of sensitive and dependable and strong ability of resisting disturbance. The water temperature may be set at some degree by manpower and auto-adjusted as environment is cool, so the water

5、 temperature keeps constantly and is displayed in decade. Key Words:Brainpower controlling, water temperature controlling, date collection, temperature sensor目 錄摘 要2緒 論5一、總體設(shè)計61.1電路實現(xiàn)的功能及特點61.2原理方框圖及說明61.3總體方案論證8二、硬件設(shè)計9 2.1電源模塊92.2主機(jī)控制部分論證92.3溫度采集模塊論證102.4后向溫度控制模塊論證102.5鍵盤顯示模塊論證10三、軟件設(shè)計123.1 主程序設(shè)計12

6、3.2 溫度設(shè)定、傳送和顯示子程序233.3 PWM電壓輸出子程序263.4 PID計算子程序29四、設(shè)計總結(jié)37參考文獻(xiàn)38致 謝39附 錄40緒 論隨著社會的發(fā)展和科技的進(jìn)步以及測溫儀器在各個領(lǐng)域的應(yīng)用,智能化是現(xiàn)代溫控系統(tǒng)發(fā)展的主流方向,特別是今年來,溫度控制系統(tǒng)已應(yīng)用到生活的各個方面,但是溫度控制一直是一個未開發(fā)的領(lǐng)域,是與人們息息相關(guān)的一個問題。針對這種實際情況,設(shè)計一個溫度控制系統(tǒng),具有廣泛的應(yīng)用前景和實際意義。溫度是科學(xué)技術(shù)中最基本的物理量之一。溫度常常是表征對象和過渡狀態(tài)的重要物理量。各行各業(yè)對溫度的要求越來越高,可見溫度的測量和控制是非常重要的。單片機(jī)在電子產(chǎn)品中的應(yīng)用已經(jīng)越

7、來越廣泛,在很多的電子產(chǎn)品中也用到了溫度檢測和溫度控制。 本文主要介紹單片機(jī)溫度控制系統(tǒng)的設(shè)計過程,其中涉及系統(tǒng)結(jié)構(gòu)設(shè)計、元器件的選取、程序的調(diào)試和系統(tǒng)參數(shù)的整定。在系統(tǒng)構(gòu)建時選取了AT89c51芯片作為該控制系統(tǒng)的核心,溫度信號由新型的可編程溫度傳感器(DS18B20)提供。通過軟件實現(xiàn)對水溫的控制,使用繼電器作執(zhí)行部件。水溫可以在一定范圍內(nèi)由人工設(shè)定,并能在環(huán)境溫度降低時實現(xiàn)自動控制,以保持設(shè)定的溫度基本不變,具有較好的快速性與較小的超調(diào)。該系統(tǒng)為一實驗系統(tǒng),要求系統(tǒng)有控制能力,實現(xiàn)對主要可變參數(shù)的實時監(jiān)控。使用軟件編程既減少了系統(tǒng)設(shè)計的工作量,又提高了系統(tǒng)開發(fā)的速度,使用軟件還可以提高所

8、設(shè)計系統(tǒng)的穩(wěn)定性,避免了因個人設(shè)計經(jīng)驗不足而產(chǎn)生過多的系統(tǒng)缺陷。一、總體設(shè)計1.1電路實現(xiàn)的功能及特點 一個水溫控制系統(tǒng),對象為一升凈水,加熱器為1KW的電爐。設(shè)計擬達(dá)到的主要要求:1)水溫由人工設(shè)定,范圍:4090,最小區(qū)分度為1,并能在環(huán)境溫度變化時實現(xiàn)自動調(diào)整,以保持設(shè)定的溫度基本不變;2)控制精度:溫度控制的靜態(tài)誤差小于1;3)用十進(jìn)制數(shù)碼顯示實際水溫;該系統(tǒng)的特點是采用適當(dāng)?shù)目刂品椒?,?dāng)設(shè)定溫度突變(由40提高到 60)時,減小系統(tǒng)的調(diào)節(jié)時間和超調(diào)量。 能在環(huán)境溫度降低時實現(xiàn)自動調(diào)整,以保持設(shè)定的溫度基本不變。1.2原理方框圖及說明采用AT89C51單片機(jī)為核心,配合溫度傳感器,信號

9、處理電路,顯示電路,輸出控制電路組成,軟件選用匯編語言編程。單片機(jī)可將溫度傳感器檢測到的水溫模擬量轉(zhuǎn)換成數(shù)字量,顯示于數(shù)碼管上。原理方框圖如圖1-1所示圖1-1水溫控制原理方框圖1.3總體方案論證依據(jù)課題要求,提出三種方案方案一 此方案是傳統(tǒng)的一位式模擬控制方案,選用模擬電路,用電位器設(shè)定給定值,反饋的溫度值和設(shè)定值比較后,決定加熱或不回?zé)?。系統(tǒng)受環(huán)境影響大,不能實現(xiàn)復(fù)雜的控制算法,不能用數(shù)碼顯示,不能用鍵盤設(shè)定。方案二 此方案是傳統(tǒng)的二位式模擬控制方案,其基本思想與方案一相同,但由于采用上下限比較電路,所以控制精提高。這種方法還是模擬控制方式,因此也不能實現(xiàn)復(fù)雜的控制算法使控制精度做得較高,

10、而且仍不能用數(shù)碼顯示和鍵盤設(shè)定方案三 此方案采用89C51單片機(jī)系統(tǒng)來實現(xiàn)。單片機(jī)軟件編程靈活、自由度大,可用軟件編程實現(xiàn)各種控制看法和邏輯控制。可實現(xiàn)數(shù)碼顯示和鍵盤設(shè)定等多種功能,系統(tǒng)電路框圖如圖2-1所示:數(shù)據(jù)采集鍵盤設(shè)定電源電路89C51 單片機(jī)串行接口控制電路數(shù)碼顯示圖2-1系統(tǒng)電路框圖方案一和方案二是傳統(tǒng)的模擬控制方式,而模擬控制系統(tǒng)難以實現(xiàn)復(fù)雜控制規(guī)律,控制方案的修改也較麻煩。而方案三是采用以89C51為控制核心的單片機(jī)控制系統(tǒng),尤其對溫度控制,它可達(dá)到模擬控制所達(dá)不到的控制效果,并且可實現(xiàn)顯示、鍵盤設(shè)定等多種功能,又易于擴(kuò)展,大大提高了系統(tǒng)的智能化,也使得系統(tǒng)所測結(jié)果精度大大提高

11、。故選擇方案三。二、硬件設(shè)計2.1電源模塊在本設(shè)計中,用于控制和運(yùn)算的單片機(jī)以及數(shù)碼管顯示器都需要在+5V直流電壓下才能工作,運(yùn)算放大電路需要在12V直流電壓下工作。因此,這里需要一個能輸出+5V和12V的直流電壓源。電壓源的選擇也有兩個方案。方案一:直接用干電池供電。此方法不用焊接電路,簡單方便,但是由于它提供的4.5V的電壓,電壓不夠,提供12V電壓時需要8節(jié)干電池連接,而且供電不穩(wěn)定,帶負(fù)載能力不強(qiáng)。因此,此方案不可取。方案二:自制一個直流穩(wěn)壓電源。直流穩(wěn)壓電源一般由電源變壓器,整流電路,濾波電路和穩(wěn)壓電路四部分組成。其基本原理框圖如圖2-2:圖2-2 直流穩(wěn)壓電源基本組成原理及電路圖如

12、圖2-2所示直流電源的輸入為220V的電網(wǎng)電壓,所需直流電壓的數(shù)值和電網(wǎng)電壓的有效值相差較大,因而需要通過電源變壓器降壓。再通過整流電路將正弦波電壓轉(zhuǎn)換為單一方向的脈動電壓。為了減小電壓的脈動,需通過低通濾波電路濾波,使輸出電壓平滑。理想情況下是可以將交流分量全部濾掉,但是因為受負(fù)載影響,加之濾波電路并不能達(dá)到理想效果。還需要加入穩(wěn)壓電路,使輸出直流電壓基本不受電網(wǎng)電壓波動和負(fù)載電阻變化的影響。2.2主機(jī)控制部分論證方案1:采用8031芯片,其內(nèi)部沒有程序存儲器,需要進(jìn)行外部擴(kuò)展,這給電路增加了復(fù)雜度。方案2:本方案的CPU模塊采用2051芯片,其內(nèi)部有2KB單元的程序存儲器,不需外部擴(kuò)展程序

13、存儲器。但由于系統(tǒng)用到較多的I/O口,因此此芯片資源不夠用。方案3:采用AT89C51單片機(jī),其內(nèi)部有8KB單元的程序存儲器,不需外部擴(kuò)展程序存儲器,而且它的I/O口也足夠本次設(shè)計的要求。比較這3種方案,綜合考慮單片機(jī)的各部分資源,因此此次設(shè)計選用方案3。2.3溫度采集模塊論證方案1:采用熱敏電阻,可滿足35-95的測量范圍,但熱敏電阻精度、重復(fù)性和可靠性都比較差,對于檢測精度小于1的溫度信號是不適用的。方案2:采用單總線可編程溫度傳感器測溫度。DS18B20數(shù)字可編程溫度傳感器可測溫范圍55125,在-10+85時精度為0.5。可編程的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5、0.25

14、、0.125和0.0625,可實現(xiàn)高精度測溫。在9位分辨率時最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。測量結(jié)果直接輸出數(shù)字溫度信號,以一線總線串行傳送給CPU,同時可傳送CRC校驗碼,具有極強(qiáng)的抗干擾糾錯能力。但是由于其編寫程序過程復(fù)雜,價格也較一般傳感器昂貴,所以在這里我們并不采用。 方案3:采用溫度傳感器AD590。:AD590具有體積小、質(zhì)量輕、線形度好、性能穩(wěn)定等優(yōu)點。其測量范圍在-50- +150,滿刻度范圍誤差為0.3,當(dāng)電源電壓在510V之間,穩(wěn)定度為1時,誤差只有0.01,其各方面特性都滿足此系統(tǒng)的設(shè)計要求。此外AD5

15、90是溫度-電流傳感器,對于提高系統(tǒng)抗干擾能力有很大的幫助。 經(jīng)上述比較,方案3明顯優(yōu)于方案1和2選用方案3。2.4后向溫度控制模塊論證方案1:采用電磁式繼電器驅(qū)動電路控制,它采用較小的電流去控制較大電流,達(dá)到一種“自動開關(guān)” 在電路中起著自動調(diào)節(jié)、安全保護(hù)、轉(zhuǎn)換電路等作用。電磁式繼電器利用在線圈加上一定的電壓, 線圈中會流過一定的電流, 產(chǎn)生電磁效應(yīng), 銜鐵就會在電磁力作用下對觸點簧片吸合、釋放,從而達(dá)到了在電路中的導(dǎo)通、切斷的目的.其優(yōu)點為抗干擾能力強(qiáng),過壓過流大, 以及電路的簡潔,簡單. 作為工控產(chǎn)品好.方案2:溫控電路要由光電耦合器MOC3041和雙向可控硅BTA12組成. 由于可控硅

16、只有導(dǎo)通和關(guān)斷兩種工作狀態(tài),所以它具有開關(guān)特性。采用脈寬調(diào)制輸出控制電爐與電源的接通和斷開比例,以通斷控制調(diào)壓法控制電爐的輸入功率。但由于采用繼電器控制繼電器的壽命比不上可控硅,而且電路過于簡單,不能控制電爐的輸入功率. 因此采用方案2.2.5鍵盤顯示模塊論證方案1:使用液晶顯示屏顯示水溫。液晶顯示屏(LED)具有輕薄短小,低耗電量,無輻射危險,平面直角顯示以及影像穩(wěn)定不閃爍等優(yōu)勢,可視面積大,畫面效果好,分辨率高,抗干擾能力強(qiáng)等特點。但是由于只需顯示溫度這樣的數(shù)字,信息量比較少,且由于液晶是以點陣的模式顯示各種符號,需要利用控制芯片創(chuàng)建字符庫,編程工作量大,控制器的資源占用比較多,而且其成本

17、也比較高。方案2:采用可編程控制器8279與傳統(tǒng)數(shù)碼管及地址譯碼器74LS138組成,可編程/顯示器件8279實現(xiàn)對按鍵的掃描、消除抖動、提供LED的顯示信號,并對LED顯示控制。用8279和鍵盤組成的人機(jī)控制平臺,能夠方便的進(jìn)行控制單片機(jī)的輸出。方案3:采用單片機(jī)AT89C51與地址譯碼器74LS138組成控制和掃描系統(tǒng),并用74 LS164的譯碼器接受片機(jī)AT89C51通過串行口輸出的BCD串行碼經(jīng)譯碼輸出為BCD碼,這種方案既能很好的控制鍵盤及顯示,又為主單片機(jī)大大的減少了程序的復(fù)雜性,而且具有體積小,價格便宜的特點。對比兩種方案可知,方案2雖然也能很好的實現(xiàn)電路的要求,但考慮到電路設(shè)計

18、的成本和電路整體的性能,我們采用方案3。三、軟件設(shè)計3.1軟件設(shè)計主要完成以下的幾部分任務(wù):初始化,設(shè)定各參數(shù)的初始值,設(shè)定各中斷及定時器。(1) (2)接收/發(fā)射數(shù)據(jù)此部分程序主要完成數(shù)據(jù)的控制及顯示,其主要通過89C51單片機(jī)的全雙工串行口完成和鍵盤部分的雙向通信。 (3)溫度采集和數(shù)值轉(zhuǎn)換子程序,此部分程序主要完成將AD590中傳送過來的數(shù)據(jù)進(jìn)行各種數(shù)值的轉(zhuǎn)換及數(shù)值的運(yùn)算(如十進(jìn)制轉(zhuǎn)換成十六進(jìn)制、雙字節(jié)與單字節(jié)的除法運(yùn)算等等)。 (4)PID和PWM子程序,此部分程序主要完成控制電爐加溫的作用。本系統(tǒng)采用的是循環(huán)查詢方式4,來顯示和控制溫度的。3.1 主程序設(shè)計主程序流程圖如圖4-1所示

19、開始初始化調(diào)用讀溫度模塊程序 AD590存在? N錯誤處理顯示888.8Y處理溫度值轉(zhuǎn)換BCD碼溫度設(shè)定,傳送電路,顯示溫度模塊與采樣值進(jìn)行比較=0 Y調(diào)用PID計算模塊N圖4-1總流程圖ORG 0000H LJMP MAIN ORG 0003H LJMP INT0 ORG 0030HMAIN: MOV SP,#70H ;置初值 CLR P1.7 MOV R0,#40H SETB PSW.4 SETB PSW.3 SETB IT0 SETB EA SETB EX0 MOV TMOD,#20H ;波特率9600 MOV TH1,#0FDH MOV TL1,#0FDH SETB TR1 MOV S

20、CON,#50H SETB TI CLR 30H CLR 01H SETB P1.7 CLR P1.6 CLR P1.5 MOV DPTR,#0BFFFH MOV A,#00H MOV 2EH,#0 MOV 2DH,#0 MOV 2CH,#0 MOV 2BH,#0 MOV 2AH,#0 MOV 29H,#0 MOV 62H,#0LOOP: MOV DPTR,#0BFFFH MOVX DPTR,A ;啟動A/D轉(zhuǎn)換 CLR 00HWAIT: LCALL XUANCHAXUN:JNB P1.3,LOOP1 ;調(diào)整 JNB P1.4,LOOP2 JNB 00H,GG ;判斷是否再啟動 LJMP LO

21、OPGG: LJMP WAIT;=上限溫度調(diào)整=LOOP1: CLR EX0 LCALL DELAY1 JNB P1.3,$ MOV 62H,2EH MOV 61H,2DH MOV 60H,2CH JB P1.2,M2 MOV A,2EH ADD A,#01 DA A MOV 2EH,A CJNE A,#10H,M1 MOV 2EH,#00M1: JNB P1.2,$M2: JB P1.1,M4 MOV A,2DH ADD A,#01H DA A MOV 2DH,A CJNE A,#10H,M3 MOV 2DH,#00M3: JNB P1.1,$M4: JB P1.0,M5 MOV A,2CH

22、 ADD A,#01 DA A MOV 2CH,A CJNE A,#10H,M5 MOV 2CH,#00M5: JNB P1.0,$ SETB 30H ;是否顯示第一位的標(biāo)志位 MOV 63H,#11H ;顯示“上” MOV 62H,2EH MOV 61H,2DH MOV 60H,2CH LCALL DELAY JNB P1.3,TUI ;再次中斷時,退出 LJMP LOOP1;=下限溫度調(diào)整=LOOP2: CLR EX0 JNB P1.3,$ MOV 62H,2BH MOV 61H,2AH MOV 60H,29H JB P1.2,L2 MOV A,2BH ADD A,#01 DA A MOV

23、 2BH,A CJNE A,#10H,L1 MOV 2BH,#00L1: JNB P1.2,$L2: JB P1.1,L4 MOV A,2AH ADD A,#01H DA A MOV 2AH,A CJNE A,#10H,L3 MOV 2AH,#00L3: JNB P1.1,$L4: JB P1.0,L5 MOV A,29H ADD A,#01 DA A MOV 29H,A CJNE A,#10H,L5 MOV 29H,#00L5: JNB P1.0,$ SETB 30H ;是否顯示第一位的標(biāo)示位 MOV 63H,#0FH ;顯示“下” MOV 62H,2BH MOV 61H,2AH MOV 6

24、0H,29H LCALL DELAY JNB P1.4,TUI ;再次中斷時,退出 LJMP LOOP2 TUI: MOV A,2BH CLR C CJNE A,2EH,AA ;比較上限是否低于下限 MOV A,2AH CJNE A,2DH,AA MOV A,29H CJNE A,2CH,AA LJMP XXX ;正常AA: JNC ERRO ;上限低于下限,跳轉(zhuǎn) XXX: SETB EX0 MOV A,R0 LCALL XUAN LJMP WAITERROR: MOV 63H,#0EH ;顯示“ERROR“ MOV 62H,#15H MOV 61H,#15H MOV 60H,#0H SETB

25、 30H SETB 01HEEEE: LCALL DELAY JNB P1.3,XX1 ;是否重新調(diào)整 JNB P1.4,XX2 LJMP EEEEXX1: LJMP LOOP1XX2: LJMP LOOP2;=顯示數(shù)據(jù)轉(zhuǎn)換=Xian: MOV A,R0 MOV B,#100 MUL AB MOV R3,A MOV A,B MOV B,#10 DIV AB MOV R1,#62H MOV R1,A DEC R1 MOV R1,B MOV A,R3 MOV B,#10 MUL AB DEC R1 MOV R1,B CLR 30H ACALL DELAY MOV A,2EH CJNE A,62H,

26、E1 MOV A,2DH CJNE A,61H,E1 MOV A,2CH CJNE A,60H,E1 LJMP E2E1: JC SHANG_BAO LJMP E2;=超上限溫度=SHANG_BAO: SETB P1.7 SETB P1.6 CLR P1.5 LJMP X2E2: CLR P1.5 CLR P1.6 CLR P1.7X1: MOV A,2BH CJNE A,62H,E3 MOV A,2AH CJNE A,61H,E3 MOV A,29H CJNE A,60H,E3 LJMP E4E3: JNC XIA_BAO LJMP E4;=低于下限溫度=XIA_BAO:SETB P1.7

27、SETB P1.5 CLR P1.6 LJMP X2E4: CLR P1.5 CLR P1.6 CLR P1.7X2: CLR 30H ACALL DELAY;=串口通信= MOV R3,#30H ;轉(zhuǎn)ASCII碼 MOV A,62H ADD A,R3 DA AMLP3: JBC TI,MLP2 ;當(dāng)TI為1時清0 SJMP MLP3MLP2: MOV SBUF,A MOV A,61H ADD A,R3 DA A MLP5: JBC TI,MLP4SJMP MLP5 MLP4: MOV SBUF,A MOV A,#46 ;小數(shù)點MLP8: JBC TI,MLP9 SJMP MLP8MLP9:

28、MOV SBUF,A MOV A,60H ADD A,R3 DA AMLP7: JBC TI,MLP6 SJMP MLP7MLP6: MOV SBUF,A MOV A,#32MLP10: JBC TI,MLP11 SJMP MLP10MLP11: MOV SBUF,A RET;=延時加顯示=DELAY: MOV R3,#0A0HD00: ACALL DISPLAY DJNZ R3,D00 RETDISPLAY:JNB 30H,DD MOV 30H,#40 MOV DPTR,#TAB0 MOV A,63H MOVC A,A+DPTR MOV DPTR,#0F8FFHD0: MOVX DPTR,A

29、 DJNZ 30H,D0 ;千位DD: MOV 30H,#40 MOV DPTR,#TAB0 MOV A,62H MOVC A,A+DPTR MOV DPTR,#0F9FFHD1: MOVX DPTR,A DJNZ 30H,D1 ;百位 MOV 30H,#40 MOV DPTR,#TAB0 MOV A,61H MOVC A,A+DPTR JB 01H,TT ADD A,#80H TT: MOV DPTR,#0FAFFHD2: MOVX DPTR,A DJNZ 30H,D2 ;十位 MOV 30H,#40 MOV DPTR,#TAB0 MOV A,60H MOVC A,A+DPTR MOV DP

30、TR,#0FBFFHD3: MOVX DPTR,A DJNZ 30H,D3 ;個位 RETTAB0:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,; 0 1 2 3 4 5 6 7 7FH,6FH,77H,7CH,39H,5EH,79H,71H ; 8 9 A B C D E F DB 76H,78H,38H,6EH,00H ,77H,; H K L Y 無 RDELAY12: MOV R4,00H MOV R5,00H X3: DJNZ R4,$ DJNZ R5,X3 RET;-中斷0服務(wù)程序-INT0: PUSH A PUSH PSW MOV DPTR,#0BFFFH

31、 MOVX A,DPTR ;讀A/D轉(zhuǎn)換結(jié)果 MOV 2FH,#0FFH CLR CY ;程序調(diào)整高低位 RLC A JC N1 CLR 78HN1: RLC A JC N2 CLR 79HN2: RLC A JC N3 CLR 7AHN3: RLC A JC N4 CLR 7BHN4: RLC A JC N5 CLR 7CHN5: RLC A JC N6 CLR 7DHN6: RLC A JC N7 CLR 7EHN7: RLC A JC N8 CLR 7FHN8: MOV A,2FH MOV R0,A SETB 00H POP PSW POP A RETI;=延時=DELAY1: MOV

32、R6,#60DE1: MOV R7,#248 MOV R7,$ DJNZ R6,DE1 RET END;顯示區(qū)地址分別為63H,62H,61H,60H;上限溫度地址分別為2EH,2DH,2CH;下限溫度地址分別為2BH,2AH,29H;用到的位地址有00H,01H,30H3.2 溫度設(shè)定、傳送和顯示子程序 編程序,實現(xiàn)溫度設(shè)定、傳送和顯示開始程序初始化設(shè)置十分位鍵檢測當(dāng)前按鍵次數(shù)為1設(shè)置個位鍵檢測當(dāng)前按鍵次數(shù)為2檢測當(dāng)前按鍵次數(shù)為3設(shè)置十位鍵返回跳轉(zhuǎn)至檢測按鍵S1檢測按鍵S10循環(huán)跳轉(zhuǎn)至當(dāng)前按鍵次數(shù)檢測按鍵S9檢測按鍵S9檢測按鍵S1-9NNNYYY檢測按鍵S9NYNY 圖4-2 溫度設(shè)定程序

33、流程圖具體程序編寫如下SW0: MOV R6 #00H JNB P1.6 XH JNB P1.7 QHXH: MOV R7 #07 MOV DPTR #TAB MOV A #00HXH1: MOVC A A+DPTR RL A MOV P3.0 C DJNZ R7 HX1 INC DPTR AJMP SW1QH: MOV A #00H CJNE R6 #00H QH1 CLR P2.7 CLR P2.6 ADD A #01H MOV R6 A AJMP XHQH1: CJNE R6 #01H QH2 SETB P2.7 CLR P2.6 ADD A #01H MOV R6 A AJMP XHQ

34、H2: CJNE R6 #02H QH3 CLR P2.7 SETB P2.6 ADD A #01H MOV R6 A AJMP XHQH3: CJNE R6 #03H SW0 SETB P2.7 SETB P2.6 AJMP SW0TAB:C0 0F9 0A4 0B0 99 92 80 0F8 80 983.3 PWM電壓輸出子程序編寫程序?qū)崿F(xiàn)PWM 電壓自動可調(diào)寬度脈沖波輸出。開始 標(biāo)志為1 復(fù)位 pout置位 pout 把OFFFFH-最大數(shù)據(jù)+data_out送入THOT10OFFFFH-Data_out送入Thot10置位 outbit復(fù)位 outbit中斷返回圖4-3 自動可調(diào)寬度

35、脈沖波輸出流程圖POUT EQU P1.0 OUTBIT EQU 7FH ORG 0000H AJMP MAIN ORG 000BH AJMP CTC_INT ORG 0030H MAIN: MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H SETB ESETB ET0 WAIT:SJMP WAIT CTC_INT:PUSH ACC PUSH PSWCLR TR0JNB OUTBIT,OUT0SETB POUT CLR CMOV A,#0FFHMOV A,#0FFH SETB TR0 MOV TL0,A MOV A,#0FFH SUBB A,#0FH MOV T

36、H0,A CLR OUTBIT SJMP CTC_OUT OUT0: CLR POUT CLR C MOV A,#0FFH SUBB A,#0FFH MOV TL0,A MOV A,#0FFH SUBB A,#1F SUBB A,0FFHMOV TH0,AMOV A,TL0 ADD A,#0FFHMOV TL0,AMOV A,TH0ADDC A,#0FHMOV TH0,A SETB OUTBITCTC_OUT: SETB TRPOP PSW0POP ACCRETI3.4 PID計算子程序PID調(diào)節(jié)規(guī)律的基本輸入輸出關(guān)系可用微分方程表示為: (4-1)式中為調(diào)節(jié)器的輸入誤差信號,且 (4-2)

37、其中:為給定值,為被控變量; 為調(diào)節(jié)器的輸出控制信號; 為比例系數(shù);為積分時間常數(shù);微分時間常數(shù)。計算機(jī)只能處理數(shù)字信號,若采樣周期為T第n次采樣的輸入誤差為,且,輸出為,PID算法用的微分由差分代替,積分由代替,于是得到 (4-3)寫成遞推形式為= = = = = (4-4) 其中: (4-5) (4-6) (4-7) 顯然,PID計算只需要保留現(xiàn)時刻以及以前的兩個偏差量和。初始化程序初值通過采樣并根據(jù)參數(shù)、以及、和計算。 根據(jù)輸出控制增量,可求出本次控制輸出為 += (4-8)由于電阻爐一般是屬于一階對象和滯后的一階對象,所以式中、的選擇取決于電阻爐的階躍響應(yīng)曲線和實際經(jīng)驗,工程上已經(jīng)積累

38、了不少行之的參數(shù)整定方法。本設(shè)計采用Ziegler-Nichols提出的 PID歸一調(diào)整法,調(diào)整參數(shù),主要是為了減少在線整定參數(shù)的數(shù)目,常常人為假定約束條件5,以減少獨立變量的個數(shù),令: 式中稱為臨界周期6。在單純比例作用下(比例增益由小到大),是系統(tǒng)產(chǎn)生等幅振蕩的比例增益,這時的工作周期為臨界周期7,則可以得到 = = (4-9) 式中=0.2,=1.258 從而可以調(diào)節(jié)的參數(shù)只有一個。可設(shè)計一個調(diào)整子程序,通過鍵盤輸入改變值,改變運(yùn)行參數(shù),使系統(tǒng)滿足要求。下面對PID運(yùn)算加以說明:1、 所有的數(shù)都變成定點純小數(shù)進(jìn)行處理。2、 算式中的各項有正有負(fù),以最高位作為符號位,最高位為0表示為正數(shù),

39、為1表示負(fù)數(shù)。正負(fù)數(shù)都是補(bǔ)碼表示,最后的計算以原碼輸出。3、 雙精度運(yùn)算,為了保證運(yùn)算精度,把單字節(jié)8位輸入采樣值和給定值都變成雙字節(jié)16位進(jìn)行計算,最后將運(yùn)算結(jié)果取成高8位有效值輸出。4、 輸出控制量的限幅處理8。為了便于實現(xiàn)對晶閘管9的通斷處理,PID的輸出現(xiàn)在在0250之間。大于250或小于0的控制量都是沒有意義的,因在算法上對進(jìn)行限幅,即5、 = (4-10)PID的計算公式采用位置式算法,計算公式為+= (4-11)計算PD=KD(en-2en-1+en-2)輸入Cn rnun=un-1+PP+PI+PD計算en=rn-Cnun un-1 en-1 en-2 en en-1計算Pp=Kp(en-en-1)計算Pp=Kp(en-en-1)un輸出限幅處理計算P1+Pp返回 圖4-4 PID計算程序的流程圖參照流程圖4-4編寫程序,程序如下:MO

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論