溫度控制系統資料_第1頁
溫度控制系統資料_第2頁
溫度控制系統資料_第3頁
溫度控制系統資料_第4頁
溫度控制系統資料_第5頁
已閱讀5頁,還剩26頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、目錄第一章 設計背景及設計意義 2第二章 系統方案設計 3第三章 硬件.53.1 溫度檢測和變送器53.2 溫度控制電路63.3 A/D轉換電路 73.4 報警電路 83.5 看門狗電路 83.6 顯示電路 103.7 電源電路12第四章 軟件設計 144.1 軟件實現方法 144.2 總體程序流程圖 154.3 程序清單 19第五章 設計感想 29第六章 參考文獻30第七章 附錄 317.1 硬件清單 317.2 硬件布線圖 31第一章 設計背景及研究意義機械制造行業中,用于金屬熱處理的加熱爐,需要消耗大量的電能,而且溫度控制是純滯后的一階慣性環節。現有企業多采用常規儀表加接觸器的斷續控制,

2、隨著科技進步和生產的發展,這類設備對溫度的控制要求越來越高,除控溫精度外,對溫度上升速度及下降速度也提出了可控要求,顯而易見常規控制難于滿足這些工藝要求。隨著微電子技術及電力電子技術的發展,采用功能強、體積小、價格低的智能化溫度控制裝置控制加熱爐已成為現實。自動控制系統在各個領域尤其是工業領域中有著及其廣泛的應用,溫度控制是控制系統中最為常見的控制類型之一。隨著單片機技術的飛速發展,通過單片機對被控對象進行控制日益成為今后自動控制領域的一個重要發展方向。在現代化的工業生產中,電流、電壓、溫度、壓力、流量、流速和開關量都是常用的主要被控參數。例如:在冶金工業、化工生產、電力工程、造紙行業、機械制

3、造和食品加工等諸多領域中,人們都需要對各類加熱爐、熱處理爐、反應爐和鍋爐中的溫度進行檢測和控制。對工件的處理溫度要求嚴格控制,計算機溫度控制系統使溫度控制指標得到了大幅度提高。采用MCS-51單片機來對溫度進行控制,不僅具有控制方便、組態簡單和靈活性大等優點,而且可以大幅度提高被控溫度的技術指標,從而能夠大大提高產品的質量和數量。因此,單片機對溫度的控制問題是一個工業生產中經常會遇到的問題。, 第二章 系統方案的設計這次課程設計題目為熱電偶構成的熱處理爐的溫度控制系統, 技術要求:1.設定溫度范圍為0999 2.溫度顯示為0999 3.到設定溫度報警熱處理爐爐溫控制系統的控制過程是:單片機定時

4、對爐溫進行檢測,經A/D轉換芯片得到相應的數字量,經過計算機進行數據轉換,得到應有的控制量,去控制加熱功率,從而實現對溫度的控制。如下圖所示:進行系統設計時應考慮如下問題:1.爐溫變化規律的控制,即爐溫按預定的溫度時間關系變化。 2.溫度控制范圍:如01000,這就涉及到測溫元件、電爐功率的選擇等。3.控制精度、超調量等指標,這涉及到A/D轉換精度、控制規律選擇等。溫控系統主要由溫度傳感器、溫度調節儀、執行裝置、被控對象四個部分組成,其系統結構圖如圖1所示。被控制對象是大容量、大慣性的電熱爐溫度對象,是典型的多階容積遲后特性,在工程上往往近似為包含有純滯后的二階容積遲后;由于被控對象電容量大,

5、通常采用可控硅作調節器的執行器,其具體的電路圖如圖2所示。 調節加熱爐的溫度,在工業上是通過在設定周期范圍內,將電路接通幾個周波,然后斷開幾個周波,改變晶閘管在設定周期內通斷時間的比例,來調節負載兩端交流平均電壓即負載功率,這就是通常所說的調功器或周波控制器;調功器是在電源電壓過零時觸發晶閘管導通的,所以負載上得到的是完整的正弦波,調節的只是設定周期Tc內導通的電壓周波。如圖3所示,設周期Tc內導通的周期的波數為n,每個周波的周期為T,則調功器的輸出功率為P=nTPn/Tc,Pn為設定周期Tc內電壓全通過時裝置的輸出功率。第三章 硬件的設計3.1 溫度檢測和變送器 溫度檢測元件和變送器的類型選

