溫度控制系統(tǒng)設(shè)計畢業(yè)設(shè)計論文_第1頁
溫度控制系統(tǒng)設(shè)計畢業(yè)設(shè)計論文_第2頁
溫度控制系統(tǒng)設(shè)計畢業(yè)設(shè)計論文_第3頁
溫度控制系統(tǒng)設(shè)計畢業(yè)設(shè)計論文_第4頁
溫度控制系統(tǒng)設(shè)計畢業(yè)設(shè)計論文_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

.z.目錄設(shè)計背景及設(shè)計意義………2系統(tǒng)方案設(shè)計…………………3硬件……………….53.1溫度檢測和變送器……………………53.2溫度控制電路…………63.3A/D轉(zhuǎn)換電路…………73.4報警電路…………83.5看門狗電路……………83.6顯示電路……………103.7電源電路………………12第四章軟件設(shè)計………14軟件實現(xiàn)方法………14總體程序流程圖……………………15程序清單……………19第五章設(shè)計感想…………29第六章參考文獻……………30第七章附錄…………………31硬件清單……………31硬件布線圖…………31第一章設(shè)計背景及研究意義機械制造行業(yè)中,用于金屬熱處理的加熱爐,需要消耗大量的電能,而且溫度控制是純滯后的一階慣性環(huán)節(jié)?,F(xiàn)有企業(yè)多采用常規(guī)儀表加接觸器的斷續(xù)控制,隨著科技進步和生產(chǎn)的開展,這類設(shè)備對溫度的控制要求越來越高,除控溫精度外,對溫度上升速度及下降速度也提出了可控要求,顯而易見常規(guī)控制難于滿足這些工藝要求。隨著微電子技術(shù)及電力電子技術(shù)的開展,采用功能強、體積小、價格低的智能化溫度控制裝置控制加熱爐已成為現(xiàn)實。自動控制系統(tǒng)在各個領(lǐng)域尤其是工業(yè)領(lǐng)域中有著及其廣泛的應(yīng)用,溫度控制是控制系統(tǒng)中最為常見的控制類型之一。隨著單片機技術(shù)的飛速開展,通過單片機對被控對象進展控制日益成為今后自動控制領(lǐng)域的一個重要開展方向。在現(xiàn)代化的工業(yè)生產(chǎn)中,電流、電壓、溫度、壓力、流量、流速和開關(guān)量都是常用的主要被控參數(shù)。例如:在冶金工業(yè)、化工生產(chǎn)、電力工程、造紙行業(yè)、機械制造和食品加工等諸多領(lǐng)域中,人們都需要對各類加熱爐、熱處理爐、反響爐和鍋爐中的溫度進展檢測和控制。對工件的處理溫度要求嚴(yán)格控制,計算機溫度控制系統(tǒng)使溫度控制指標(biāo)得到了大幅度提高。采用MCS-51單片機來對溫度進展控制,不僅具有控制方便、組態(tài)簡單和靈活性大等優(yōu)點,而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。因此,單片機對溫度的控制問題是一個工業(yè)生產(chǎn)中經(jīng)常會遇到的問題。,第二章系統(tǒng)方案的設(shè)計這次課程設(shè)計題目為熱電偶構(gòu)成的熱處理爐的溫度控制系統(tǒng),技術(shù)要求:1.設(shè)定溫度范圍為0~999°2.溫度顯示為0~999°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.溫度控制范圍:如0~1000℃,這就涉及到測溫元件、電爐功率的選擇等3.控制精度、超調(diào)量等指標(biāo),這涉及到A/D轉(zhuǎn)換精度、控制規(guī)律選擇等。溫控系統(tǒng)主要由溫度傳感器、溫度調(diào)節(jié)儀、執(zhí)行裝置、被控對象四個局部組成,其系統(tǒng)構(gòu)造圖如圖1所示。被控制對象是大容量、大慣性的電熱爐溫度對象,是典型的多階容積遲后特性,在工程上往往近似為包含有純滯后的二階容積遲后;由于被控對象電容量大,通常采用可控硅作調(diào)節(jié)器的執(zhí)行器,其具體的電路圖如圖2所示。調(diào)節(jié)加熱爐的溫度,在工業(yè)上是通過在設(shè)定周期范圍內(nèi),將電路接通幾個周波,然后斷開幾個周波,改變晶閘管在設(shè)定周期內(nèi)通斷時間的比例,來調(diào)節(jié)負(fù)載兩端交流平均電壓即負(fù)載功率,這就是通常所說的調(diào)功器或周波控制器;調(diào)功器是在電源電壓過零時觸發(fā)晶閘管導(dǎo)通的,所以負(fù)載上得到的是完整的正弦波,調(diào)節(jié)的只是設(shè)定周期Tc內(nèi)導(dǎo)通的電壓周波。如圖3所示,設(shè)周期Tc內(nèi)導(dǎo)通的周期的波數(shù)為n,每個周波的周期為T,則調(diào)功器的輸出功率為P=n×T×Pn/Tc,Pn為設(shè)定周期Tc內(nèi)電壓全通過時裝置的輸出功率。硬件的設(shè)計溫度檢測和變送器溫度檢測元件和變送器的類型選擇與被控溫度的范圍和精度等級有關(guān)。鎳鉻/鎳鋁熱電偶適用于0℃-1000℃的溫度檢測范圍,相應(yīng)輸出電壓為0mV-41.32mV。

