溫度控制系統(tǒng)設(shè)計論文資料
溫度控制系統(tǒng)設(shè)計論文資料,溫度,控制系統(tǒng),設(shè)計,論文,資料
目錄第一章 設(shè)計背景及設(shè)計意義 2第二章 系統(tǒng)方案設(shè)計 3第三章 硬件.53.1 溫度檢測和變送器53.2 溫度控制電路63.3 A/D轉(zhuǎn)換電路 73.4 報警電路 83.5 看門狗電路 83.6 顯示電路 103.7 電源電路12第四章 軟件設(shè)計 144.1 軟件實現(xiàn)方法 144.2 總體程序流程圖 154.3 程序清單 19第五章 設(shè)計感想 29第六章 參考文獻30第七章 附錄 317.1 硬件清單 317.2 硬件布線圖 31第一章 設(shè)計背景及研究意義機械制造行業(yè)中,用于金屬熱處理的加熱爐,需要消耗大量的電能,而且溫度控制是純滯后的一階慣性環(huán)節(jié)?,F(xiàn)有企業(yè)多采用常規(guī)儀表加接觸器的斷續(xù)控制,隨著科技進步和生產(chǎn)的發(fā)展,這類設(shè)備對溫度的控制要求越來越高,除控溫精度外,對溫度上升速度及下降速度也提出了可控要求,顯而易見常規(guī)控制難于滿足這些工藝要求。隨著微電子技術(shù)及電力電子技術(shù)的發(fā)展,采用功能強、體積小、價格低的智能化溫度控制裝置控制加熱爐已成為現(xiàn)實。自動控制系統(tǒng)在各個領(lǐng)域尤其是工業(yè)領(lǐng)域中有著及其廣泛的應(yīng)用,溫度控制是控制系統(tǒng)中最為常見的控制類型之一。隨著單片機技術(shù)的飛速發(fā)展,通過單片機對被控對象進行控制日益成為今后自動控制領(lǐng)域的一個重要發(fā)展方向。在現(xiàn)代化的工業(yè)生產(chǎn)中,電流、電壓、溫度、壓力、流量、流速和開關(guān)量都是常用的主要被控參數(shù)。例如:在冶金工業(yè)、化工生產(chǎn)、電力工程、造紙行業(yè)、機械制造和食品加工等諸多領(lǐng)域中,人們都需要對各類加熱爐、熱處理爐、反應(yīng)爐和鍋爐中的溫度進行檢測和控制。對工件的處理溫度要求嚴格控制,計算機溫度控制系統(tǒng)使溫度控制指標得到了大幅度提高。采用MCS-51單片機來對溫度進行控制,不僅具有控制方便、組態(tài)簡單和靈活性大等優(yōu)點,而且可以大幅度提高被控溫度的技術(shù)指標,從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。因此,單片機對溫度的控制問題是一個工業(yè)生產(chǎn)中經(jīng)常會遇到的問題。, 第二章 系統(tǒng)方案的設(shè)計這次課程設(shè)計題目為熱電偶構(gòu)成的熱處理爐的溫度控制系統(tǒng), 技術(shù)要求:1.設(shè)定溫度范圍為0999 2.溫度顯示為0999 3.到設(shè)定溫度報警熱處理爐爐溫控制系統(tǒng)的控制過程是:單片機定時對爐溫進行檢測,經(jīng)A/D轉(zhuǎn)換芯片得到相應(yīng)的數(shù)字量,經(jīng)過計算機進行數(shù)據(jù)轉(zhuǎn)換,得到應(yīng)有的控制量,去控制加熱功率,從而實現(xiàn)對溫度的控制。如下圖所示:進行系統(tǒng)設(shè)計時應(yīng)考慮如下問題:1.爐溫變化規(guī)律的控制,即爐溫按預(yù)定的溫度時間關(guān)系變化。 2.溫度控制范圍:如01000,這就涉及到測溫元件、電爐功率的選擇等。3.控制精度、超調(diào)量等指標,這涉及到A/D轉(zhuǎn)換精度、控制規(guī)律選擇等。溫控系統(tǒng)主要由溫度傳感器、溫度調(diào)節(jié)儀、執(zhí)行裝置、被控對象四個部分組成,其系統(tǒng)結(jié)構(gòu)圖如圖1所示。被控制對象是大容量、大慣性的電熱爐溫度對象,是典型的多階容積遲后特性,在工程上往往近似為包含有純滯后的二階容積遲后;由于被控對象電容量大,通常采用可控硅作調(diào)節(jié)器的執(zhí)行器,其具體的電路圖如圖2所示。 調(diào)節(jié)加熱爐的溫度,在工業(yè)上是通過在設(shè)定周期范圍內(nèi),將電路接通幾個周波,然后斷開幾個周波,改變晶閘管在設(shè)定周期內(nèi)通斷時間的比例,來調(diào)節(jié)負載兩端交流平均電壓即負載功率,這就是通常所說的調(diào)功器或周波控制器;調(diào)功器是在電源電壓過零時觸發(fā)晶閘管導(dǎo)通的,所以負載上得到的是完整的正弦波,調(diào)節(jié)的只是設(shè)定周期Tc內(nèi)導(dǎo)通的電壓周波。如圖3所示,設(shè)周期Tc內(nèi)導(dǎo)通的周期的波數(shù)為n,每個周波的周期為T,則調(diào)功器的輸出功率為P=nTPn/Tc,Pn為設(shè)定周期Tc內(nèi)電壓全通過時裝置的輸出功率。第三章 硬件的設(shè)計3.1 溫度檢測和變送器 溫度檢測元件和變送器的類型選擇與被控溫度的范圍和精度等級有關(guān)。鎳鉻/鎳鋁熱電偶適用于0-1000的溫度檢測范圍,相應(yīng)輸出電壓為0mV-41.32mV。 變送器由毫伏變送器和電流/電壓變送器組成:毫伏變送器用于把熱電偶輸出的0mV-41.32mV變換成4mA-20mA的電流;電流/電壓變送器用于把毫伏變送器輸出的4mA-20mA電流變換成0-5V的電壓。為了提高測量精度,變送器可以進行零點遷移。例如:若溫度測量范圍為500-1000,則熱電偶輸出為20.6mV-41.32mV,毫伏變送器零點遷移后輸出4mA-20mA范圍電流。這樣,采用8位A/D轉(zhuǎn)換器就可使量化溫度達到1.96以內(nèi)。其在控制系統(tǒng)的作用如下圖所示:熱處理爐 圖1:溫度檢測電路3.2 溫度控制電路8051對溫度的控制是通過雙向可控硅實現(xiàn)的。如圖一所示,雙向可控硅管和加熱絲串接在交流220V、50Hz市電回路。在給定周期T內(nèi),8051只要改變可控硅管的接通時間即可改變加熱絲的功率,以達到調(diào)節(jié)溫度的目的。可控硅接通時間可以通過可控硅控制極上觸發(fā)脈沖控制。該觸發(fā)脈沖由8051用軟件在P2.1引腳上產(chǎn)生,在過零同步脈沖同步后經(jīng)光電耦合管和驅(qū)動器輸出送到可控硅的控控制系統(tǒng)的制極上。圖1:調(diào)溫電路3.3 A/D轉(zhuǎn)換電路ADC0809是一種比較典型的8位8通道逐次逼近式A/D轉(zhuǎn)換器,CMOS工藝,可實現(xiàn)8路模擬信號的分時采集,片內(nèi)有8路模擬選通開關(guān),以及相應(yīng)的通道地址鎖存用譯碼電路,其轉(zhuǎn)換時間為100s左右,采用雙排28引腳封裝,其主要性能指標如下:1、分辨率為8位二進制數(shù);2、電壓范圍在0+5V,對應(yīng)A/D值00HFFH;3、每路A/D轉(zhuǎn)換完成時間100ms;4、可分時進行8路A/D轉(zhuǎn)換;5、工作頻率500KHz(本電路由8051ALE端輸出經(jīng)4分頻后得到)。引腳功能如下:IN0IN7:8路0+5V模擬電壓輸入(用IN0端);DB7DB0:8位數(shù)字輸出線,輸出8位A/D轉(zhuǎn)換值;STAST:啟動A/D轉(zhuǎn)換端;EOC:A/D轉(zhuǎn)換完成端;OE:允許數(shù)字量輸出信號;CLOCK:時鐘500KHz;ADD A、B、C:IN0IN7地址選擇線;ALE:地址鎖存允許輸入信號。A/D轉(zhuǎn)換器0809與放大電路連接較簡單,運放接成比例放大形式,放大倍數(shù)可調(diào),總體A/D轉(zhuǎn)換與8051接口電路如下:3.4 報警電路 報警電路的作用主要是在溫度超過規(guī)定的溫度或低于下限溫度或達到預(yù)定溫度時,報警子程序就會控制報警信號的輸出,溫度低與或高于規(guī)定的溫度范圍以及達到規(guī)定的溫度時,音頻裝置就會發(fā)出不同頻率的告警信號,同時相應(yīng)的LED顯示,到底是高了還是低了,以便與自動調(diào)節(jié)。報警電路如下圖: 圖1:報警電路3.5看門狗電路計算機看門狗控制卡是為了使計算機或工控機在系統(tǒng)出現(xiàn)異常時,能自動控制計算機進行重新啟動,使系統(tǒng)恢復(fù)正常運行,保證系統(tǒng)24小時不間斷正常工作。該控制卡可運用于無人職守的場所。像采用計算機作為存儲設(shè)備的數(shù)字硬盤錄像系統(tǒng),公路卡口監(jiān)控記錄設(shè)備等。特點: 可固定在計算機內(nèi)部并且不占用計算機任何插槽。 借電方便,可利用計算機本身的軟驅(qū)電源接口。 通過計算機并口或者串口跟計算機通訊。 計算機操作系統(tǒng)發(fā)生死機后,30秒(時間可設(shè)置)內(nèi)控制卡控制計算機重新啟動。 控制卡內(nèi)有信號燈,在正常工作時有頻率穩(wěn)定持續(xù)的燈光閃動。 提供開發(fā)控件,可啟動看門狗功能、停止看門狗功能、設(shè)置串口還是并口。 有兩種型號的控制卡,有自帶RS232轉(zhuǎn)485的功能的控制卡?,F(xiàn)以MAX706監(jiān)控電路為例(見圖1)來說明“看門狗”硬件電路的工作過程,我們知道,MAX706是一種性能優(yōu)良的低功耗CMOS監(jiān)控電路芯片,其內(nèi)部電路由上電復(fù)位、可重觸發(fā)“看門狗”定時器及電壓比較器等組成2。MAX706只要在1.6秒時間內(nèi)檢測到WCI引腳有高低電平跳變信號,則“看門狗”定時器清零并重新開始計時;若超出1.6秒后,WCI引腳仍無高低電平跳變信號,則“看門狗”定時器溢出,WDO引腳輸出低電平,進而觸發(fā)MR手動復(fù)位引腳,使MAC706復(fù)位,從而使“看門狗”定時器清零并重新開始計時,WDO引腳輸出高電平,MAX706的RST復(fù)位輸出引腳輸出大約200毫秒寬度的低電平脈沖,使單片機控制系統(tǒng)可靠復(fù)位,重新投入正常運行。圖1:看門狗電路3.6 顯示電路 單片機與顯示器的接口電路圖圖MC14495內(nèi)部邏輯結(jié)構(gòu)及引腳 圖用MC14495組成多位LED靜態(tài)顯示器接口 程序:DIR: SETB RS0 ;保護第0組工作寄存器 PUSH A ;保護現(xiàn)場 MOV R2, #03H ;顯示位數(shù)計數(shù) MOV R1, #00H ;設(shè)位碼初值,初態(tài)從LED7開始 MOV R0, #DIS7 ;顯示緩沖區(qū)末地址送R0DIR0: MOV A, RO ;取待顯示的數(shù)據(jù) 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口 INC R1 ;位碼加1指向下一位 DJNZ R2, DIR0 ;8個位未顯示完重復(fù) CLR RS0 ;顯示完恢復(fù)第0組工作寄存器 POP A RET ;返回主程序 3.7 電源電路 本模塊將交流 220V輸入電壓變?yōu)?組直流電壓,其中5V電壓為CPU等數(shù)字電路提供電源;15V電壓為運放等模擬芯片提供電源;24V電壓為溫度變送器提供電源。 220v市電經(jīng)變壓器輸出兩組獨立的25v交流,橋堆整流,大電容濾波得到 + 35v直流,再加一個0.1uF小電容濾出電源中的高頻分量。考慮到制作過程中電源空載似的電容放電可在輸出電容并上1k大功率電阻。另外這組直流還要給7812、7912來獲得 + 12v。 電源模塊如下圖: 圖1:5V直流穩(wěn)壓源電路圖2: + 12V/24V直流穩(wěn)壓源的原理電路第四章 軟件的設(shè)計4.1 軟件實現(xiàn)方法根據(jù)熱處理爐在上電復(fù)位后先處于停止加熱狀態(tài),這時可以用“+1”鍵設(shè)定預(yù)置溫度,顯示器顯示預(yù)定溫度;溫度設(shè)定好后就可以按啟動鍵啟動系統(tǒng)工作了。溫度檢測系統(tǒng)不斷定時檢測當前溫度,并送往顯示器顯示,達到預(yù)定值后停止加熱并顯示當前溫度;當溫度下降到下限(比預(yù)定值低3)時再啟動加熱。這樣不斷重復(fù)上述過程,使溫度保持在預(yù)定溫度范圍之內(nèi)。啟動后不能再修改預(yù)置溫度,必須按復(fù)位/停止鍵回到停止加熱狀態(tài)再重新設(shè)定預(yù)置溫度。爐溫控制是這樣一個反饋調(diào)節(jié)過程,比較實際爐溫和需要爐溫得到偏差,通過對偏差的處理獲得控制信號,去調(diào)節(jié)電阻爐的熱功率,從而實現(xiàn)對爐溫的控制。按照偏差的比例、積分和微分產(chǎn)生控制作用(PID控制),是過程控制中應(yīng)用最廣泛的一種控制形式。系統(tǒng)控制程序采用兩重中斷嵌套方式設(shè)計。首先使T0計數(shù)器產(chǎn)生定時中斷,作為本系統(tǒng)的采樣周期。在中斷服務(wù)程序中啟動A/D,讀入采樣數(shù)據(jù),進行數(shù)字濾波、上下限報警處理,PID計算,然后輸出控制脈沖信號。脈沖寬度由T1計數(shù)器溢出中斷決定。在等待T1中斷時,將本次采樣值轉(zhuǎn)換成對應(yīng)的溫度值放入顯示緩沖區(qū),然后調(diào)用顯示子程序。從T1中斷返回后,再從T0中斷返回主程序并且、繼續(xù)顯示本次采樣溫度,等待下次T0中斷。1)二位式調(diào)節(jié)-它只有開、關(guān)兩種狀態(tài),當爐溫低于限給定值時執(zhí)行器全開;當爐溫高于給定值時執(zhí)行器全閉。(執(zhí)行器一般選用接觸器)2)三位式調(diào)節(jié)-它有上下限兩個給定值,當爐溫低于下限給定值時招待器全開;當爐溫在上、下限給定值之間時執(zhí)行器部分開啟;當爐溫超過上限給定值時執(zhí)行器全閉。3)比例調(diào)節(jié)(P調(diào)節(jié))-調(diào)節(jié)器的輸出信號(M)和偏差輸入(e)成比例。即:M=ke。式中:K-比例系數(shù)比例調(diào)節(jié)器的輸入、輸出量之間任何時刻都存在-對應(yīng)的比例關(guān)系,因此爐溫變化經(jīng)比例調(diào)節(jié)達到平衡時,爐溫不能加復(fù)到給定值時的偏差-稱“靜差”4)比例積分(PI)調(diào)節(jié)-為了“靜差”,在比例調(diào)節(jié)中添加積分(I)調(diào)節(jié)積分,調(diào)節(jié)是指調(diào)節(jié)器的輸出信號與偏差存在隨時間的增長而增強,直到偏差消除才無輸出信號,故能消除“靜差”比例調(diào)節(jié)和積分調(diào)節(jié)的組合稱為比例積分調(diào)節(jié).5) 比例積分微分(PID)調(diào)節(jié)-比例積分調(diào)節(jié)會使調(diào)節(jié)過程增長,溫度的波動幅值增大,為此再引入微分(D)調(diào)節(jié)。微分調(diào)節(jié)是指調(diào)節(jié)器的輸出與偏差對時間的微分成比例,微分調(diào)節(jié)器在溫度有變化“苗頭”時就有調(diào)節(jié)信號輸出,變化速度越快、輸出信號越強,故能加快調(diào)節(jié)速度,降低溫度波動幅度,比例調(diào)節(jié)、積分調(diào)節(jié)和微分調(diào)節(jié)的組合稱為比例積分微分調(diào)節(jié)。(一般采用晶閘管調(diào)節(jié)器為執(zhí)行器)。根據(jù)生產(chǎn)現(xiàn)場的運行情況,這種控溫方法,精度比較高,系統(tǒng)性能穩(wěn)定,滿足生產(chǎn)的實際需要。主要設(shè)備:熱電偶或熱電阻,智能PID溫控儀,可控硅觸發(fā)調(diào)功器等。4.2 總體程序流程圖溫度控制程序的設(shè)計應(yīng)考慮如下:1)鍵盤掃描、鍵碼識別和溫度顯示;2)爐溫采樣、數(shù)字濾波;3)數(shù)據(jù)處理;4)越限報警和處理;5)PID計算、溫度標度轉(zhuǎn)換4.2.1主程序框圖主程序包括8051本身的初始化等等。大體說來,本程序包括設(shè)置有關(guān)標志、暫存單元和顯示緩沖區(qū)清零、T0初始化、CPU開中斷、溫度顯示和鍵盤掃描程序 主程序在主程序中首先給定PID算法的參數(shù)值,然后通過循環(huán)顯示當前溫度,并且設(shè)定鍵盤外部中斷為最高優(yōu)先級,以便能實時響應(yīng)鍵盤處理;軟件設(shè)定定時器T0為5秒定時,在無鍵盤響應(yīng)時每隔5秒響應(yīng)一次,以用來采集經(jīng)過AD轉(zhuǎn)換的溫度信號;設(shè)定定時器T1為嵌套在T0之中的定時中斷,初值由PID算法子程序提供。在主程序中必須分配好每一部分子程序的起始地址,形式如下: ORG 0000H AJMP MAIN ORG 0003H AJMP INTO ORG 000BH AJMP TT0 ORG 001BH AJMP TT1 4.2.2中斷服務(wù)程序框圖T0中斷服務(wù)程序是溫度控制系統(tǒng)的主體程序,用于啟動數(shù)/模轉(zhuǎn)換器、讀入采樣數(shù)據(jù)、數(shù)字濾波、越限溫度報警和越限處理、PID計算和輸出可控硅的觸發(fā)脈沖等。P1.3引腳上輸出的該同步觸發(fā)脈沖寬度由T1計數(shù)器的溢出中斷控制,8051利用等待T1溢出中斷的空閑時間(形成P1.3輸出脈沖頂寬)完成把本次采樣值轉(zhuǎn)換成顯示值而放入顯示單元緩沖區(qū)和調(diào)用溫度顯示程序。8051從T1中斷服務(wù)程序返回后即可恢復(fù)現(xiàn)場和返回主程序。系統(tǒng)軟件采用中斷方式編程,主要部分是時鐘中斷程序,主要由輸入處理程序、控制算法程序、顯示處理、輸出處理和自診斷程序等組成,其流程圖如圖2所示。儀表通電啟動后,初始化程序進行時間給定,每隔500ms時鐘中斷一次,中斷后進入時鐘中斷處理。對于純滯后,大慣性環(huán)節(jié)控制對象,一般采用積分分離PID控制算法。在一般的PID控制中,當系統(tǒng)有較大的擾動或設(shè)定值較大幅度提降時,由于偏差較大及系統(tǒng)存在慣性和滯后,在積分項的作用下,會產(chǎn)生較大的超調(diào)和長時間波動,在溫度緩慢變化過程中這一現(xiàn)象尤為嚴重,為此采用積分分離措施,即在偏差較大時,取消積分作用,偏差較小時,才將積分作用投入。中斷服務(wù)程序框圖 4.3 程序清單4.3.1 報警電路子程序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 END4.3.2 鍵盤顯示管理程序。為了使8279具有合適的鍵盤、顯示功能,首先要對芯片初始化。可適當?shù)靥暨x8279的控制字,例如:使8279具有8位顯示、右端輸入、編碼鍵盤、雙鍵鎖定時可選控制字10H.這時每次按鍵都將產(chǎn)生鍵特征碼,并且存放在FIFOROM中,同時使8279的IRQ引腳變?yōu)楦唠娖?,可作為向CPU申請中斷信號,如果CPU是中斷開放的,則轉(zhuǎn)向中斷服務(wù)程序,可在中斷服務(wù)程序中讀取特征碼。每當CPU讀取FIFOROM中的數(shù)據(jù)后,8279自動撤消IRQ信號,IRQ引腳變?yōu)榈碗娖?。CPU返回主程序后,可由鍵特征碼來決定程序的流向。問題是,當CPU從8279的FIFOROM中讀取鍵特征碼后,IRQ雖然恢復(fù)底電平,但FIFOROM中的數(shù)據(jù)并沒有消失,仍保存在里面,這時即使使用對改8279清除的指令D3H,也不能將FIFOROM中的數(shù)改變,只有按其它鍵才能改變FIFOROM中的數(shù)據(jù),因這樣是無法實現(xiàn)按鈕功能的。為了使鍵盤具有按鈕功能,應(yīng)該利用8279的傳感方式功能,在傳感器方式中,8279每當檢測到傳感狀態(tài)變化時,IRQ就變?yōu)楦唠娖?,圖1是以8051CPU構(gòu)成的系統(tǒng)為例,說明IRQ引腳電平的翻新過程。 8279的IRQ端經(jīng)反相器接到8051的INT1端(即P3.3引腳)。先將8279設(shè)置成編碼鍵盤,允許INT1中斷,當鍵按下時,反相器輸出低電平,CPU進入中斷服務(wù)程序,讀取鍵特征碼后,又為高電平。返回主程序后,轉(zhuǎn)向功能程序(例如調(diào)模進)。輸出控制信號(例如P1.0為“1”時調(diào)模進電磁閥得電)后,將8279設(shè)置為傳感器方式,并且不允許INT1中斷,然后調(diào)試P3.3是否為低電平。如果按鍵松開,8279將測出傳感器狀態(tài)發(fā)生變化,而使IRQ由低電平轉(zhuǎn)為高電平。也就是說P3.3腳為低電平時,按鍵已經(jīng)松開,程序重新設(shè)置8279為編碼鍵盤,INT1中斷開放,以便使鍵盤脫離按鈕功能。程序清單如下:ORG 0000H MOV DPTR,#7000H ; 指向8279數(shù)據(jù)口 INC DPTR ; 指向8279控制口 MOV A, #00H ; 設(shè)定8279工作方式 M0VX DPTR,A MOV A , #0GFH ; 清除8279內(nèi)部顯示RAM狀態(tài) MOVX DPTR, A MOV A , #22H MOVX DPTR , A ; 設(shè)定8279分頻系數(shù) LOOP:MOVX A , DPTR JB ACC.7 , LOOP ; 顯示RAM清除完畢嗎? MOV A , 80H ; 指向第一位數(shù)碼管 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 ; 無鍵按下轉(zhuǎn) LOOP2:MOV DPTR ,#7000H MOVX A , DPTR; 有鍵按下將鍵值送累加器A 鍵值,由8279的行掃描信號(SL0-SL3)與列信號(RL0-RL4)組成,不同組合的矩陣將得到不同鍵,但 在同一矩陣中不會有相同的鍵值,這對初學(xué)者編制鍵顯示程序大為方便.下表是通用鍵盤板鍵值: 名稱 0 1 2 3 4 5 6 7 8 9 鍵值 C1 C8 C9 D0 D8 E0 C2 CA D1 D9 名稱 狀態(tài)切換 清除 鍵值 DA C3 4.3.2.1判定有無閉合鍵的子程序: 判定有無閉合鍵的子程序為KSI,供在鍵盤掃描程序中調(diào) 用。程序如下: KSI:MOVDPTR,#0FDF9H;A口地址MOVA, #00HMOVXDPTR,A;A口送00HINCDPTRINCDPTR;C口地址MOVXA,DPTR;讀C口CPLA ANLA,#0FH;屏蔽高四位RET4.3.2.2鍵盤掃描程序 如前所述,在單片機應(yīng)用系統(tǒng)中常常是鍵盤和顯示器同時存在,因此可以把鍵盤掃描程序和顯示程序配合起來使用,即:把顯示程序作為鍵掃描程序的延時子程序。這樣做既省去了一個專門的延時子程序,又能保證顯示器常亮的可觀效果。 假定本系統(tǒng)中顯示程序為DIR,執(zhí)行時間約為6ms。鍵盤掃描程序如下: KEY1:ACALL KSI;檢查是否有鍵閉合JNZ LK1;A非“0”則轉(zhuǎn)移ACALL DIR;顯示一次(“延時6s)AJMP KEY1LK1: ACALL DIR; 有鍵閉合二次延時ACALL DIR; 共12ms去抖動ACALL KSI; 再檢查是否有鍵閉合JNZ LK2; 有鍵閉合轉(zhuǎn)移到LK2ACALL DIRAJMP KEY; 無鍵閉合,延時6ms后轉(zhuǎn)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行無鍵閉合,轉(zhuǎn)LONEMOV A,#00H; 裝第0行值A(chǔ)JMP LKPLONE: JB ACC.1 LTWO;ACC.1=1,第1行無鍵閉合,轉(zhuǎn)LTWOMOV A,#08H; 裝第1行值A(chǔ)JM PLKPLTWO: JB ACC.2,LTHR;ACC.2=1,第2行無鍵閉合,轉(zhuǎn)LTHRMOV A#10HAJMP LKPLTHR: JB ACC.3,NEXT;ACC.3=1,第3行無鍵閉合,轉(zhuǎn)NEXT MOV A,#18H; 裝第3行值LKP: ADD A,R; 計算鍵碼PUSH ACC; 保護鍵碼LK3: ACALL DIR; 延時6msACALL KSI; 檢查是否繼續(xù)閉合,若閉合再延時JNZ LK3POP ACC; 若鍵起,則鍵碼送ARETNEXT: INC R; 掃描列號加1MOV A,RJNB ACC.7,KND;若第7位=0,已掃完最高列則轉(zhuǎn)KNDRL AMOV R,AAJMP LK4; 進行下一行掃描KND: AJMP KEY1; 掃描完畢,開始新一輪4.3.3 A/D轉(zhuǎn)換程序(1)A/D轉(zhuǎn)換子程序。 PUSH A SETB EA; 開中斷SETB IT1; 外中斷1定義為跳變觸發(fā)MOV DPTR,#0BFFFH; 送ADC0809口地址MOV A,#00H; 選通IN0通道MOVX DPTR,A; 啟動A/D轉(zhuǎn)換NOPNOPNOPNOPNOPSETB EX1; 開外中斷1POP ARET(2)A/D轉(zhuǎn)換結(jié)束中斷程序。ADINT1: PUSH PSW ; 保護現(xiàn)場PUSHAPUSH DPH PUSHDPL MOVDPTR,#0BFFFH MOVX A,DPTR; 讀A/D轉(zhuǎn)換結(jié)果MOV 60H,A; 送入內(nèi)部RAM60H中 MOV A,#00H; 再次啟動IN0通道 MOVX DPTR,A POP DPL; 恢復(fù)現(xiàn)場 POPA POPPSW RET14.3.4溫度檢測子程序A/D轉(zhuǎn)換采用查詢方式。為提高數(shù)據(jù)采樣的可靠性,對采樣溫度進行數(shù)字濾波。數(shù)字濾波的算法很多,這里采用4次采樣取平均值的方法。如前所述,本系統(tǒng)A/D轉(zhuǎn)換結(jié)果乘2正好是溫度值,因此,4次采樣的數(shù)字量之和除以2就是檢測的當前溫度。檢測結(jié)果高位存入50H,低位存入51H。溫度檢測子程序流程圖如圖1所示。 圖1:溫度檢測子程序流程圖溫度檢測子程序TIN:TIN: MOV TEMP1,#00H; 清檢測溫度緩沖區(qū) MOV TEMP0,#00H MOV R2,#04H; 取樣次數(shù)送R2 MOV DPTR,#7FF8H; 指向A/D轉(zhuǎn)換器0通道 LTIN1:MOVX DPTR,A; 啟動轉(zhuǎn)換HERE:JNB IE1,HERE; 等待轉(zhuǎn)換結(jié)束 MOVX A,DPTR; 讀轉(zhuǎn)換結(jié)果ADDA,TEMP0; 累加(雙字節(jié)加法)MOVTEMP0,AMOVA,#00HADDCA,TEMP1MOVTEMP1,ADJNZR2,LTIN1; 4次采樣完否,未完繼續(xù)CLR C; 累加結(jié)果除2(雙字節(jié)除法)MOVA,TEMP1 RRCAMOV TEMP1,AMOV A,TEMP0 RRC AMOV TEMP0,ARET4.3.5 溫度控制子程序?qū)斍皽囟扰c預(yù)置溫度比較,當前溫度小于預(yù)置溫度時,繼電器閉合,接通電阻絲加熱;當前溫度大于預(yù)置溫度時,繼電器斷開,停止加熱;當二者相等時電爐保持原來狀態(tài);當前溫度降低到比預(yù)置溫度低5時,再重新啟動加熱;當前溫度超出報警上下限時將啟動報警,并停止加熱。由于電爐開始加熱時,當前溫度可能低于報警下限,為了防止誤報,在未達到預(yù)置溫度時,不允許報警,為此設(shè)置了報警允許標志F0。模塊流程見圖2。 溫度控制流程圖溫度控制子程序CONT: CONT:MOV A,TEMP0; 當前溫度-預(yù)置溫度(雙字節(jié)減) CLR C SUBB A,ST0 MOV B,A; 低8位相減的差值暫存B MOV A,TEMP1 SUBB A,ST1JNC LOFF; 無借位,表示當前溫度預(yù)置溫度,轉(zhuǎn)LOFF JNB F0,LON;當前溫度預(yù)置溫度,判是否達到過預(yù)置溫度 MOVA,B ; 若達到過預(yù)置溫度,判二者差值是否大于2 CLRC SUBBA,#02H JNC ACC.7,LOFF;差值不大于2,轉(zhuǎn)LOFFLON:CLR P2.1; 開電爐 SJMP EXIT; 返回LOFF: SETBF0; 設(shè)置允許報警標志 SETB P2.1; 關(guān)電爐EXIT:RET4.3.6 看門狗電路子程序: ORG0000HLJMPSTARTORG000BH LJMPINTT0ORG0030HSTART:MOVSP,#30H MAIN:NOPNOPSETBP1.0NOPNOPSETBEANOPSETBET0 LJMPMAININTT0:NOPNOPCLRP1.7NOPNOPRETI這樣,在整個用戶程序中只唯一的一對指令(SETBP1.7及CLR P1.7)能使“看門狗”定時器復(fù)位。也就是說不會有任何“非法”的指令能使“看門狗”定時器誤復(fù)位,致使系統(tǒng)已經(jīng)“死機”而“看門狗”失效。當然,對對沒有中斷的用戶系統(tǒng),只需將清零指令(CLR P1.7)也插在主程序中就可以了;對于有多種中斷的用戶系統(tǒng),如果沒有中斷嵌套,則清零指令(CLR P1.7)可以插在任一個中斷子程序中,而在主程序中適當加入一些有關(guān)中斷的冗余指令(如SETB ET0等),以免因有關(guān)中斷的特殊功能寄存器數(shù)據(jù)受到干擾時導(dǎo)致中斷功能失效;對于有二級中斷嵌套的用戶系統(tǒng),清零指令(CLR P1.7)可以插在中斷種數(shù)比較多的那一級中的任一個中斷子程序中,插有“喂狗”指令的那一級中斷系統(tǒng)將會受到“看門狗”的保護,而另一級中斷系統(tǒng)如果失效,“看門狗”是“無動于衷”的,這時只能盡量減少這種中斷子程序的執(zhí)行時間以減少受到干擾的可能性。如果二級中斷嵌套系統(tǒng)者受到“看門狗”的保護,就必需設(shè)計一個非常復(fù)雜的“看門狗”電路,其“喂狗”指令要由三部分來保證各個部分都能正常工作,需要說明的是,如果主程序運行一次的時間(包括可能被中斷的時間)超過1.6秒,則要適當再插入一條SETB第五章 設(shè)計感想本文的溫度控制系統(tǒng),只是單片機廣泛應(yīng)用于各行各業(yè)中的一例,通過本次設(shè)計,使我進一步熟悉了一個系統(tǒng)的設(shè)計過程,為畢業(yè)設(shè)計打下了堅實的基礎(chǔ),這次設(shè)計屬于理論設(shè)計,沒有得到實踐的檢驗,只有在邏輯上完成了這次設(shè)計。MCS-51單片機,體積小,重量輕,抗干擾能力強,對環(huán)境要求不高,價格低廉,可靠性高,靈活性好,即使是非電子計算機專業(yè)人員,通過學(xué)習一些專業(yè)基礎(chǔ)知識以后也能依靠自己的技術(shù)力量,來開發(fā)所希望的單片機應(yīng)用系統(tǒng)。在抗干擾技術(shù)中,為了提高抗干擾技術(shù)中我們應(yīng)盡量做到以下幾點:1. 切斷干擾傳播路徑的常用措施如下:充分考慮電源對單片機的影響,如果單片機的I/O口用來控制電機等噪聲器件,在I/O口與噪聲源之間應(yīng)加隔離(增加形濾波電路)。 控制電機等噪聲器件,在I/O口與噪聲源之間應(yīng)加隔離(增加形濾波 電路),電路板合理分區(qū),如強、弱信號,數(shù)字、模擬信號等。2.抑制干擾源:抑制干擾源就是盡可能的減小干擾源的du/dt,di/dt。這是抗干擾設(shè)計中最優(yōu)先考慮和最重要的原則,常常會起到事半功倍的效果。 減小干擾源的du/dt主要是通過在干擾源兩端并聯(lián)電容來實現(xiàn)。減小干擾源的 di/dt則是在干擾源回路串聯(lián)電感或電阻以及增加續(xù)流二極管來實現(xiàn)3. 提高敏感器件的抗干擾性能:提高敏感器件的抗干擾性能是指從敏感器件這邊考慮盡量減少對干擾噪聲 的拾取,以及從不正常狀態(tài)盡快恢復(fù)的方法,例如:布線時盡量減少回路環(huán)的面積,以降低感應(yīng)噪聲?;虿季€時,電源線和地線要盡量粗。除減小壓降外,更重要的是降低耦合噪聲等。由于時間緊迫,我們對針對每個細節(jié)的考慮不是太周到,但我們基本上是實現(xiàn)的溫度控制系統(tǒng)的智能化管理,對我們以后到企業(yè)提供了一定的基礎(chǔ),通過這次單片機課程設(shè)計,我不僅加深了對單片機理論的理解,將理論很好地應(yīng)用到實際當中去,而且我還學(xué)會了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新可以是在原有的基礎(chǔ)上進行改進,使之功能不斷完善,成為真己的東西。設(shè)計結(jié)果能夠符合題意,成功完成了此次實習要求,我們不只在乎這一結(jié)果,更加在乎的是這個過程。這個過程中,我們花費了大量的時間和精力,更重要的是,我們在學(xué)會創(chuàng)新的基礎(chǔ)上,同時還懂得合作精神的重要性,學(xué)會了與他人合作。第六章 參考文獻1 陳明熒,8051單片機課程設(shè)計實訓(xùn)教材 北京:清華大學(xué)出版社,20042 胡漢才,單片機原理及其接口技術(shù) 北京:清華大學(xué)出版社,19953 徐淑華,單片機微型機原理及應(yīng)用 哈爾濱工業(yè)大學(xué)出版社,19944 劉復(fù)華,8098單片機及其應(yīng)用系統(tǒng)設(shè)計 清華大學(xué)出版社,19915 趙文忠、程啟明,微機控制技術(shù) 北京:機械工業(yè)出版社,19936 張友德等,單片微型機原理、應(yīng)用與實踐.上海:復(fù)旦大學(xué)出版社,19927 李華,MCS-51系列單片機實用接口技術(shù).北京航空航天大學(xué)出版社,19938 李秉操等,單片機接口技術(shù)及其在工業(yè)控制中的應(yīng)用 陜西電子編輯部,19919 陳鍵鐸,8098單片機原理及應(yīng)用技術(shù).北京:電子工業(yè)出版社,199510 孫和平等,單片微機原理及接口技術(shù),冶金工業(yè)出版社, 2003第七章 附錄7.1 器件清單IC1 8051 5V 40引腳 微控制器CPU、RAM、ROMIC2 0809 5V、5V基準 28引腳 8路8位A/D轉(zhuǎn)換IC3 74LS373 5V 20引腳 8路鎖存器IC4 LM386 318V 8引腳 功放芯片IC5 MC14495 5V 接顯示器門電路芯片 LED數(shù)碼管鎳鉻/鎳鋁熱電偶 溫度測量范圍:010007.2 總控制電路圖31
收藏