6、擇與被控溫度的范圍和精度等級有關。鎳鉻/鎳鋁熱電偶適用于0-1000的溫度檢測范圍,相應輸出電壓為0mV-41.32mV。 變送器由毫伏變送器和電流/電壓變送器組成:毫伏變送器用于把熱電偶輸出的0mV-41.32mV變換成4mA-20mA的電流;電流/電壓變送器用于把毫伏變送器輸出的4mA-20mA電流變換成0-5V的電壓。為了提高測量精度,變送器可以進行零點遷移。例如:若溫度測量范圍為500-1000,則熱電偶輸出為20.6mV-41.32mV,毫伏變送器零點遷移后輸出4mA-20mA范圍電流。這樣,采用8位A/D轉換器就可使量化溫度達到1.96以內。其在控制系統的作用如下圖所示:熱處理爐

7、圖1:溫度檢測電路3.2 溫度控制電路8051對溫度的控制是通過雙向可控硅實現的。如圖一所示,雙向可控硅管和加熱絲串接在交流220V、50Hz市電回路。在給定周期T內,8051只要改變可控硅管的接通時間即可改變加熱絲的功率,以達到調節溫度的目的。可控硅接通時間可以通過可控硅控制極上觸發脈沖控制。該觸發脈沖由8051用軟件在P2.1引腳上產生,在過零同步脈沖同步后經光電耦合管和驅動器輸出送到可控硅的控控制系統的制極上。圖1:調溫電路3.3 A/D轉換電路ADC0809是一種比較典型的8位8通道逐次逼近式A/D轉換器,CMOS工藝,可實現8路模擬信號的分時采集,片內有8路模擬選通開關,以及相應的通

8、道地址鎖存用譯碼電路,其轉換時間為100s左右,采用雙排28引腳封裝,其主要性能指標如下:1、分辨率為8位二進制數;2、電壓范圍在0+5V,對應A/D值00HFFH;3、每路A/D轉換完成時間100ms;4、可分時進行8路A/D轉換;5、工作頻率500KHz(本電路由8051ALE端輸出經4分頻后得到)。引腳功能如下:IN0IN7:8路0+5V模擬電壓輸入(用IN0端);DB7DB0:8位數字輸出線,輸出8位A/D轉換值;STAST:啟動A/D轉換端;EOC:A/D轉換完成端;OE:允許數字量輸出信號;CLOCK:時鐘500KHz;ADD A、B、C:IN0IN7地址選擇線;ALE:地址鎖存允

9、許輸入信號。A/D轉換器0809與放大電路連接較簡單,運放接成比例放大形式,放大倍數可調,總體A/D轉換與8051接口電路如下:3.4 報警電路 報警電路的作用主要是在溫度超過規定的溫度或低于下限溫度或達到預定溫度時,報警子程序就會控制報警信號的輸出,溫度低與或高于規定的溫度范圍以及達到規定的溫度時,音頻裝置就會發出不同頻率的告警信號,同時相應的LED顯示,到底是高了還是低了,以便與自動調節。報警電路如下圖: 圖1:報警電路3.5看門狗電路計算機看門狗控制卡是為了使計算機或工控機在系統出現異常時,能自動控制計算機進行重新啟動,使系統恢復正常運行,保證系統24小時不間斷正常工作。該控制卡可運用于

10、無人職守的場所。像采用計算機作為存儲設備的數字硬盤錄像系統,公路卡口監控記錄設備等。特點: 可固定在計算機內部并且不占用計算機任何插槽。 借電方便,可利用計算機本身的軟驅電源接口。 通過計算機并口或者串口跟計算機通訊。 計算機操作系統發生死機后,30秒(時間可設置)內控制卡控制計算機重新啟動。 控制卡內有信號燈,在正常工作時有頻率穩定持續的燈光閃動。 提供開發控件,可啟動看門狗功能、停止看門狗功能、設置串口還是并口。 有兩種型號的控制卡,有自帶RS232轉485的功能的控制卡。現以MAX706監控電路為例(見圖1)來說明“看門狗”硬件電路的工作過程,我們知道,MAX706是一種性能優良的低功耗