變送器由毫伏變送器和電流/電壓變送器組成:毫伏變送器用于把熱電偶輸出的0mV-41.32mV變換成4mA-20mA的電流;電流/電壓變送器用于把毫伏變送器輸出的4mA-20mA電流變換成0-5V的電壓。

為了提高測量精度,變送器可以進展零點遷移。例如:假設(shè)溫度測量范圍為500℃熱處理爐圖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.3A/D轉(zhuǎn)換電路ADC0809是一種比擬典型的8位8通道逐次逼近式A/D轉(zhuǎn)換器,CMOS工藝,可實現(xiàn)8路模擬信號的分時采集,片內(nèi)有8路模擬選通開關(guān),以及相應(yīng)的通道地址鎖存用譯碼電路,其轉(zhuǎn)換時間為100μs左右,采用雙排28引腳封裝,其主要性能指標(biāo)如下:1、分辨率為8位二進制數(shù);2、電壓范圍在0~+5V,對應(yīng)A/D值00H~FFH;3、每路A/D轉(zhuǎn)換完成時間100ms;4、可分時進展8路A/D轉(zhuǎn)換;5、工作頻率500KHz〔本電路由8051ALE端輸出經(jīng)4分頻后得到〕。引腳功能如下:IN0~IN7:8路0~+5V模擬電壓輸入〔用IN0端〕;DB7~DB0:8位數(shù)字輸出線,輸出8位A/D轉(zhuǎn)換值;STAST:啟動A/D轉(zhuǎn)換端;EOC:A/D轉(zhuǎn)換完成端;OE:允許數(shù)字量輸出信號;CLOCK:時鐘500KHz;ADDA、B、C:IN0~IN7地址選擇線;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小時不連續(xù)正常工作。該控制卡可運用于無人職守的場所。像采用計算機作為存儲設(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)以MA*706監(jiān)控電路為例〔見圖1〕來說明"看門狗〞硬件電路的工作過程,我們知道,MA*706是一種性能優(yōu)良的低功耗CMOS監(jiān)控電路芯片,其內(nèi)部電路由上電復(fù)位、可重觸發(fā)"看門狗〞定時器及電壓比擬器等組成[2]。MA*706只要在1.6秒時間內(nèi)檢測到WCI引腳有上下電平跳變信號,則"看門狗〞定時器清零并重新開場計時;假設(shè)超出1.6秒后,WCI引腳仍無上下電平跳變信號,則"看門狗〞定時器溢出,WDO引腳輸出低電平,進而觸發(fā)MR手動復(fù)位引腳,使MAC706復(fù)位,從而使"看門狗〞定時器清零并重新開場計時,WDO引腳輸出高電平,MA*706的RST復(fù)位輸出引腳輸出大約200毫秒寬度的低電平脈沖,使單片機控制系統(tǒng)可靠復(fù)位,重新投入正常運行。圖1:看門狗電路3.6顯示電路單片機與顯示器的接口電路圖圖MC14495內(nèi)部邏輯構(gòu)造及引腳圖用MC14495組成多位LED靜態(tài)顯示器接口程序:DIR:SETBRS0;保護第0組工作存放器PUSHA;保護現(xiàn)場MOVR2,#03H;顯示位數(shù)計數(shù)MOVR1,#00H;設(shè)位碼初值,初態(tài)從LED7開場MOVR0,#DIS7;顯示緩沖區(qū)末地址送R0DIR0:MOVA,RO;取待顯示的數(shù)據(jù)ANDA,#07H;屏蔽高3位,保存低4位BCD碼MOVR3,A;暫存R3中MOVA,R1;位選碼值送ASWAPA;位碼交換到高4位ADDA,R3;合并形成輸出的BCD碼和位選碼MOVP1,A;輸出到P1口INCR1;位碼加1指向下一位DJNZR2,DIR0;8個位未顯示完重復(fù)CLRRS0;顯示完恢復(fù)第0組工作存放器POPARET;返回主程序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)不斷定時檢測當(dāng)前溫度,并送往顯示器顯示,到達預(yù)定值后停頓加熱并顯示當(dāng)前溫度;當(dāng)溫度下降到下限〔比預(yù)定值低3℃〕時再啟動加熱。這樣不斷重復(fù)上述過程,使溫度保持在預(yù)定溫度范圍之內(nèi)。啟動后不能再修改預(yù)置溫度,必須按復(fù)位/爐溫控制是這樣一個反響調(diào)節(jié)過程,比擬實際爐溫和需要爐溫得到偏差,通過對偏差的處理獲得控制信號,去調(diào)節(jié)電阻爐的熱功率,從而實現(xiàn)對爐溫的控制。按照偏差的比例、積分和微分產(chǎn)生控制作用〔PID控制〕,是過程控制中應(yīng)用最廣泛的一種控制形式。系統(tǒng)控制程序采用兩重中斷嵌套方式設(shè)計。首先使T0計數(shù)器產(chǎn)生定時中斷,作為本系統(tǒng)的采樣周期。在中斷效勞程序中啟動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),當(dāng)爐溫低于限給定值時執(zhí)行器全開;當(dāng)爐溫高于給定值時執(zhí)行器全閉?!矆?zhí)行器一般選用接觸器〕2〕三位式調(diào)節(jié)--它有上下限兩個給定值,當(dāng)爐溫低于下限給定值時招待器全開;當(dāng)爐溫在上、下限給定值之間時執(zhí)行器局部開啟;當(dāng)爐溫超過上限給定值時執(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計算、溫度標(biāo)度轉(zhuǎn)換主程序框圖主程序包括8051本身的初始化等等。大體說來,本程序包括設(shè)置有關(guān)標(biāo)志、暫存單元和顯示緩沖區(qū)清零、T0初始化、CPU開中斷、溫度顯示和鍵盤掃描程序主程序在主程序中首先給定PID算法的參數(shù)值,然后通過循環(huán)顯示當(dāng)前溫度,并且設(shè)定鍵盤外部中斷為最高優(yōu)先級,以便能實時響應(yīng)鍵盤處理;軟件設(shè)定定時器T0為5秒定時,在無鍵盤響應(yīng)時每隔5秒響應(yīng)一次,以用來采集經(jīng)過A/D轉(zhuǎn)換的溫度信號;設(shè)定定時器T1為嵌套在T0之中的定時中斷,初值由PID算法子程序提供。在主程序中必須分配好每一局部子程序的起始地址,形式如下:ORG0000HAJMPMAINORG0003HAJMPINTOORG000BHAJMPTT0ORG001BHAJMPTT1中斷效勞程序框圖T0中斷效勞程序是溫度控制系統(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中斷效勞程序返回后即可恢復(fù)現(xiàn)場和返回主程序。系統(tǒng)軟件采用中斷方式編程,主要局部是時鐘中斷程序,主要由輸入處理程序、控制算法程序、顯示處理、輸出處理和自診斷程序等組成,其流程圖如圖2所示。儀表通電啟動后,初始化程序進展時間給定,每隔500ms時鐘中斷一次,中斷后進入時鐘中斷處理。對于純滯后,大慣性環(huán)節(jié)控制對象,一般采用積分別離PID控制算法。在一般的PID控制中,當(dāng)系統(tǒng)有較大的擾動或設(shè)定值較大幅度提降時,由于偏差較大及系統(tǒng)存在慣性和滯后,在積分項的作用下,會產(chǎn)生較大的超調(diào)和長時間波動,在溫度緩慢變化過程中這一現(xiàn)象尤為嚴(yán)重,為此采用積分別離措施,即在偏差較大時,取消積分作用,偏差較小時,才將積分作用投入。中斷效勞程序框圖4.3程序清單報警電路子程序1.子程序框圖2.報警子程序:FLAG BIT00H ORG00HSTART: P1.7,START JNBFLAG,NE*T MOVR2,#200DV: CPLP2.2 LCALLDELY500 LCALLDELY500 DJNZR2,DV CPLFLAGNE*T: MOVR2,#200DV1: CPLP1.0 LCALLDELY500 DJNZR2,DV1 CPLFLAG SJMPSTARTDELY500:MOVR7,#250LOOP: NOPDJNZR7,LOOP RET END鍵盤顯示管理程序。

