

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課 程 設(shè) 計</b></p><p><b> 課程設(shè)計任務(wù)書</b></p><p> 題 目: 溫度控制系統(tǒng)設(shè)計 </p><p> 要求完成的主要任務(wù): 被控對象為電爐,采用熱阻絲加熱,利用大功率可控硅控制器控制熱阻絲兩端所加的電壓大小,來改變流經(jīng)熱阻絲的電流,從而改變
2、電爐爐內(nèi)的溫度??煽毓杩刂破鬏斎霝?-5伏時對應(yīng)電爐溫度0-300℃,溫度傳感器測量值對應(yīng)也為0-5伏,對象的特性為二階慣性系統(tǒng),慣性時間常數(shù)為T1=20秒,滯后時間常數(shù)為τ=10秒。</p><p> 1)設(shè)計溫度控制系統(tǒng)的計算機硬件系統(tǒng),畫出框圖;</p><p> 2)編寫積分分離PID算法程序,從鍵盤接受Kp、Ti、Td、T及β的值;</p><p>
3、 3)通過數(shù)據(jù)分析Ti改變時對系統(tǒng)超調(diào)量的影響。</p><p> 4)撰寫設(shè)計說明書。</p><p><b> 時間安排:</b></p><p> 6月9日 查閱和準備相關(guān)技術(shù)資料,完成整體方案設(shè)計</p><p> 6月10日—6月12日完成硬件設(shè)計</p><p> 6月1
4、3日—6月15日編寫調(diào)試程序</p><p> 6月16日—6月17日撰寫課程設(shè)計說明書</p><p> 6月18日 提交課程設(shè)計說明書、圖紙、電子文檔</p><p> 指導(dǎo)教師簽名: 年 月 日</p><p> 系主任(或責(zé)任教師)簽名:
5、 年 月 日</p><p><b> 摘要</b></p><p> 本次課程設(shè)計我設(shè)計的題目是溫度控制系統(tǒng)。通過專業(yè)課程的學(xué)習(xí),我將引入計算機,單片機,傳感器,以及PID算法來實現(xiàn)電爐溫度的自動控制,完成課程設(shè)計的任務(wù)。計算機的自動控制是機器和儀表的發(fā)展趨勢,它不僅解放了勞動力,也比以往的人為監(jiān)控更準確,更及時。一旦溫度發(fā)生變化,計算機
6、監(jiān)控系統(tǒng)可以立即檢測到并通過模擬量數(shù)字通道傳送到計算機。計算機接收到信號后通過與給定值進行比較后,計算出偏差,再通過PID控制算法給出下一步將要執(zhí)行的指令。最后通過模擬量輸出通道將指令傳送到生產(chǎn)過程,實現(xiàn)機器儀表的智能控制。</p><p> 本次課程設(shè)計用到了MATLAB這一軟件,通過編寫程序,將被控系統(tǒng)離散化。再通過MATLAB中的simulink仿真功能,可以看到隨著Ki,Kp,Kd改變波形發(fā)生的改變,從
7、而可以通過波形直觀地看出PID參數(shù)對系統(tǒng)動態(tài)性能的影響。</p><p> 關(guān)鍵字:溫度控制 A/D轉(zhuǎn)換 D/A轉(zhuǎn)換 Simulink仿真</p><p><b> 目錄</b></p><p> 1.設(shè)計任務(wù)及分析1</p><p><b> 2.方案設(shè)計2</b>&l
8、t;/p><p> 3.系統(tǒng)硬件設(shè)計3</p><p> 3.1 系統(tǒng)硬件結(jié)構(gòu)3</p><p> 3.2系統(tǒng)硬件的選擇3</p><p> 3.3 系統(tǒng)硬件連接圖4</p><p> 4 系統(tǒng)軟件設(shè)計6</p><p> 4.1 確定程序流程6</p><
9、;p> 4.2 程序控制算法介紹8</p><p> 4.3 PID控制算法10</p><p><b> 5系統(tǒng)仿真11</b></p><p> 5.1 仿真程序及圖形設(shè)計11</p><p><b> 心得體會13</b></p><p>&
10、lt;b> 參考文獻14</b></p><p> 附錄1芯片資料15</p><p> 附錄2 程序清單17</p><p> 本科生課程設(shè)計成績評定表27</p><p><b> 溫度控制系統(tǒng)設(shè)計</b></p><p><b> 1.設(shè)計任務(wù)
11、及分析</b></p><p> 被控對象為電爐,采用熱阻絲加熱,利用大功率可控硅控制器控制熱阻絲兩端所加的電壓大小,來改變流經(jīng)熱阻絲的電流,從而改變電爐爐內(nèi)的溫度??煽毓杩刂破鬏斎霝?-5伏時對應(yīng)電爐溫度0-300℃,溫度傳感器測量值對應(yīng)也為0-5伏,對象的特性為二階慣性系統(tǒng),慣性時間常數(shù)為T1=20秒,滯后時間常數(shù)為τ=10秒。</p><p> 1)設(shè)計溫度控制系統(tǒng)的
12、計算機硬件系統(tǒng),畫出框圖;</p><p> 2)編寫積分分離PID算法程序,從鍵盤接受Kp、Ti、Td、T及β的值;</p><p> 3)通過數(shù)據(jù)分析Ti改變時對系統(tǒng)超調(diào)量的影響。</p><p> 4)撰寫設(shè)計說明書。</p><p> 本次設(shè)計是對電爐的溫度控制,而電爐的溫度是通過放在其中的熱阻絲來控制的,而熱阻絲的電流由可控
13、硅控制器控制熱阻絲兩端所加電壓來控制。對電爐溫度的控制是個動態(tài)的過程,不可能一下子就達到我們想要的溫度,需要用到一些儀器比如熱電偶來測量電路的溫度,通過傳感器將爐溫轉(zhuǎn)換成電壓信號,送入A/D轉(zhuǎn)換器,通過采樣和模數(shù)轉(zhuǎn)換,所檢測到的電壓信號和爐溫給定值的電壓信號送入計算機程序中作比較,得出給定值與實際值之間的偏差,單片機對偏差進行運算,將運算結(jié)果送給晶閘管調(diào)壓器來調(diào)節(jié)熱阻絲的電流,以此來調(diào)節(jié)電電爐的溫度。</p><p&
14、gt;<b> 2.方案設(shè)計</b></p><p> 電爐的溫度控制是個動態(tài)的控制過程,需要借助計算機,單片機等很多器件的硬件連接來實現(xiàn)。而電爐溫度的直接控制是通過熱阻絲的加熱來實現(xiàn)的,熱阻絲的加熱是由流經(jīng)熱阻絲的電流來控制的,而熱阻絲的電流是通過可控硅控制器控制熱阻絲兩端所加電壓來控制,電壓的調(diào)節(jié)是通過可控制硅控制。需要用到熱電偶時刻監(jiān)測電爐的溫度,通過傳感器將溫度信號轉(zhuǎn)化為電壓信號
15、,而電壓信號通過模數(shù)轉(zhuǎn)換送入到計算機進行控制,計算機將轉(zhuǎn)換結(jié)果送到晶閘管來控制加到熱阻絲兩端的電壓,這樣達到調(diào)節(jié)電爐溫度的目的。</p><p> 圖2-1 溫度控制系統(tǒng)框圖</p><p><b> 3.系統(tǒng)硬件設(shè)計</b></p><p> 爐溫信號T通過溫度檢測及變送,變成電信號,與溫度設(shè)定值進行比較,計算溫度偏差e和溫度的變化率d
16、e/dt,再由智能控制算法進行推理,并得控制量u,可控硅輸出部分根據(jù)調(diào)節(jié)電加熱爐的輸出功率,即改變可控硅管的接通時間,使電加熱爐輸出溫度達到理想的設(shè)定值。</p><p> 3.1 系統(tǒng)硬件結(jié)構(gòu)</p><p> ADC0809的INT0端口所連接的電阻起到給定預(yù)定值的作用,通過調(diào)節(jié)滑動變阻器劃片的位置,改變INT0端口的電壓,該電壓通過0809轉(zhuǎn)換為數(shù)字量被計算機讀取。將一個0-5V
17、的電壓表連接到可變電阻上,測量其電壓,再將其表盤改裝為溫度表盤,即將原來的0-5V的刻度均勻分為300份,每一份代表1℃,則可以讀取預(yù)定的溫度值。ADC0809的INT1端口與熱電偶相連。由8051構(gòu)成的核心控制器按智能控制算法進行推算,得出所需要的控制量。由單片機的輸出通過調(diào)節(jié)可控硅管的接通時間,改變電爐的輸出功率,起到調(diào)溫的作用 。 </p><p> 3.2系統(tǒng)硬件的選擇</p><p
18、> 微型計算機的選擇:選擇8051單片機構(gòu)成爐溫控制系統(tǒng)。它具有8位CPU,3 2根I/O線,4 kB片內(nèi)ROM存儲器,128 kB的RAM存儲器。8051對溫度是通過可控硅調(diào)節(jié)器實現(xiàn)的。在系統(tǒng)開發(fā)過程中修改程序容易,可以大大縮短開發(fā)周期。同時,系統(tǒng)工作過程中能有效地保存一些數(shù)據(jù)信息,不受系統(tǒng)掉電或斷電等突發(fā)情況的影響。8051單片機內(nèi)部有128 B的RAM存儲器,不夠本系統(tǒng)使用,因此,采用6264(8 kB)的RAM作為外部數(shù)
19、據(jù)存儲器。 </p><p> 熱電偶的選擇:本設(shè)計采用熱電偶--鎳絡(luò)-銅硅熱電偶(線性度較好,熱電勢較大,靈敏度較高,穩(wěn)定性和復(fù)現(xiàn)性較好,抗氧化性強,價格便宜)對溫度進行檢測。鎳鉻-銅鎳熱電偶在300℃時的熱點勢21.033mV,為滿足0-5V的要求,需將其放大238倍,再通過0809將其轉(zhuǎn)換為數(shù)字量被計算機讀取,通過軟件程序?qū)?shù)據(jù)進行處理,將處理的結(jié)果經(jīng)0832輸出,輸出量控制可控硅控制器,從而改變電阻
20、絲兩端的電壓,使爐溫得到控制。</p><p> 3.3 系統(tǒng)硬件連接圖</p><p> 綜合以上分析,可以得出系統(tǒng)的硬件連接圖如圖3-1所示:</p><p> 圖3-1 系統(tǒng)硬件連接圖</p><p><b> 4 系統(tǒng)軟件設(shè)計</b></p><p> 4.1 確定程序流程<
21、;/p><p> 在微分控制中,控制器的輸出與輸入誤差信號的微分(即誤差的變化率)成正比關(guān)系。 自動控制系統(tǒng)在克服誤差的調(diào)節(jié)過程中可能會出現(xiàn)振蕩甚至失穩(wěn)。其原因是由于存在有較大慣性組件(環(huán)節(jié))或有滯后組件,具有抑制誤差的作用,其變化總是落后于誤差的變化。解決的辦法是使抑制誤差的作用的變化“超前”,即在誤差接近零時,抑制誤差的作用就應(yīng)該是零。這就是說,在控制器中僅引入“比例”項往往是不夠的,比例項的作用僅是放大誤差的
22、幅值,而目前需要增加的是“微分項”,它能預(yù)測誤差變化的趨勢,這樣,具有比例+微分的控制器,就能夠提前使抑制誤差的控制作用等于零,甚至為負值,從而避免了被控量的嚴重超調(diào)。所以對有較大慣性或滯后的被控對象,比例+微分(PD)控制器能改善系統(tǒng)在調(diào)節(jié)過程中的動態(tài)特性。</p><p> 在一般的PID控制中,當(dāng)有較大的擾動或大幅度改變給定值時,由于此時有較大的偏差,以及系統(tǒng)有慣性和滯后,故在積分項的作用下,往往會產(chǎn)生較
23、大的超調(diào)和長時間的波動。特別對于溫度等變化緩慢的過程,這一現(xiàn)象更為嚴重,為此,可采用積分分離措施,即偏差較大時,取消積分作用;當(dāng)偏差較小時才將積分作用投入。亦即</p><p> 當(dāng)時,采用PD控制;</p><p> 當(dāng)時,采用PID控制。</p><p> 積分分離閾值應(yīng)根據(jù)具體對象及控制要求。若值過大時,則達不到積分分離的目的;若值過小,則一旦被控量無法
24、跳出個積分分離區(qū),只進行PD控制,將會出現(xiàn)殘差,為了實現(xiàn)積分分離,編寫程序時必須從數(shù)字PID差分方程式中分離出積分項,進行特殊處理。</p><p> 根據(jù)設(shè)計要求及所選硬件,程序流程如圖4-1所示:</p><p> 圖4-1 程序主流程圖</p><p> 4.2 程序控制算法介紹</p><p> 由以上分析,本次設(shè)計采用的是積
25、分分離PID控制算法,PID調(diào)節(jié)時連續(xù)系統(tǒng)中技術(shù)中最成熟的,應(yīng)用廣泛的一種調(diào)節(jié)控制方式。在模擬控制系統(tǒng)中,</p><p> PID算法的表達為: </p><p> u:調(diào)節(jié)器的輸出信號;</p><p><b> e:偏差信號;</b></p><p> K:調(diào)節(jié)器的比例系數(shù);</p><
26、p> TI:調(diào)節(jié)器的積分時間;</p><p> TD:調(diào)節(jié)器的微分時間。</p><p> 在計算機控制中,為實現(xiàn)數(shù)字控制,必須對式上式進行離散化處理。用數(shù)字形式的差分方程代替連續(xù)系統(tǒng)的微分方程。設(shè)系統(tǒng)的采樣周期為T,在t=kT時刻進行采樣,</p><p> 式中e(k):根據(jù)本次采樣值所得到的偏差;</p><p> e
27、(k-1):由上次采樣所得到的偏差。</p><p><b> 由以上可得:</b></p><p> 式中,T為采樣時間,項為積分項的開關(guān)系數(shù)</p><p> 積分積分分離PID控制算法程序框圖如圖4-2所示:</p><p> Y N</p><p> 圖4-2
28、 積分分離PID控制算法圖</p><p> 4.3 PID控制算法</p><p> 實際運行的經(jīng)驗和理論的分析都表明,運用這種控制規(guī)律對許多工業(yè)過程控制時,都能得到滿意的效果。不過用計算機實現(xiàn)PID控制,不是簡單得把模擬PID控制規(guī)律數(shù)字化,而是進一步與計算機的邏輯判斷功能結(jié)合,使PID控制更加靈活,更能滿足生產(chǎn)過程提出的要求。</p><p> PID
29、算法推倒如下:</p><p> u:調(diào)節(jié)器的輸出信號;</p><p><b> e:偏差信號;</b></p><p> K:調(diào)節(jié)器的比例系數(shù);</p><p> TI:調(diào)節(jié)器的積分時間;</p><p> TD:調(diào)節(jié)器的微分時間。</p><p> 對應(yīng)的
30、模擬PID調(diào)節(jié)器的傳遞函數(shù) </p><p> 其中為比例增益,與比例帶成倒數(shù)關(guān)系即=1/,TI為積分時間常數(shù),TD為微分時間常數(shù),u(t)為控制量,e(t)為偏差。</p><p> 在計算機控制中,為實現(xiàn)數(shù)字控制,必須對式上式進行離散化處理。用數(shù)字形式的差分方程代替連續(xù)系統(tǒng)的微分方程。設(shè)系統(tǒng)的采樣周期為T,在t=kT時刻進行采樣,</p><p> 式中
31、e(k):根據(jù)本次采樣值所得到的偏差;</p><p> e(k-1):由上次采樣所得到的偏差。</p><p><b> T為采樣周期</b></p><p><b> K為采樣序號</b></p><p><b> 由以上可得:</b></p><
32、;p> 式中,T為采樣時間,項為積分項的開關(guān)系數(shù)</p><p><b> 5系統(tǒng)仿真</b></p><p> 5.1 仿真程序及圖形設(shè)計</p><p><b> 被控對象為:</b></p><p><b> G(S)= </b></p>&
33、lt;p> 采用simulink仿真,通過simulink模塊實現(xiàn)積分分離PID控制算法。</p><p> 選擇合適的Kp,Ki,Kd是系統(tǒng)的仿真效果趨于理想狀態(tài)。MATLAB編寫程序如下:</p><p> clear all;</p><p> close all;</p><p> ts=2;
34、 %采樣時間2s</p><p> sys=tf([1],[400,40,1]);</p><p> dsys=c2d(sys,ts,'zoh'); %將sys離散化</p><p> [num,den]=tfdata(dsys,'v'); %求sys多項式模型參數(shù)</p><p><b
35、> kp=10;</b></p><p><b> ki=0.25;</b></p><p><b> kd=5;</b></p><p> Simulink仿真圖如圖5-1所示:</p><p> 圖5-1 simulink仿真圖</p><p>
36、;<b> 心得體會</b></p><p> 本次計算機控制技術(shù)課程設(shè)計我的題目是電爐溫度控制系統(tǒng)。</p><p> 通過本學(xué)期專業(yè)課程的學(xué)習(xí),我打算通過傳感器,單片機,計算機來實現(xiàn)爐溫的自動控制系統(tǒng)。最后通過simulink仿真波形,觀察PID參數(shù)變化對系統(tǒng)結(jié)果的影響,從而對計算機控在技術(shù)中的PID控制有更深刻的理解和認識。</p><
37、p> 拿到題目后,首先我綱舉目張地初步將我的整個報告完成過程分為了六個步驟:分析題目要求,列出報告提綱,查找資料,設(shè)計硬件和軟件,進行Matlab仿真,撰寫課程設(shè)計說明書。</p><p> 通過計算機控制技術(shù)這門專業(yè)課的學(xué)習(xí),已經(jīng)對整個控制系統(tǒng)的組成和原理有了初步認識,所以題目理解起來并不困難,主要就是用到了A/D和D/A轉(zhuǎn)換,以及單片機編程實現(xiàn)。</p><p> 接下來就
38、是查閱資料和列提綱了,這兩步基本是同時進行。緊接著就是根據(jù)手頭上已有的課本和網(wǎng)絡(luò)上找到的資源進行軟硬件設(shè)計,在理解了課本上的知識后,設(shè)計起來也并不復(fù)雜。整個爐溫控制系統(tǒng)大致工作流程是這樣的:采集當(dāng)前溫度數(shù)據(jù)進行A/D轉(zhuǎn)換后送至計算機系統(tǒng),與給定標準溫度進行偏差計算,通過控制算法給出下一步執(zhí)行決策,并通過D/A轉(zhuǎn)換器送出至控制系統(tǒng),控制系統(tǒng)根據(jù)指令進行人為或自動控制處理,這樣整個控制流程就比較清晰了。</p><p&g
39、t; 下一步是進行simulink仿真。不得不說對simulink的學(xué)習(xí)仍需加強,對整個軟件不是很了解的情況下就去做仿真的結(jié)果就是浪費大量時間做無用功,而且還得不出結(jié)果。</p><p> 最后是撰寫課程設(shè)計報告。其實這個過程考驗的是自己的細心和耐心,格式方面的修改有時候確實讓人頭疼,但一旦你這一次做到了這些,下次再寫報告的時候就會事半功倍,為人處世也會學(xué)著更加細致謹慎。</p><p&g
40、t;<b> 參考文獻</b></p><p> [1]李建忠.單片機原理及應(yīng)用.西安:西安電子科技大學(xué)出版社,2001.</p><p> [2]潘新民.王燕芳.微型計算機控制技術(shù).北京:高等教育出版社,2001. </p><p> [3]何立民.單片機應(yīng)用系統(tǒng)設(shè)計.北京:北京航空航天大學(xué)出版社,2000.</p>
41、<p> [4]韓志軍,沈晉源,王振波.單片機應(yīng)用系統(tǒng)設(shè)計.北京:機械工業(yè)出版社,2005.</p><p> [5]周航慈.單片機程序設(shè)計基礎(chǔ).北京:北京航空航天大學(xué)出版社,2000.</p><p><b> 附錄1芯片資料</b></p><p><b> ADC0809芯片</b></
42、p><p> 圖 ADC0809芯片</p><p> ADC0809各腳功能如下: D7-D0:8位數(shù)字量輸出引腳。IN0-IN7:8位模擬量輸入引腳。VCC:+5V工作電壓。GND:地。REF(+):參考電壓正端。REF(-):參考電壓負端。START:A/D轉(zhuǎn)換啟動信號輸入端。ALE:地址鎖存允許信號輸入端。(以上兩種信號用于啟動A/D轉(zhuǎn)換).EOC:轉(zhuǎn)換結(jié)束信號
43、輸出引腳,開始轉(zhuǎn)換時為低電平,當(dāng)轉(zhuǎn)換結(jié)束時為高電平。OE:輸出允許控制端,用以打開三態(tài)數(shù)據(jù)輸出鎖存器。CLK:時鐘信號輸入端(一般為500KHz)。A、B、C:地址輸入線。DAC0832芯片:</p><p> 圖 DAC0832芯片</p><p> DAC0832芯片為20引腳,雙列直插式封裝。其引腳排列如圖6所示。</p><p> ?。?)數(shù)字量輸
44、入線D7~D0(8條) </p><p> ?。?)控制線(5條) </p><p> ?。?)輸出線(3條) </p><p> (4)電源線(4條)</p><p> DAC0832的技術(shù)指標</p><p> ?。?)分辨率:8位</p><p> ?。?)電流建立時間:1
45、1;S</p><p> ?。?)線性度(在整個溫度范圍內(nèi))8、9或10位</p><p> (4)增益溫度系數(shù):0.0002% FS/℃</p><p> ?。?)低功耗:20mW</p><p> ?。?)單一電源:+5 ~ +15V</p><p><b> 附錄2 程序清單</b>
46、</p><p> 積分分離PID控制算法子程序:</p><p> START:MOV 68H,KP ;分別將KP ,TI ,TD, T,β送入指定的存儲單元</p><p> MOV 54H,TI</p><p> MOV 55H,TD</p><p><b> MOV
47、 56H,T</b></p><p><b> MOV 57H,β</b></p><p> MOV A,68H ;計算KI=KP*T/TI</p><p><b> MOV B,56H</b></p><p><b> MUL AB<
48、/b></p><p><b> MOV B,54H</b></p><p><b> DIV AB</b></p><p><b> MOV 69H,A</b></p><p> MOV A,68H ;計算KD=KP*TD/T<
49、/p><p><b> MOV B,55H</b></p><p><b> MUL AB</b></p><p><b> MOV B,56H</b></p><p><b> DIV AB</b></p><p><b
50、> MOV 6AH,A</b></p><p> LOOP0: MOV DPTR #7FF0H ;讀取預(yù)定溫度值,送ADC0809的IN0口地址</p><p> MOV @DPTR,A ;啟動A/D轉(zhuǎn)換</p><p> LOOP1 JB P3.3,LOOP1 ;等待轉(zhuǎn)換數(shù)據(jù)</
51、p><p> MOVX A,@DPTR ;讀取ADC0809的IN0口轉(zhuǎn)換后的數(shù)據(jù)</p><p> MOV 5CH,A ;將預(yù)定值數(shù)據(jù)放入指定的存儲單元</p><p> MOV DPTR,#7FF1H ;讀取采樣溫度值,送ADC0809的IN1口地址</p><p> MOVX
52、@DPTR,A ;啟動A/D轉(zhuǎn)換</p><p> LOOP2: JB P3.3,LOOP2 ;等待轉(zhuǎn)換數(shù)據(jù)</p><p> MOVX A,@DPTR ;讀取ADC0809的IN1口轉(zhuǎn)換后的數(shù)據(jù)</p><p> MOV 49H,A ;將采樣值數(shù)據(jù)放入指定的存儲單元</
53、p><p> MOV A,5CH ;計算e(i),先取溫度給定值</p><p><b> CLR C</b></p><p> SUBB A,50H ;溫度給定值-采樣值</p><p> JNC AA0 ;判斷e(i)的正負,如果
54、為正,跳至AA0</p><p> CPL A ;e(i)為負,下兩條指令求補</p><p> ADD A,#01H</p><p> AA0: MOV R0,57H</p><p> SUBB A,57H ;|e(i)|-β</p><p&g
55、t; JNC AA1 ;|e(i)|>β跳至AA1</p><p> SJMP AA2 ;|e(i)|<β跳至AA2</p><p> AA1: LCALL PD ;調(diào)用PD算法</p><p> AA2: LCALL PID
56、 ;調(diào)用PID算法</p><p> MOV A,7CH ;將△Ui通過DAC0832輸出</p><p> MOV DPTR,#7FF2H</p><p> MOVX @DPTR,A</p><p><b> INC DPTR</b></p><
57、p> MOVX @DPTR,A</p><p> LCALL DELAY ;調(diào)用延時子程序,等待下一次采樣計算</p><p> SJMP LOOP0 ;進入下一次控制計算</p><p> DELAY PROC NEAR</p><p> DL0: MOV R6,#FFH
58、</p><p> DL1: MOV R7,#FFH</p><p> DL2: MOV R5,#FFH</p><p> DLS: DJNZ R5,DLS</p><p> DJNZ R7,DL2</p><p> DJNZ R6 DL1</p><p><b>
59、RET</b></p><p> DELAY ENDP</p><p> PID PROC NEAR</p><p> PID:MOV A,5CH ;計算e(i),先取溫度給定值</p><p><b> CLR C</b></p><p&g
60、t; SUBB A,50H ;溫度給定值-溫度檢測值</p><p> JNC PID1 ;判斷e(i)正負,如果為正,跳至PID1</p><p> CPL A ;e(i)為負,下兩條指令求補</p><p> ADD
61、A,#01H</p><p> SETB 30H ;e(i)為負,符號位置1</p><p><b> SJMP PID2</b></p><p> PID1:CLR 30H ;e(i)為正,符號位置0</p><p>
62、PID2:MOV 6BH,A ;e(i)值存放在6BH單位元中</p><p> MOV R1,6BH ;計算ei-ei-1,先將ei值,送R1</p><p> MOV C,30H ;將ei的符號位值送20H位</p><p><b&
63、gt; MOV 20H,C</b></p><p> MOV R2,6CH ;將ei-1值送R2</p><p> MOV C,31H ;將 ei-1的符號位值送21H位</p><p><b> MOV 21H,C</b></p>
64、;<p> LCALL DJF ;調(diào)用單字節(jié)帶符號的減法子程序</p><p> MOV 6EH,R3 ;將差值ei-ei-1送6EH單元</p><p> MOV C,22H ;將差值ei-ei-1的符號位送33H位</p>&l
65、t;p><b> MOV 33H,C</b></p><p> MOV R1,6CH ;計算ei-1-ei-2,先將ei-1值送R1</p><p> MOV C,31H ;將ei-1符號位送20H位</p><p><b> MOV 2
66、0H,C</b></p><p> MOV R2,6DH ;將ei-2的值送R2</p><p> MOV C,32H ;將 ei-2的符號位值送21H位</p><p><b> MOV 21H,C</b></p><p&
67、gt; LCALL DJF ;調(diào)用單字節(jié)帶符號的減法子程序</p><p> MOV 6FH,R3 ;將差值ei-1-ei-2送6FH單元</p><p> MOV C,22H ;將差值ei-1-ei-2的符號位送34H位</p><
68、p><b> MOV 34H,C</b></p><p> MOV R1,6EH ;計算(ei-ei-1)-(ei-1-ei-2),將ei-ei-1值送R1</p><p> MOV C,33H ;將ei-ei-1符號位送20H位</p><p>
69、;<b> MOV 20H,C</b></p><p> MOV R2,6FH ;將ei-1-ei-2值送R2</p><p> MOV C,34H ;將ei-1-ei-2符號位送21H位</p><p><b> MOV 21H,C&l
70、t;/b></p><p> LCALL DJF ;調(diào)用單字節(jié)帶符號的減法子程序</p><p> MOV 70H,R3 ;將差值(ei-ei-1)-(ei-1-ei-2)送70H單元</p><p> MOV C,22H
71、 ;將差值(ei-ei-1)-(ei-1-ei-2)的符號位值送35H位</p><p><b> MOV 35H,C</b></p><p> MOV A,68H ;計算Kp*(ei-ei-1),將Kp值送A</p><p> MOV B,6EH
72、 ;將ei-ei-1值送B</p><p> MUL AB ;兩數(shù)相乘</p><p> MOV 71H,B ;Kp*(ei-ei-1)值存71H,72H單元</p><p><b> MOV 72H.A</b></p>
73、<p> MOV A,69H ;計算KI*ei,將KI值送A</p><p> MOV B,6BH ;將ei值送B</p><p> MUL AB ;兩數(shù)相乘</p><p> MOV 73H,B
74、 ;KI*ei值存73H,74H單元</p><p><b> MOV 74H,A</b></p><p> MOV A,6AH ;計算KD*[(ei-ei-1)-(ei-1-ei-2)],將KD送A</p><p> MOV B,70H
75、 ;將(ei-ei-1)-(ei-1-ei-2)值送B</p><p> MUL AB ;兩數(shù)相乘</p><p> MOV 75H,B ;KD*[(ei-ei-1)-(ei-1-ei-2)]值存75H,76H單元</p><p&g
76、t;<b> MOV 76H,A</b></p><p> MOV R1,71H ;計算Kp*(ei-ei-1)+KI*ei,將Kp*(ei-ei-1)值送R1,R2</p><p> MOV R2,72H</p><p> MOV C,33H
77、 ;將Kp*(ei-ei-1)的符號位值送23H位</p><p><b> MOV 23H,C</b></p><p> MOV R3,73H ;將KI*ei值送R3,R4</p><p> MOV R4,74H </p><p> MOV C,30H
78、 ;將KI*ei值的符號位懂24H位</p><p><b> MOV 24H,C</b></p><p> LCALL SJF ;調(diào)用雙字節(jié)帶符號加法子程序</p><p> MOV 77H,R5 ;將Kp*
79、(ei-ei-1)+KI*ei值送77H,78H</p><p> MOV 78H,R6</p><p> MOV C,25H ;將Kp*(ei-ei-1)+KI*ei值的符號位送36H位</p><p><b> MOV 36H,C</b></p><p> MOV R
80、1,77H ;計算△Ui,將將Kp*(ei-ei-1)+KI*ei值送R1,R2</p><p> MOV R2,78H </p><p> MOV C,36H ;將Kp*(ei-ei-1)+KI*ei值的符號位送23H位</p><p><b> MOV 23H,C&
81、lt;/b></p><p> MOV R3,75H ;將KD*[(ei-ei-1)-(ei-1-ei-2)]的值送R3,R4</p><p> MOV R4,76H</p><p> MOV C,35H ;將KD*[(ei-ei-1)-(ei-1-ei-2)]的符號位送2
82、3H位</p><p><b> MOV 24H,C</b></p><p> LCALL SJF ;調(diào)用雙字節(jié)帶符號加法子程序</p><p> MOV 79H,R5 ;將△Ui值送79H,7AH</p><p> MOV 7A
83、H,R6</p><p> MOV C,25H ;將△Ui值的符號位送37H</p><p><b> MOV 37H,C</b></p><p> MOV R1,7DH ;計算Ui,將Ui-1值送R1,R2</p><p> MO
84、V R2,7EH</p><p> CLR 23H ;Ui-1值的符號位值恒為0</p><p> MOV R3,79H ;將△Ui值送R3,R4</p><p> MOV R4,7AH</p><p> MOV C,37H
85、 ;將△Ui值的符號位送24H</p><p><b> MOV 24H,C</b></p><p> LCALL SJF ;調(diào)用雙字節(jié)帶符號加法子程序</p><p> JNB 25H,PID3 ;判斷計算結(jié)果是否為負</p
86、><p> MOV 7BH,#00H ;如果是負數(shù),則輸出電壓為0</p><p> MOV 7CH,#00H</p><p><b> SJMP PID4</b></p><p> PID3:MOV 7BH,R5 ;否則,將計算得到的Ui值置
87、7BH,7CH</p><p> MOV 7CH,R6</p><p> PID4:MOV 6DH,6CH ;數(shù)據(jù)迭代,ei-1值送ei-2存儲單元</p><p> MOV 6CH,6BH ;ei值送ei-1存儲單元</p><p> MOV 7DH,7BH
88、 ;Ui值送Ui-1存儲單元</p><p> MOV 7EH,7CH</p><p><b> RET</b></p><p><b> PID ENDP</b></p><p> PD PROC NEAR</p><p> P
89、D:MOV A,5CH ;計算ei,先取溫度給定值</p><p><b> CLR C</b></p><p> SUBB A,50H ;溫度給定值-溫度檢測值</p><p> JNC PD1 ;判斷e
90、i正負,如果為正,跳至PID1</p><p> CPL A ;ei為負,下兩條指令求補</p><p> ADD A,#01H</p><p> SETB 30H ;ei為負,符號位置1</p><p><b> SJMP
91、PD2</b></p><p> PD1:CLR 30H ;ei為正,符號位置0</p><p> PD2:MOV 6BH,A ;ei值存放在6BH單位元中</p><p> MOV R1,6BH ;計算ei-ei-1,
92、先將ei值,送R1</p><p> MOV C,30H ;將ei的符號位值送20H位</p><p> MOV 20H,C;</p><p> MOV R2,6CH ;將ei-1值送R2</p><p> MOV C,31H
93、 ;將 ei-1的符號位值送21H位</p><p><b> MOV 21H,C</b></p><p> LCALL DJF ;調(diào)用單字節(jié)帶符號的減法子程序</p><p> MOV 6EH,R3 ;將差值ei-ei-1送6EH單元&
94、lt;/p><p> MOV C,22H ;將差值ei-ei-1的符號位送33H位</p><p><b> MOV 33H,C</b></p><p> MOV R1,6CH ;計算ei-1-ei-2,先將ei-1值送R1</p><p&
95、gt; MOV C,31H ;將ei-1符號位送20H位</p><p><b> MOV 20H,C</b></p><p> MOV R2,6DH ;將ei-2的值送R2</p><p> MOV C,32H
96、 ;將 ei-2的符號位值送21H位</p><p><b> MOV 21H,C</b></p><p> LCALL DJF ;調(diào)用單字節(jié)帶符號的減法子程序</p><p> MOV 6FH,R3 ;將差值ei-1-ei-2送6FH單元&l
97、t;/p><p> MOV C,22H ;將差值ei-1-ei-2的符號位送34H位</p><p><b> MOV 34H,C</b></p><p> MOV R1,6EH ;計算(ei-ei-1)-(ei-1-ei-2),將ei-ei-1值送R1&
98、lt;/p><p> MOV C,33H ;將ei-ei-1符號位送20H位</p><p><b> MOV 20H,C</b></p><p> MOV R2,6FH ;將ei-1-ei-2值送R2</p><p> MOV
99、 C,34H ;將ei-1-ei-2符號位送21H位</p><p><b> MOV 21H,C</b></p><p> LCALL DJF ;調(diào)用單字節(jié)帶符號的減法子程序</p><p> MOV 70H,R3
100、 ;將差值(ei-ei-1)-(ei-1-ei-2)送70H單元</p><p> MOV C,22H ;將差值(ei-ei-1)-(ei-1-ei-2)的符號位值送35H位</p><p><b> MOV 35H,C</b></p><p> MOV A,68H
101、 ;計算Kp*(ei-ei-1),將Kp值送A</p><p> MOV B,6EH ;將ei-ei-1值送B</p><p> MUL AB ;兩數(shù)相乘</p><p> MOV 71H,B ;Kp*(ei-ei-1
102、)值存71H,72H單元</p><p><b> MOV 72H.A</b></p><p> MOV A,6AH ;計算KD*[(ei-ei-1)-(ei-1-ei-2)],將KD送A</p><p> MOV B,70H ;將(ei-ei-1)-(ei-1-
103、ei-2)值送B</p><p> MUL AB ;兩數(shù)相乘</p><p> MOV 75H,B ;KD*[(ei-ei-1)-(ei-1-ei-2)]值存75H,76H單元</p><p><b> MOV 76H,A</b></p>&
104、lt;p> MOV R1,71H ;計算Kp*(ei-ei-1)+KI*ei,將Kp*(ei-ei-1)值送R1,R2</p><p> MOV R2,72H</p><p> MOV C,33H ;將Kp*(ei-ei-1)的符號位值送23H位</p><p><b&g
105、t; MOV 23H,C</b></p><p> MOV R3,75H ;將KD*[(ei-ei-1)-(ei-1-ei-2)]值送R3,R4</p><p> MOV R4,76H </p><p> MOV C,35H ;將KD*[(ei-ei-1)-(ei-1
106、-ei-2)]值的符號位送24H位</p><p><b> MOV 24H,C</b></p><p> LCALL SJF ;調(diào)用雙字節(jié)帶符號加法子程序</p><p> MOV 79H,R5 ;將△Ui值送79H,7AH</p>&l
107、t;p> MOV 7AH,R6</p><p> MOV C,25H ;將△Ui值的符號位送37H</p><p><b> MOV 37H,C</b></p><p> MOV R1,7DH ;計算Ui,將Ui-1值送R1,R2</p&g
108、t;<p> MOV R2,7EH</p><p> CLR 23H ;Ui-1值的符號位值恒為0</p><p> MOV R3,79H ;將△Ui值送R3,R4</p><p> MOV R4,7AH</p><p> M
109、OV C,37H ;將△Ui值的符號位送24H</p><p><b> MOV 24H,C</b></p><p> LCALL SJF ;調(diào)用雙字節(jié)帶符號加法子程序</p><p> JNB 25H,PD3
110、 ;判斷計算結(jié)果是否為負</p><p> MOV 7BH,#00H ;如果是負數(shù),則輸出電壓為0</p><p> MOV 7CH,#00H</p><p><b> SJMP PID4</b></p><p> PD3:MOV 7BH,R5
111、 ;否則,將計算得到的Ui值置7BH,7CH</p><p> MOV 7CH,R6</p><p> PD4:MOV 6DH,6CH ;數(shù)據(jù)迭代,ei-1值送ei-2存儲單元</p><p> MOV 6CH,6BH ;ei值送ei-1存儲單元</p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 溫度控制系統(tǒng)設(shè)計——計算機控制技術(shù)課程設(shè)計
- 計算機控制技術(shù)課程設(shè)計-溫度控制系統(tǒng)設(shè)計
- 計算機控制技術(shù)課程設(shè)計-電阻爐溫度控制系統(tǒng)設(shè)計
- 計算機控制技術(shù)課程設(shè)計-溫度采集
- 計算機控制技術(shù)課程設(shè)計電加熱爐溫度控制系統(tǒng)
- 計算機控制技術(shù)課程設(shè)計之電阻爐溫度控制系統(tǒng)
- 控制系統(tǒng)設(shè)計與仿真-計算機控制技術(shù)課程設(shè)計
- 計算機控制技術(shù)課程設(shè)計--電加熱爐溫度控制系統(tǒng)
- 計算機控制技術(shù)課程設(shè)計
- 溫度控制系統(tǒng)計算機控制課程設(shè)計
- 計算機控制技術(shù)課程設(shè)計
- 計算機控制技術(shù)課程設(shè)計
- 計算機控制技術(shù)課程設(shè)計
- 計算機控制技術(shù)課程設(shè)計--電阻加熱爐溫度控制系統(tǒng)設(shè)計
- 計算機控制課程設(shè)計--啤酒發(fā)酵計算機溫度控制系統(tǒng)設(shè)計
- 計算機控制技術(shù)課程設(shè)計-計算機控制技術(shù)及工程應(yīng)用步進電機控制系統(tǒng)
- 計算機控制技術(shù)課程設(shè)計---控制系統(tǒng)的狀態(tài)空間設(shè)計
- 計算機控制技術(shù)課程設(shè)計 (2)
- 計算機控制技術(shù)溫度控制系統(tǒng)設(shè)計
- 計算機控制技術(shù)溫度控制系統(tǒng)設(shè)計
評論
0/150
提交評論