11、CMOS監控電路芯片,其內部電路由上電復位、可重觸發“看門狗”定時器及電壓比較器等組成2。MAX706只要在1.6秒時間內檢測到WCI引腳有高低電平跳變信號,則“看門狗”定時器清零并重新開始計時;若超出1.6秒后,WCI引腳仍無高低電平跳變信號,則“看門狗”定時器溢出,WDO引腳輸出低電平,進而觸發MR手動復位引腳,使MAC706復位,從而使“看門狗”定時器清零并重新開始計時,WDO引腳輸出高電平,MAX706的RST復位輸出引腳輸出大約200毫秒寬度的低電平脈沖,使單片機控制系統可靠復位,重新投入正常運行。圖1:看門狗電路3.6 顯示電路 單片機與顯示器的接口電路圖圖MC14495內部邏輯結

12、構及引腳 圖用MC14495組成多位LED靜態顯示器接口 程序:DIR: SETB RS0 ;保護第0組工作寄存器 PUSH A ;保護現場 MOV R2, #03H ;顯示位數計數 MOV R1, #00H ;設位碼初值,初態從LED7開始 MOV R0, #DIS7 ;顯示緩沖區末地址送R0DIR0: MOV A, RO ;取待顯示的數據 AND A, #07H ;屏蔽高3位,保留低4位BCD碼 MOV R3, A ;暫存R3中 MOV A, R1 ;位選碼值送A SWAP A ;位碼交換到高4位 ADD A, R3 ;合并形成輸出的BCD碼和位選碼 MOV P1,A ;輸出到P1口 IN

13、C R1 ;位碼加1指向下一位 DJNZ R2, DIR0 ;8個位未顯示完重復 CLR RS0 ;顯示完恢復第0組工作寄存器 POP A RET ;返回主程序 3.7 電源電路 本模塊將交流 220V輸入電壓變為3組直流電壓,其中5V電壓為CPU等數字電路提供電源;15V電壓為運放等模擬芯片提供電源;24V電壓為溫度變送器提供電源。 220v市電經變壓器輸出兩組獨立的25v交流,橋堆整流,大電容濾波得到 + 35v直流,再加一個0.1uF小電容濾出電源中的高頻分量。考慮到制作過程中電源空載似的電容放電可在輸出電容并上1k大功率電阻。另外這組直流還要給7812、7912來獲得 + 12v。 電

14、源模塊如下圖: 圖1:5V直流穩壓源電路圖2: + 12V/24V直流穩壓源的原理電路第四章 軟件的設計4.1 軟件實現方法根據熱處理爐在上電復位后先處于停止加熱狀態,這時可以用“+1”鍵設定預置溫度,顯示器顯示預定溫度;溫度設定好后就可以按啟動鍵啟動系統工作了。溫度檢測系統不斷定時檢測當前溫度,并送往顯示器顯示,達到預定值后停止加熱并顯示當前溫度;當溫度下降到下限(比預定值低3)時再啟動加熱。這樣不斷重復上述過程,使溫度保持在預定溫度范圍之內。啟動后不能再修改預置溫度,必須按復位/停止鍵回到停止加熱狀態再重新設定預置溫度。爐溫控制是這樣一個反饋調節過程,比較實際爐溫和需要爐溫得到偏差,通過對

15、偏差的處理獲得控制信號,去調節電阻爐的熱功率,從而實現對爐溫的控制。按照偏差的比例、積分和微分產生控制作用(PID控制),是過程控制中應用最廣泛的一種控制形式。系統控制程序采用兩重中斷嵌套方式設計。首先使T0計數器產生定時中斷,作為本系統的采樣周期。在中斷服務程序中啟動A/D,讀入采樣數據,進行數字濾波、上下限報警處理,PID計算,然后輸出控制脈沖信號。脈沖寬度由T1計數器溢出中斷決定。在等待T1中斷時,將本次采樣值轉換成對應的溫度值放入顯示緩沖區,然后調用顯示子程序。從T1中斷返回后,再從T0中斷返回主程序并且、繼續顯示本次采樣溫度,等待下次T0中斷。1)二位式調節-它只有開、關兩種狀態,當