為了使8279具有適宜的鍵盤、顯示功能,首先要對芯片初始化??蛇m當(dāng)?shù)靥暨x8279的控制字,例如:使8279具有8位顯示、右端輸入、編碼鍵盤、雙鍵鎖定時可選控制字10H.這時每次按鍵都將產(chǎn)生鍵特征碼,并且存放在FIFOROM中,同時使8279的IRQ引腳變?yōu)楦唠娖?,可作為向CPU申請中斷信號,如果CPU是中斷開放的,則轉(zhuǎn)向中斷效勞程序,可在中斷效勞程序中讀取特征碼。每當(dāng)CPU讀取FIFOROM中的數(shù)據(jù)后,8279自動撤消IRQ信號,IRQ引腳變?yōu)榈碗娖?。CPU返回主程序后,可由鍵特征碼來決定程序的流向。問題是,當(dāng)CPU從8279的FIFOROM中讀取鍵特征碼后,IRQ雖然恢復(fù)底電平,但FIFOROM中的數(shù)據(jù)并沒有消失,仍保存在里面,這時即使使用對改8279去除的指令D3H,也不能將FIFOROM中的數(shù)改變,只有按其它鍵才能改變FIFOROM中的數(shù)據(jù),因這樣是無法實現(xiàn)按鈕功能的。為了使鍵盤具有按鈕功能,應(yīng)該利用8279的傳感方式功能,在傳感器方式中,8279每當(dāng)檢測到傳感狀態(tài)變化時,IRQ就變?yōu)楦唠娖?,圖1是以8051CPU構(gòu)成的系統(tǒng)為例,說明IRQ引腳電平的翻新過程。