16、爐溫低于限給定值時執行器全開;當爐溫高于給定值時執行器全閉。(執行器一般選用接觸器)2)三位式調節-它有上下限兩個給定值,當爐溫低于下限給定值時招待器全開;當爐溫在上、下限給定值之間時執行器部分開啟;當爐溫超過上限給定值時執行器全閉。3)比例調節(P調節)-調節器的輸出信號(M)和偏差輸入(e)成比例。即:M=ke。式中:K-比例系數比例調節器的輸入、輸出量之間任何時刻都存在-對應的比例關系,因此爐溫變化經比例調節達到平衡時,爐溫不能加復到給定值時的偏差-稱“靜差”4)比例積分(PI)調節-為了“靜差”,在比例調節中添加積分(I)調節積分,調節是指調節器的輸出信號與偏差存在隨時間的增長而增強,

17、直到偏差消除才無輸出信號,故能消除“靜差”比例調節和積分調節的組合稱為比例積分調節.5) 比例積分微分(PID)調節-比例積分調節會使調節過程增長,溫度的波動幅值增大,為此再引入微分(D)調節。微分調節是指調節器的輸出與偏差對時間的微分成比例,微分調節器在溫度有變化“苗頭”時就有調節信號輸出,變化速度越快、輸出信號越強,故能加快調節速度,降低溫度波動幅度,比例調節、積分調節和微分調節的組合稱為比例積分微分調節。(一般采用晶閘管調節器為執行器)。根據生產現場的運行情況,這種控溫方法,精度比較高,系統性能穩定,滿足生產的實際需要。主要設備:熱電偶或熱電阻,智能PID溫控儀,可控硅觸發調功器等。4.

18、2 總體程序流程圖溫度控制程序的設計應考慮如下:1)鍵盤掃描、鍵碼識別和溫度顯示;2)爐溫采樣、數字濾波;3)數據處理;4)越限報警和處理;5)PID計算、溫度標度轉換主程序框圖主程序包括8051本身的初始化等等。大體說來,本程序包括設置有關標志、暫存單元和顯示緩沖區清零、T0初始化、CPU開中斷、溫度顯示和鍵盤掃描程序 主程序在主程序中首先給定PID算法的參數值,然后通過循環顯示當前溫度,并且設定鍵盤外部中斷為最高優先級,以便能實時響應鍵盤處理;軟件設定定時器T0為5秒定時,在無鍵盤響應時每隔5秒響應一次,以用來采集經過AD轉換的溫度信號;設定定時器T1為嵌套在T0之中的定時中斷,初值由PI

19、D算法子程序提供。在主程序中必須分配好每一部分子程序的起始地址,形式如下: ORG 0000H AJMP MAIN ORG 0003H AJMP INTO ORG 000BH AJMP TT0 ORG 001BH AJMP TT1 中斷服務程序框圖T0中斷服務程序是溫度控制系統的主體程序,用于啟動數/模轉換器、讀入采樣數據、數字濾波、越限溫度報警和越限處理、PID計算和輸出可控硅的觸發脈沖等。P1.3引腳上輸出的該同步觸發脈沖寬度由T1計數器的溢出中斷控制,8051利用等待T1溢出中斷的空閑時間(形成P1.3輸出脈沖頂寬)完成把本次采樣值轉換成顯示值而放入顯示單元緩沖區和調用溫度顯示程序。80

20、51從T1中斷服務程序返回后即可恢復現場和返回主程序。系統軟件采用中斷方式編程,主要部分是時鐘中斷程序,主要由輸入處理程序、控制算法程序、顯示處理、輸出處理和自診斷程序等組成,其流程圖如圖2所示。儀表通電啟動后,初始化程序進行時間給定,每隔500ms時鐘中斷一次,中斷后進入時鐘中斷處理。對于純滯后,大慣性環節控制對象,一般采用積分分離PID控制算法。在一般的PID控制中,當系統有較大的擾動或設定值較大幅度提降時,由于偏差較大及系統存在慣性和滯后,在積分項的作用下,會產生較大的超調和長時間波動,在溫度緩慢變化過程中這一現象尤為嚴重,為此采用積分分離措施,即在偏差較大時,取消積分作用,偏差較小時,

21、才將積分作用投入。中斷服務程序框圖 4.3 程序清單 報警電路子程序1.子程序框圖 2.報警子程序: FLAGBIT 00HORG 00HSTART:JB P1.7,STARTJNB FLAG,NEXTMOV R2,#200DV:CPL P2.2LCALL DELY500LCALL DELY500DJNZ R2,DVCPL FLAGNEXT:MOV R2,#200DV1:CPL P1.0LCALL DELY500DJNZ R2,DV1CPL FLAGSJMP STARTDELY500: MOV R7,#250LOOP: NOP DJNZ R7,LOOP RET END 鍵盤顯示管理程序。為了使

22、8279具有合適的鍵盤、顯示功能,首先要對芯片初始化。可適當地挑選8279的控制字,例如:使8279具有8位顯示、右端輸入、編碼鍵盤、雙鍵鎖定時可選控制字10H.這時每次按鍵都將產生鍵特征碼,并且存放在FIFOROM中,同時使8279的IRQ引腳變為高電平,可作為向CPU申請中斷信號,如果CPU是中斷開放的,則轉向中斷服務程序,可在中斷服務程序中讀取特征碼。每當CPU讀取FIFOROM中的數據后,8279自動撤消IRQ信號,IRQ引腳變為低電平。CPU返回主程序后,可由鍵特征碼來決定程序的流向。問題是,當CPU從8279的FIFOROM中讀取鍵特征碼后,IRQ雖然恢復底電平,但FIFOROM中

23、的數據并沒有消失,仍保存在里面,這時即使使用對改8279清除的指令D3H,也不能將FIFOROM中的數改變,只有按其它鍵才能改變FIFOROM中的數據,因這樣是無法實現按鈕功能的。為了使鍵盤具有按鈕功能,應該利用8279的傳感方式功能,在傳感器方式中,8279每當檢測到傳感狀態變化時,IRQ就變為高電平,圖1是以8051CPU構成的系統為例,說明IRQ引腳電平的翻新過程。 8279的IRQ端經反相器接到8051的INT1端(即P3.3引腳)。先將8279設置成編碼鍵盤,允許INT1中斷,當鍵按下時,反相器輸出低電平,CPU進入中斷服務程序,讀取鍵特征碼后,又為高電平。返回主程序后,轉向功能程序

24、(例如調模進)。輸出控制信號(例如P1.0為“1”時調模進電磁閥得電)后,將8279設置為傳感器方式,并且不允許INT1中斷,然后調試P3.3是否為低電平。如果按鍵松開,8279將測出傳感器狀態發生變化,而使IRQ由低電平轉為高電平。也就是說P3.3腳為低電平時,按鍵已經松開,程序重新設置8279為編碼鍵盤,INT1中斷開放,以便使鍵盤脫離按鈕功能。程序清單如下:ORG 0000H MOV DPTR,#7000H ; 指向8279數據口 INC DPTR ; 指向8279控制口 MOV A, #00H ; 設定8279工作方式 M0VX DPTR,A MOV A , #0GFH ; 清除827

25、9內部顯示RAM狀態 MOVX DPTR, A MOV A , #22H MOVX DPTR , A ; 設定8279分頻系數 LOOP:MOVX A , DPTR JB ACC.7 , LOOP ; 顯示RAM清除完畢嗎? MOV A , 80H ; 指向第一位數碼管 MOVX DPTR , A MOV A , 9FH ; 輸出1一個字形 MOV DPTR ,#7000H MOVX DPTR , A INC DPTR LOOP1:M0VX A , DPTR AND A , #07H CJNE A , #00H,L00P2 AJMP LOOP1 ; 無鍵按下轉 LOOP2:MOV DPTR ,

26、#7000H MOVX A , DPTR; 有鍵按下將鍵值送累加器A 鍵值,由8279的行掃描信號(SL0-SL3)與列信號(RL0-RL4)組成,不同組合的矩陣將得到不同鍵,但 在同一矩陣中不會有相同的鍵值,這對初學者編制鍵顯示程序大為方便.下表是通用鍵盤板鍵值: 名稱 0 1 2 3 4 5 6 7 8 9 鍵值 C1 C8 C9 D0 D8 E0 C2 CA D1 D9 名稱 狀態切換 清除 鍵值 DA C3 .1判定有無閉合鍵的子程序: 判定有無閉合鍵的子程序為KSI,供在鍵盤掃描程序中調 用。程序如下: KSI:MOVDPTR,#0FDF9H;A口地址MOVA, #00HMOVXDP