8279的IRQ端經(jīng)反相器接到8051的INT1端(即P3.3引腳)。先將8279設(shè)置成編碼鍵盤,允許INT1中斷,當(dāng)鍵按下時,反相器輸出低電平,CPU進入中斷效勞程序,讀取鍵特征碼后,又為高電平。返回主程序后,轉(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中斷開放,以便使鍵盤脫離按鈕功能。程序清單如下:ORG0000H

MOVDPTR,#7000H;指向8279數(shù)據(jù)口

INCDPTR;指向8279控制口

MOVA,#00H;設(shè)定8279工作方式

M0V*DPTR,A

MOVA,#0GFH;去除8279內(nèi)部顯示RAM狀態(tài)

MOV*DPTR,A

MOVA,#22H

MOV*DPTR,A;設(shè)定8279分頻系數(shù)

LOOP:MOV*A,DPTR

ACC.7,LOOP;顯示RAM去除完畢嗎"

MOVA,80H;指向第一位數(shù)碼管

MOV*DPTR,A

MOVA,9FH;輸出"1"一個字形

MOVDPTR,#7000H

MOV*DPTR,A

INCDPTR

LOOP1:M0V*A,DPTR

ANDA,#07H

CJNEA,#00H,L00P2

AJMPLOOP1;無鍵按下轉(zhuǎn)

LOOP2:MOVDPTR,#7000HMOV*A,DPTR;有鍵按下將鍵值送累加器A

鍵值,由8279的行掃描信號(SL0-SL3)與列信號(RL0-RL4)組成,不同組合的矩陣將得到不同鍵,但

在同一矩陣中不會有一樣的鍵值,這對初學(xué)者編制鍵顯示程序大為方便.下表是通用鍵盤板鍵值:

名稱0123456789

鍵值C1C8C9D0D8E0C2CAD1D9

名稱狀態(tài)切換去除.1判定有無閉合鍵的子程序:判定有無閉合鍵的子程序為KSI,供在鍵盤掃描程序中調(diào)用。程序如下:KSIKSI:MOVDPTR,#0FDF9H;A口地址

MOVA,#00H

MOV*DPTR,A;A口送00H

INCDPTR

INCDPTR;C口地址

MOV*A,DPTR;讀C口

CPLA

ANLA,#0FH;屏蔽高四位

RET

.2鍵盤掃描程序如前所述,在單片機應(yīng)用系統(tǒng)中常常是鍵盤和顯示器同時存在,因此可以把鍵盤掃描程序和顯示程序配合起來使用,即:把顯示程序作為鍵掃描程序的延時子程序。這樣做既省去了一個專門的延時子程序,又能保證顯示器常亮的可觀效果。假定本系統(tǒng)中顯示程序為DIR,執(zhí)行時間約為6ms。鍵盤掃描程序如下:KEY1:ACALLKSI;檢查是否有鍵閉合JNZLK1;A非"0”則轉(zhuǎn)移ACALLDIR;顯示一次〔"延時6s〕AJMPKEY1LK1:ACALLDIR;有鍵閉合二次延時ACALLDIR;共12ms去抖動ACALLKSI;再檢查是否有鍵閉合JNZLK2;有鍵閉合轉(zhuǎn)移到LK2ACALLDIRAJMPKEY;無鍵閉合,延時6ms后轉(zhuǎn)KEY1LK2:MOVR,#0FEH;掃描初值送R2MOVR,#00H;掃描列號送R4LK4:MOVDPTR,#0101H;A口地址MOVA,RMOV*DPTR,A;掃描初值送A口INCDPTRINCDPTR;C口地址MOV*A,DPTR;讀C口ACC.0,LONE;ACC.0=1,第0行無鍵閉合,轉(zhuǎn)LONEMOVA,#00H;裝第0行值A(chǔ)JMPLKPLONE:ACC.1LTWO;ACC.1=1,第1行無鍵閉合,轉(zhuǎn)LTWOMOVA,#08H;裝第1行值A(chǔ)JMPLKPLTWO:ACC.2,LTHR;ACC.2=1,第2行無鍵閉合,轉(zhuǎn)LTHRMOVA#10HAJMPLKPLTHR:ACC.3,NE*T;ACC.3=1,第3行無鍵閉合,轉(zhuǎn)NE*TMOVA,#18H;裝第3行值LKP:ADDA,R;計算鍵碼PUSHACC;保護鍵碼LK3:ACALLDIR;延時6msACALLKSI;檢查是否繼續(xù)閉合,假設(shè)閉合再延時JNZLK3POPACC;假設(shè)鍵起,則鍵碼送ARETNE*T:INCR;掃描列號加1MOVA,RJNBACC.7,KND;假設(shè)第7位=0,已掃完最高列則轉(zhuǎn)KNDRLAMOVR,AAJMPLK4;進展下一行掃描KND:AJMPKEY1;掃描完畢,開場新一輪4.3.3A(1)A/D轉(zhuǎn)換子程序。

PUSH

A

SETB

EA

;開中斷

SETB

IT1;外中斷1定義為跳變觸發(fā)

MOV

DPTR,#0BFFFH;送ADC0809口地址

MOV

A,#00H;選通IN0通道

MOV*

DPTR,A

;啟動A/D轉(zhuǎn)換

NOP

NOP

NOP

NOP

NOP

SETB

E*1;開外中斷1

POP

A

RET〔2〕A/D轉(zhuǎn)換完畢中斷程序。ADINT1:

PUSH

PSW

;保護現(xiàn)場

PUSH

A

PUSH

DPH

PUSH

DPL

MOV

DPTR,#0BFFFH

MOV*

A,DPTR

;讀A/D轉(zhuǎn)換結(jié)果

MOV

60H,A

;送入內(nèi)部RAM60H中

MOV

A,#00H;再次啟動IN0通道

MOV*

DPTR,A

POP

DPL

;恢復(fù)現(xiàn)場

POP

A

POP

PSW

RET1溫度檢測子程序A/D轉(zhuǎn)換采用查詢方式。為提高數(shù)據(jù)采樣的可靠性,對采樣溫度進展數(shù)字濾波。數(shù)字濾波的算法很多,這里采用4次采樣取平均值的方法。如前所述,本系統(tǒng)A/D轉(zhuǎn)換結(jié)果乘2正好是溫度值,因此,4次采樣的數(shù)字量之和除以2就是檢測的當(dāng)前溫度。檢測結(jié)果高位存入50H,低位存入51H。溫度檢測子程序流程圖如圖1所示。圖1:溫度檢測子程序流程圖溫度檢測子程序TIN:TIN:MOVTEMP1,#00H ;清檢測溫度緩沖區(qū) MOVTEMP0,#00H MOVR2,#04H;取樣次數(shù)送R2 MOVDPTR,#7FF8H;指向A/D轉(zhuǎn)換器0通道LTIN1:MOV*DPTR,A;啟動轉(zhuǎn)換HERE:JNBIE1,HERE;等待轉(zhuǎn)換完畢 MOV*A,DPTR ;讀轉(zhuǎn)換結(jié)果ADD A,TEMP0;累加〔雙字節(jié)加法〕 MOV TEMP0,A MOV A,#00H ADDC A,TEMP1 MOV TEMP1,A DJNZ R2,LTIN1 ;4次采樣完否,未完繼續(xù) CLR C;累加結(jié)果除2(雙字節(jié)除法) MOV A,TEMP1 RRC A MOV TEMP1,A MOV A,TEMP0RRC A MOV TEMP0,A RET溫度控制子程序?qū)?dāng)前溫度與預(yù)置溫度比擬,當(dāng)前溫度小于預(yù)置溫度時,繼電器閉合,接通電阻絲加熱;當(dāng)前溫度大于預(yù)置溫度時,繼電器斷開,停頓加熱;當(dāng)二者相等時電爐保持原來狀態(tài);當(dāng)前溫度降低到比預(yù)置溫度低5℃時,再重新啟動加熱;當(dāng)前溫度超出報警上下限時將啟動報警,并停頓加熱。由于電爐開場加熱時,當(dāng)前溫度可能低于報警下限,為了防止誤報,在未到達預(yù)置溫度時,不允許報警,為此設(shè)置了報警允許標(biāo)志F0溫度控制流程圖溫度控制子程序CONT:CONT:MOV A,TEMP0;當(dāng)前溫度-預(yù)置溫度〔雙字節(jié)減〕CLRCSUBBA,ST0MOVB,A ;低8位相減的差值暫存BMOV A,TEMP1SUBBA,ST1JNCLOFF;無借位,表示當(dāng)前溫度≥預(yù)置溫度,轉(zhuǎn)LOFFJNBF0,LON ;當(dāng)前溫度<預(yù)置溫度,判是否到達過預(yù)置溫度MOV A,B;假設(shè)到達過預(yù)置溫度,判二者差值是否大于2CLR CSUBB A,#02HJNCACC.7,LOFF;差值不大于2,轉(zhuǎn)LOFFLON:CLRP2.1;開電爐SJMPE*IT;返回LOFF:SETB F0;設(shè)置允許報警標(biāo)志SETB P2.1;關(guān)電爐E*IT:RET看門狗電路子程序:ORG

0000H

LJMP

START

ORG

000BH

LJMP

INTT0

……

ORG

0030H

START:MOV

SP,#30H

……

MAIN:NOP

NOP

SETB

P1.0

NOP

NOP

SETB

EA

NOP

SETB

ET0

……

LJMP

MAIN

……

INTT0:NOP

NOP

CLR

P1.7NOP

NOP

……

RETI這樣,在整個用戶程序中只唯一的一對指令〔SETB

P1.7及CLR

P1.7〕能使"看門狗〞定時器復(fù)位。也就是說不會有任何"非法〞的指令能使"看門狗〞定時器誤復(fù)位,致使系統(tǒng)已經(jīng)"死機〞而"看門狗〞失效。當(dāng)然,對對沒有中斷的用戶系統(tǒng),只需將清零指令〔CLR

P1.7〕也插在主程序中就可以了;對于有多種中斷的用戶系統(tǒng),如果沒有中斷嵌套,則清零指令〔CLR

P1.7〕可以插在任一個中斷子程序中,而在主程序中適當(dāng)參加一些有關(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秒,則要適當(dāng)再插入一條SETB

第五章設(shè)計感想本文的溫度控制系統(tǒng),只是單片機廣泛應(yīng)用于各行各業(yè)中的一例,通過本次設(shè)計,使我進一步熟悉了一個系統(tǒng)的設(shè)計過程,為畢業(yè)設(shè)計打下了堅實的根底,這次設(shè)計屬于理論設(shè)計,沒有得到實踐的檢驗,只有在邏輯上完成了這次設(shè)計。MCS-51單片機,體積小,重量輕,抗干擾能力強,對環(huán)境要求不高,價格低廉

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論