27、TR,A;A口送00HINCDPTRINCDPTR;C口地址MOVXA,DPTR;讀C口CPLA ANLA,#0FH;屏蔽高四位RET.2鍵盤掃描程序 如前所述,在單片機應用系統中常常是鍵盤和顯示器同時存在,因此可以把鍵盤掃描程序和顯示程序配合起來使用,即:把顯示程序作為鍵掃描程序的延時子程序。這樣做既省去了一個專門的延時子程序,又能保證顯示器常亮的可觀效果。 假定本系統中顯示程序為DIR,執行時間約為6ms。鍵盤掃描程序如下: KEY1:ACALL KSI;檢查是否有鍵閉合JNZ LK1;A非“0”則轉移ACALL DIR;顯示一次(“延時6s)AJMP KEY1LK1: ACALL DIR

28、; 有鍵閉合二次延時ACALL DIR; 共12ms去抖動ACALL KSI; 再檢查是否有鍵閉合JNZ LK2; 有鍵閉合轉移到LK2ACALL DIRAJMP KEY; 無鍵閉合,延時6ms后轉KEY1LK2: MOV R,#0FEH; 掃描初值送R2MOV R,#00H; 掃描列號送R4LK4: MOV DPTR,#0101H; A口地址MOV A,R MOVX DPTR,A; 掃描初值送A口INC DPTR INC DPTR; C口地址MOVX A,DPTR; 讀C口JB ACC.0, LONE;ACC.0=1,第0行無鍵閉合,轉LONEMOV A,#00H; 裝第0行值AJMP LK

29、PLONE: JB ACC.1 LTWO;ACC.1=1,第1行無鍵閉合,轉LTWOMOV A,#08H; 裝第1行值AJM PLKPLTWO: JB ACC.2,LTHR;ACC.2=1,第2行無鍵閉合,轉LTHRMOV A#10HAJMP LKPLTHR: JB ACC.3,NEXT;ACC.3=1,第3行無鍵閉合,轉NEXT MOV A,#18H; 裝第3行值LKP: ADD A,R; 計算鍵碼PUSH ACC; 保護鍵碼LK3: ACALL DIR; 延時6msACALL KSI; 檢查是否繼續閉合,若閉合再延時JNZ LK3POP ACC; 若鍵起,則鍵碼送ARETNEXT: INC

30、 R; 掃描列號加1MOV A,RJNB ACC.7,KND;若第7位=0,已掃完最高列則轉KNDRL AMOV R,AAJMP LK4; 進行下一行掃描KND: AJMP KEY1; 掃描完畢,開始新一輪4.3.3 A/D轉換程序(1)A/D轉換子程序。 PUSH A SETB EA; 開中斷SETB IT1; 外中斷1定義為跳變觸發MOV DPTR,#0BFFFH; 送ADC0809口地址MOV A,#00H; 選通IN0通道MOVX DPTR,A; 啟動A/D轉換NOPNOPNOPNOPNOPSETB EX1; 開外中斷1POP ARET(2)A/D轉換結束中斷程序。ADINT1: PU

31、SH PSW ; 保護現場PUSHAPUSH DPH PUSHDPL MOVDPTR,#0BFFFH MOVX A,DPTR; 讀A/D轉換結果MOV 60H,A; 送入內部RAM60H中 MOV A,#00H; 再次啟動IN0通道 MOVX DPTR,A POP DPL; 恢復現場 POPA POPPSW RET1溫度檢測子程序A/D轉換采用查詢方式。為提高數據采樣的可靠性,對采樣溫度進行數字濾波。數字濾波的算法很多,這里采用4次采樣取平均值的方法。如前所述,本系統A/D轉換結果乘2正好是溫度值,因此,4次采樣的數字量之和除以2就是檢測的當前溫度。檢測結果高位存入50H,低位存入51H。溫度

32、檢測子程序流程圖如圖1所示。 圖1:溫度檢測子程序流程圖溫度檢測子程序TIN:TIN: MOV TEMP1,#00H; 清檢測溫度緩沖區 MOV TEMP0,#00H MOV R2,#04H; 取樣次數送R2 MOV DPTR,#7FF8H; 指向A/D轉換器0通道 LTIN1:MOVX DPTR,A; 啟動轉換HERE:JNB IE1,HERE; 等待轉換結束 MOVX A,DPTR; 讀轉換結果ADDA,TEMP0; 累加(雙字節加法)MOVTEMP0,AMOVA,#00HADDCA,TEMP1MOVTEMP1,ADJNZR2,LTIN1; 4次采樣完否,未完繼續CLR C; 累加結果除2

33、(雙字節除法)MOVA,TEMP1 RRCAMOV TEMP1,AMOV A,TEMP0 RRC AMOV TEMP0,ARET 溫度控制子程序將當前溫度與預置溫度比較,當前溫度小于預置溫度時,繼電器閉合,接通電阻絲加熱;當前溫度大于預置溫度時,繼電器斷開,停止加熱;當二者相等時電爐保持原來狀態;當前溫度降低到比預置溫度低5時,再重新啟動加熱;當前溫度超出報警上下限時將啟動報警,并停止加熱。由于電爐開始加熱時,當前溫度可能低于報警下限,為了防止誤報,在未達到預置溫度時,不允許報警,為此設置了報警允許標志F0。模塊流程見圖2。 溫度控制流程圖溫度控制子程序CONT: CONT:MOV A,TEM

34、P0; 當前溫度-預置溫度(雙字節減) CLR C SUBB A,ST0 MOV B,A; 低8位相減的差值暫存B MOV A,TEMP1 SUBB A,ST1JNC LOFF; 無借位,表示當前溫度預置溫度,轉LOFF JNB F0,LON;當前溫度預置溫度,判是否達到過預置溫度 MOVA,B ; 若達到過預置溫度,判二者差值是否大于2 CLRC SUBBA,#02H JNC ACC.7,LOFF;差值不大于2,轉LOFFLON:CLR P2.1; 開電爐 SJMP EXIT; 返回LOFF: SETBF0; 設置允許報警標志 SETB P2.1; 關電爐EXIT:RET 看門狗電路子程序:

35、 ORG0000HLJMPSTARTORG000BH LJMPINTT0ORG0030HSTART:MOVSP,#30H MAIN:NOPNOPSETBP1.0NOPNOPSETBEANOPSETBET0 LJMPMAININTT0:NOPNOPCLRP1.7NOPNOPRETI這樣,在整個用戶程序中只唯一的一對指令(SETBP1.7及CLR P1.7)能使“看門狗”定時器復位。也就是說不會有任何“非法”的指令能使“看門狗”定時器誤復位,致使系統已經“死機”而“看門狗”失效。當然,對對沒有中斷的用戶系統,只需將清零指令(CLR P1.7)也插在主程序中就可以了;對于有多種中斷的用戶系統,如果沒

36、有中斷嵌套,則清零指令(CLR P1.7)可以插在任一個中斷子程序中,而在主程序中適當加入一些有關中斷的冗余指令(如SETB ET0等),以免因有關中斷的特殊功能寄存器數據受到干擾時導致中斷功能失效;對于有二級中斷嵌套的用戶系統,清零指令(CLR P1.7)可以插在中斷種數比較多的那一級中的任一個中斷子程序中,插有“喂狗”指令的那一級中斷系統將會受到“看門狗”的保護,而另一級中斷系統如果失效,“看門狗”是“無動于衷”的,這時只能盡量減少這種中斷子程序的執行時間以減少受到干擾的可能性。如果二級中斷嵌套系統者受到“看門狗”的保護,就必需設計一個非常復雜的“看門狗”電路,其“喂狗”指令要由三部分來保

37、證各個部分都能正常工作,需要說明的是,如果主程序運行一次的時間(包括可能被中斷的時間)超過1.6秒,則要適當再插入一條SETB第五章 設計感想本文的溫度控制系統,只是單片機廣泛應用于各行各業中的一例,通過本次設計,使我進一步熟悉了一個系統的設計過程,為畢業設計打下了堅實的基礎,這次設計屬于理論設計,沒有得到實踐的檢驗,只有在邏輯上完成了這次設計。MCS-51單片機,體積小,重量輕,抗干擾能力強,對環境要求不高,價格低廉,可靠性高,靈活性好,即使是非電子計算機專業人員,通過學習一些專業基礎知識以后也能依靠自己的技術力量,來開發所希望的單片機應用系統。在抗干擾技術中,為了提高抗干擾技術中我們應盡量做到以下幾點:1. 切斷干擾

溫馨提示

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

評論

0/150

提交評論