烤箱溫度控制設計_第1頁
烤箱溫度控制設計_第2頁
烤箱溫度控制設計_第3頁
烤箱溫度控制設計_第4頁
烤箱溫度控制設計_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、烤箱溫度控制系統(tǒng)的設計(計算機控制技術基礎課程設計 專業(yè):自動化組員:吳傳林唐思黃定肖驍重慶大學自動化學院2013年9月吳傳林唐思肖驍黃定烤箱溫度控制系統(tǒng)的設計(采用PD-32E實驗裝置目錄摘要 (1序言 (11.設計內容 (21.1已知參數(shù)和設計要求 (21.2實現(xiàn)方法 (22.組員分工 (23. 硬件部分組成 (33.1硬件連接 (34.操作說明 (55.設計總體思路 (55.1設計步驟 (65.2原理分析 (76.實驗結果 (77.原程序清單 (88.設計感想 (88.1吳傳林感想 (88.2唐思感想 (98.3肖驍感想 (10附錄 (12系統(tǒng)框圖 (12程序代碼: (18摘要本文是對烤

2、箱溫度控制系統(tǒng)進行設計,在烤箱溫度控制系統(tǒng)中,利用計算機對烤箱的繼電器發(fā)出不同的信號,來控制繼電器的開斷,從而能夠實現(xiàn)控制烤箱加熱與否的控制。本系統(tǒng)采用了反饋控制,是經(jīng)典控制理論在實際中成功應用的典型實例。本次采用的信號輸出芯片是8255。而溫度采集則是用了PT100感溫電阻,將電信號送至A/D574中,利用A/D574的模數(shù)轉換功能,將采集的溫度模擬信號轉換成計算機可以識別的電信號,進而在計算機內對這些電信號進行處理,經(jīng)過反饋控制算法來輸出控制烤箱的電信號。關鍵詞:反饋控制算法,A/D574模數(shù)轉換,計算機控制序言溫度控制技術廣泛應用于社會生活的各個領域,如家電、汽車、材料、電力電子等,傳統(tǒng)

3、的溫度控制技術中最常見的是繼電器調溫,但由于繼電器動作頻繁,溫度控制范圍小,精度不高,可能會因觸點不良而影響正常工作。最近幾年快速發(fā)展的有PID 溫控、模糊控制、神經(jīng)網(wǎng)絡以及遺傳算法在溫度控制中的應用??鞠涫菬崽幚砩a(chǎn)中應用最廣的加熱設備,它電流通過電熱元件產(chǎn)生熱量,借助輻射和對流的傳遞方式,將熱量傳遞給所要加熱的物品,使其加熱到所要求的溫度。本文設計的烤箱溫度控制系統(tǒng),是利用計算機對其溫度進行控制,采用反饋控制算法,以實現(xiàn)對烤箱溫度控制,達到控制性能要求的指標。11.設計內容1.1已知參數(shù)和設計要求1.某烤箱的溫度控制要求為:控制烤箱溫度從室溫上升到目標溫度并一直保持在該目標溫度,要求控制的

4、精度達3%,調節(jié)時間20秒。2.目標溫度應可以通過鍵盤任意修改。3.完成溫度檢測、溫度變松,溫度顯示(LED和CRT曲線、溫度控制、通過鍵盤設定上、下限溫度報警值,溫度超限報警(聲、光等功能。1.2實現(xiàn)方法采用PD-32E實驗裝置實現(xiàn)(限5人選做2.組員分工姓名職務負責的部分吳傳林組長鍵盤掃描、判斷控制、顯示模塊程序編寫,程序的編譯和調試唐思組員AD574轉換,標度變換,控制算法,PWM波生成,程序的編譯和調試肖驍組員報警程序、讀入溫度值拆分、鍵盤輸入值合并,報告撰寫黃定組員3.硬件部分組成3.1硬件連接18255部分(第5片連線:8255(5的CS結CS2 300H,PA0PA3接鍵盤P0P

5、3,PB0PB3接鍵盤Q0Q3,PC0接烤箱的PWM控制信號接收端。2AD574連線:AD574的CS接地址輸入端CS7,AD574的12/8接VCC;AD574的A0接GND,AD574的10VIN 接其上方的5V,10VIN接PT100模塊的PT_OUT。3蜂鳴器接8255的PC1口。3.2硬件介紹 AD574A是單片高速12位逐次比較型A/D轉換器,內置雙極性電路構成的混合集成轉換芯片,具有外接元件少,功耗低,精度高等特點,并且具有自動校零和自動極性轉換功能,只需外接少量的阻容件即可構成一個完整的A/D轉換器,其主要功能特性如下:在CE=1、CS=0同時滿足時,AD574A才會正常工作,

6、在AD574處于工作狀態(tài)時,當R/C=0時A/D轉換,當R/C=1是進行數(shù)據(jù)讀出。和A0端用來控制啟動轉換的方式和數(shù)據(jù)輸出格式。A0=0時,啟動的是按完整12位數(shù)據(jù)方式進行的。當A0=1時,按8位A/D轉換方式進行。當R/C=1,也即當AD574A處于數(shù)據(jù)狀態(tài)時,A0和R/C控制數(shù)據(jù)輸出狀態(tài)的格式。當R/C=1時,數(shù)據(jù)以12位并行輸出,當R/C=0時,數(shù)據(jù)以8位分兩次輸出。而當A0=0時,輸出轉換數(shù)據(jù)的高8位,A0=1時輸出A/D轉換數(shù)據(jù)的低4位,這四位占一個字節(jié)的高半字節(jié),低半字節(jié)補零。如果需AD574A工作于單一模式,只需將CE、端接至+5V電源端,和A0接至0V,僅用端來控制A/D轉換的

7、啟動和數(shù)據(jù)輸出。當=0時,啟動A/D轉換器,經(jīng)25us后STS=1,表明A/D轉換結束,此時將置1,即可從數(shù)據(jù)端讀取數(shù)據(jù)。pt100是鉑熱電阻,它的阻值會隨著溫度的變化而改變。PT后的100即表示它在0時阻值為100歐姆,在100時它的阻值約為138.5歐姆。它的工作原理:當PT100在0攝氏度的時候他的阻值為100歐姆,它的阻值會隨著溫度上升而成近似勻速的增長。但他們之間的關系并不是簡單的正比的關系,而更應該趨近于一條拋物線。常見的pt100感溫元件有陶瓷元件,玻璃元件,云母元件,它們是由鉑絲分別繞在陶瓷骨架,玻璃骨架,云母骨架上再經(jīng)過復雜的工藝加工而成。PT100/PT1000鉑電阻RT曲

8、線圖表: 圖3.18255是Intel公司生產(chǎn)的可編程并行I/O接口芯片,有3個8位并行I/O口。具有3個通道3種工作方式的可編程并行接口芯片(40引腳。其各口功能可由軟件選擇,使用靈活,通用性強。8255可作為單片機與多種外設連接時的中間接口電路。8255作為主機與外設的連接芯片,必須提供與主機相連的3個總線接口,即數(shù)據(jù)線、地址線、控制線接口。同時必須具有與外設連接的接口A、B、C口。由于8255可編程,所以必須具有邏輯控制部分,因而8255內部結構分為3個部分:與CPU連接部分、與外設連接部分、控制部分。 圖3.24.操作說明鍵盤上的A鍵為啟動鍵,B鍵為復位鍵,D為設置溫度上限,E為設置溫

9、度下限,0-9數(shù)字鍵輸入溫度值。5.設計總體思路框圖如圖所示:控制器烤箱溫度采集我們采用的是傳統(tǒng)的反饋控制策略,其具體過程如下:一開始,給定一個輸入信號,即期望溫度,此時,控制程序還沒有起作用,此信號通過變送器送至繼電器,繼電器導通,使烤箱處于工作狀態(tài)。這時,溫度傳感器就把烤箱內的溫度轉變成電信號送至計算機中。計算機則將此電信號與輸入的期望溫度進行比較,通過控制器,根據(jù)不同的設定及差值,選擇不同的控制算法。由于計算機內的電信號都是脈沖信號,因此,可以調節(jié)脈沖信號的占空比來調節(jié)繼電器的斷開與導通的時間。期望值與測量值的差距大,就增大占空比,使一個周期內的加熱時間增長,反之,則減小占空比。采用上述

10、的控制策略,即可以實現(xiàn)溫度調節(jié),達到控制指標的要求。5.1設計步驟首先確定主程序所要實現(xiàn)的目標,即:預設顯示輸出,輸入溫度上限、溫度下限,輸入設定溫度值,顯示預設溫度,實時刷新當前溫度并顯示,比較實時溫度與設定溫度差值并進行反饋控制,控制溫度達到性能指標要求。然后,確定了主程序所要實現(xiàn)的功能以后,在相應的編寫各個子程序模塊。同時,要考慮在整個系統(tǒng)實現(xiàn)的過程中,所要運用到的芯片,好進行芯片的初始化。如8255,AD574等溫度設定子程序,即,從鍵盤上輸入3個數(shù)字,將其存放在指定的空間區(qū)域內。即AD574的使用過程。首先,先將AD574初始化,啟動轉換,轉換結果屏蔽高4位后,將所得到的結果存放在指

11、定單元中,為當前溫度。將前一步驟采集到的當前溫度進行標度變換,比較設定值的大小與當前溫度和設定值之差,然后做出相應的標記,然后根據(jù)不同的標記跳到相應的加熱子程序中。其基本原則就是:實際溫度和期望溫度差距越大,加熱子程序中,每個周期的高電平占空比就越大,若設定值比較大,則直接采用滿程輸出??鞠涔ぷ鲿r,當烤箱溫度超過設置溫度上限和低于溫度下限時,調用子程序,否則跳出子程序;其中接蜂鳴器的控制信號為第五片8255A的PC1口輸出信號,輸出0時,蜂鳴器發(fā)出警報,輸出為1時,聲音停止。5.2原理分析制烤箱溫度的系統(tǒng),我們采用反饋控制算法。利用計算機控制中的A/D轉換器,將采集到的模擬信號轉換成數(shù)字信號,

12、然后送入計算機進行處理。在計算機中,我們編寫了控制算法,將送入的電信號經(jīng)過該算法,輸出一個控制繼電器開關的脈沖信號,我們可以通過調節(jié)脈沖高電平的占空比,來控制一個信號周期內加熱時間的長短。從而實現(xiàn)控制。又由于這個占空比是實時變化的,所以,這是一個變比例系數(shù)的P控制器。利用這個控制器,我們可以使烤箱內的溫度保持在我們所設定的期望值。6.實驗結果實驗結果如下表所示:實驗次數(shù)初始溫度設定溫度調節(jié)時間超調量誤差1351004 1.3%2401402 1.2%3601602 1.5%45022012%本次設計總體上還是比較成功,基本上實現(xiàn)了任務要求。只有調節(jié)時間的,可能是冗長的程序,或者是電烤箱的功率問

13、題,又或者是自己反饋補償參數(shù)設計不夠完善,總之,不能達到要求的20秒以內,此為設計的瑕疵。7.原程序清單見附錄48.設計感想8.1吳傳林感想作為我們團隊的組長,需要確定合適的電路,對電路進行調試,將變送器調至最合適的范圍。同時還要確定與硬件相關的軟件主體思想。一個項目的成敗,與組長的整體協(xié)調能力關系很大。這次的時間比較緊張,而且之前沒怎么做過過程控制類的題目,所以可以說是時間短、任務重。熱敏電阻PT100之前接觸過,但是沒有和計算機連起來使用,也是一個新的挑戰(zhàn)。這次設計我吸取的上次計算機硬件課程設計的教訓,學會多利用子程序,而不是要把所有的問題都用一個主程序解決,卻很少使用子程序。這樣,不但別

14、人讀不懂自己的程序,就連自己有時候都讀不懂自己的程序。這次課程設計感覺比以前進步的一點就是程序的模塊化思想更加深刻。之前總也用程序段的方式插入的主程序中,而這次則是盡量減少主程序的內容,將所有的處理部分都寫成子程序,設計好入口參數(shù),就可以是整個程序思路清晰,一目了然。一個好的程序編寫者并不是會把所有的模塊都自己寫出來,而是可以將自己搜索到的各種模塊與自己的項目結合,設計好接口參數(shù),達到事半功倍的效果。這次的程序就用了之前做過的一些設計的模塊,如實時顯示刷新模塊,延時程序,報警子程序等。這些之前積累下來的寶貴資料大大加快了本次課程設計的速度。通過了這次課程設計,雖然很累,但過得很充實,收獲也很多

15、,我們將學到的知識又重新的復習了一遍,在原來的基礎上鞏固了對理論知識的理解并且提升了自己的實踐能力。對匯編語言的使用有了進一步的提高,對一個大系統(tǒng)進行模塊化分析是以前沒有嘗試過的,分工合作也讓我們學會團結互助,讓我們對團隊合作精神理解得更透徹,對于我們以后的學習或者工作中都有深遠的意義。8.2唐思感想這次的課程設計我們小組總算是順利地完成了。雖然只有短短一個星期,但讓我真正見識到了什么是團隊的力量。從接到此次課程設計任務開始,大家就分配好了各自的任務,并且經(jīng)常聚在一起各抒己見地討論各個方案的可行性,氣氛那是十分的熱烈。在我們小組中也許有的同學能力強些,有些同學能力沒那么強,分工時能力強的同學可

16、能任務就重些,但是大家都沒有任何的怨言,全力地專注于自己的那一部分任務,所以團結協(xié)作是我們小組能順利完成此次課程設計的一項非常重要的保證,而這次設計也正好鍛煉我們這一點,這也是非常寶貴的。我們這次是設計對烤箱溫度控制系統(tǒng),對于溫度的控制系統(tǒng),我們需要完成溫度的采集,溫度的控制,能通過鍵盤,顯示接口實現(xiàn)恒溫時間設置,系統(tǒng)初始參數(shù)設置,報警設置等功能。我們一起討論,一起研究,經(jīng)過幾番努力,初步編出的程序,問題很多,也總找不到原因,然后參考書上的例題程序,修改了很多,有些問題是子程序與主程序的連接沒弄好,還是很多問題,然后仔細復習書上所學過的知識,對我們的程序再次發(fā)現(xiàn)問題,修改問題,后來經(jīng)過多次的修

17、改最終完成了初步的可行性程序,也算一個進步。在調試過程中又遇到了烤箱失靈等各種客觀問題,但最終在同學的協(xié)作以及我們自身的努力下,都將這些困難一一克服并得到了比較理想的結果。在這次設計中,我主要負責的是烤箱控制算法及輸出部分,剛開始的時候還是出現(xiàn)很多問題,在同學的幫助以及參考其他組的一些程序后,初步完成了這段程序,然后經(jīng)過自己的多次修改,完成了這部分的編寫,設計了一個符合烤箱實際情況的合理算法。在溫度較還遠未達到設定值時,采用滿程的輸出,在接近時,采用PWM波,并且在設定值不同區(qū)間時采用不同脈寬的PWM波,當設定值過高時,采用滿程輸出。當實際溫度超過設定值,立即關機,待溫度降到設定值以下再次輸出

18、。經(jīng)過這個部分的編寫,讓自己明白了很多,課堂上學的東西遠遠不夠,還是需要自己課后的更多的付出和復習,才能讓自己所學的東西學以致用,才能讓書上的知識變成自己的,也才能讓自己變得更加充實,學得更多。最后順利地完成了課程設計,大家心情都很喜悅,雖然過程有點累,但是看到努力后的成果,還是很欣慰??偟膩碚f,通過歷時一個星期的課程設計,發(fā)現(xiàn)了自己的很多不足,以及自己知識的很多漏洞,看到了自己的實踐經(jīng)驗還是比較缺乏,理論聯(lián)系實際的能力還急需提高。經(jīng)過這個課程設計,同時也證明一個團隊的力量比一個人的力量大得多,完成一個復雜的問題效率也會高很多,我自己也從此次課程設計中學到了很多東西,實在是令我受益匪淺。8.3

19、肖驍感想這次課程設計讓我體會到了團隊的溫暖。由于我將要參加研究生入學考試,所以精力大都放到復習考研上面去了。但是我的團隊給了最大的包容和理解,讓我負責了較為輕松的報警程序、將實際溫度轉化為字型碼和將輸入的三個數(shù)合成一個數(shù)的子程序編寫。這已經(jīng)不是我第一次團隊合作做課程設計了,但是這次讓我最為記憶猶新。本次課程設計我們小組做的是烤箱,我的主要工作是報警子程序的編寫。通過此次課程設計,總的來說收獲還是挺大的。我的工作是參與了部分子程序的編寫,主要有用報警子程序,字型碼轉化等。這次的課程設計我們小組總算是順利地完成了。雖然只有短短一個星期,但讓我真正見識到了什么是團隊的力量。從接到此次課程設計任務開始

20、,大家就分配好了各自的任務,并且經(jīng)常聚在一起各抒己見地討論各個方案的可行性。在我們小組中也許有的同學能力強些,有些同學能力沒那么強,分工時能力強的同學可能任務就重些,但是大家都沒有任何的怨言,全力地專注于自己的那一部分任務,所以團結協(xié)作是我們小組能順利完成此次課程設計的一項非常重要的保證,而這次設計也正好鍛煉我們這一點,這也是非常寶貴的。我們這次是設計對烤箱溫度控制系統(tǒng),對于溫度的控制系統(tǒng),我們需要完成溫度的采集,溫度的控制,能通過鍵盤對溫度的顯示,初始參數(shù)設置,報警設置等功能。我們一起討論,一起研究,經(jīng)過幾番努力,初步編出的程序,問題很多,也總找不到原因,然后參考書上的例題程序,修改了很多,

21、有些問題是硬件連線問題,我們的烤箱是低電平有效的,我們還將它接到了地。還有很多問題,然后仔細復習書上所學過的知識,對我們的程序再次發(fā)現(xiàn)問題,修改問題,后來經(jīng)過多次的修改最終完成了初步的可行性程序,也算一個進步。在調試過程中又遇到了烤箱溫度達不到等各種客觀問題,但最終在同學的協(xié)作以及我們自身的努力下,都將這些困難一一克服并得到了比較理想的結果。最后順利地完成了課程設計,大家心情都很喜悅,雖然過程有點累,但是看到努力后的成果,還是很欣慰。總的來說,通過歷時一個星期的課程設計,發(fā)現(xiàn)了自己的很多不足,以及自己知識的很多漏洞,看到了自己的實踐經(jīng)驗還是比較缺乏,理論聯(lián)系實際的能力還急需提高。經(jīng)過這個課程設

22、計,同時也證明一個團隊的力量比一個人的力量大得多,完成一個復雜的問題效率也會高很多,我自己也從此次課程設計中學到了很多東西。在一個星期的時間里,我們完成了此次課程設計,雖然付出了很多,但是也收獲了很多。這也讓我明白了一個道理,大家需要團結在一起才能更大的發(fā)揮自己的能力,效率才會更高。+12V-12V20K 電位器Oab_3p1K100電位器100K 5.1K 5.1K1K10K PT100212.02附錄系統(tǒng)框圖PD-32SSR 8255 烤箱AD574PT100 圖1 系統(tǒng)框圖 圖2 電路原理圖開始初始化鍵盤掃描AD轉換標度變換是否執(zhí)行狀態(tài)否是控制算法執(zhí)行警報圖3 主程序流程圖否是否否是是否

23、開始圖4 算法控制流程圖 設定值-實際值輸出標志為0 滿輸出 算法1 算法2返回設定值大于實際值 差值小于10 設定大于150 設定大于100 輸入設定值開始控制值為0是否進行控制值次循環(huán)送0進行100-控制值次循環(huán)送1返回圖5 執(zhí)行子程序流程圖大于小于小于大于開始 比較讀回值與上限比較讀回值與下限 蜂鳴器送0蜂鳴器送1 返回圖6 報警子程序流程圖開始讀回溫度值除以100查表的高位字型碼余數(shù)除以10再查表得次字型碼余數(shù)為低位,查表得字型碼返回圖7 溫度轉字型碼子程序流程圖程序代碼:.486CODE SEGMENT USE16ASSUME CS:CODEORG 2000HBEG: JMP STA

24、RTXISHU1 DW 5 ; 補償算法系數(shù)1XISHU2 DW 3 ;補償算法系數(shù)2AJZ DB ? ;記錄按鍵的數(shù)值AJCS DB 0 ;記錄按下鍵的次數(shù)WDSX DW 300 ;上限溫度值WDXX DW 0 ;下限溫度值YSWD DW ? ;預設溫度值SJWD DW ? ;實際溫度值ZCWD DW ? ; 溫度暫存YSXS DB ?,?,? ; 預設溫度顯示SWXS DB ?,?,? ; 實際溫度顯示SRXS DB ?,?,? ;輸入溫度的三位數(shù)值ADJG DW 0 ;存放AD轉換的結果BDBHJG DW 0 ; 存放標度變換的結果ZKB DW 0 ; 占空比LED D B 0C0H,0

25、F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;三色LED字型碼KEY DB0EEH,0EDH,0EBH,0E7H,0DEH,0DDH,0DBH,0D7H,0BEH,0BDH,0BBH,0B7H,7EH,7DH, 7BH,77H ;鍵特征值START:CALL CSH ; 調用初始化子程序LL0:CALL JPSM ;調用鍵盤掃描子程序CALL ADZH ; 進行AD轉換CALL BDBH ;進行標度變換CALL XSSW ; 顯示實際溫度值MOV AL,AJCSCMP AL,4 ; 比較AJCS是否為4,為4的話說明是在溫度控制執(zhí)行狀態(tài)JNZ LL0 ;不等于

26、4,向上跳轉CALL KZSF ; 調用控制算法子程序,處理獲得的溫度差CALL PWM ; 調用產(chǎn)生PWM波形子程序18CALL BJQ ;調用報警器子程序JMP LL0;-顯示初始化-CSH P ROCMOV DX,30CH ;第5片8255初始化MOV AL,90HOUT DX,ALMOV DX,20CHMOV EAX,80808080H ;14片8255初始化OUT DX,EAXMOV DX,208H ;將LED全熄滅MOV EAX,0F0F0F0FHOUT DX,EAXMOV DX,30CHMOV AL,00000011B ;為第五片8255的PC1、PC0賦值1 OUT DX,AL

27、RETCSH E NDP;-鍵盤掃描-JPSM PROCPUSHAMOV BL,0F7H ;從Q3列開始掃描SM: MOV AL,BLMOV DX,304HOUT DX,AL ;送出列信號MOV DX,300HIN AL,DX ;讀入行信號AND AL,0FHCMP AL,0FHJNZ LL1 ;有鍵按下,跳轉ROR BL,1 ;調整列信號JC SMJMP JPSM3 ;無鍵按下,跳出程序LL1: ;以列信號為高四位,行信號為低四位,形成鍵特征值SHL BL,4OR BL,ALCALL DL Y_L ;延時去抖動DDSF: MOV AL,0 ; 等待釋放MOV DX,304HOUT DX,AL

28、MOV DX,300HIN AL,DXAND AL,0FHCMP AL,0FHJNZ DDSFLEA S I,KEY ;鍵特征值的首地址MOV AJZ,0 ;用AJZ記錄下按下鍵的數(shù)值JPSM1:MOV AL,AJZMOV AH,0MOV BP,AXCMP BL,SI+BP ;按下的鍵從零開始的比較JZ JPSM2INC AJZJMP JPSM1JPSM2:CALL PANDUAN ;判斷輸入值JPSM3:POPARETJPSM ENDP;-去抖動延時-DL Y_L PROCPUSH CXMOV CX,0FFFFHDL YL_AGN: NOPLOOP DL YL_AGNPOP CXRETDL

29、Y_L ENDP;-判斷輸入值- PANDUAN PROCPUSHAMOV BL,AJZ ;按下的鍵值MOV BH,AJCS ;按鍵次數(shù)CMP BL,9JA PAN1 ;大于9跳轉CMP BH,2JA PAN7 ;大于2跳轉INC AJCS ;次數(shù)加一CALL YSZXS ;調用預設值顯示子程序JMP PAN7PAN1:CMP BL,0BHJZ PAN4 ;等于B跳轉CMP BL,0CHJZ PAN5 ;等于C跳轉CMP BL,0FHJZ PAN7 ;等于F跳轉CMP BH,3 ;判斷次數(shù)AJCS是否等于3JNZ PAN7 ;不等于3跳轉CALL ZUHE ;將輸入的三個數(shù)組合MOV CX,Z

30、CWD ;將組合好的數(shù)存放在CXCMP BL,0AHJNZ PAN2 ; 不等于A跳轉CMP CX,WDSX ; 與上限溫度比較JA PAN7 ; 大于上限溫度跳轉CMP CX,WDXX ; 與下限溫度比較JB PAN7 ; 小于下限溫度跳轉INC AJCS ; 次數(shù)加1,變?yōu)?MOV YSWD,CX ; 得到預設溫度JMP PAN7PAN2:CMP BL,0DHJNZ PAN3 ; 等于D跳轉MOV WDSX,CX ; 得到上限溫度PAN3: MOV WDXX,CX ; 得到下限溫度JMP PAN6PAN4: CMP BH,3JA PAN7 ; 大于3跳轉JMP PAN6PAN5: CMP

31、BH,4JNZ PAN7 ; 不等于4跳轉PAN6: MOV AJCS,0 ; 次數(shù)清零MOV DX,20AH ; 8255(3C口地址MOV AX,0F0FH ;預設溫度顯示關閉OUT DX,AXPAN7: POPARETPANDUAN ENDP;-預設值顯示-YSZXS PROCPUSHAMOV CL,AJCSLEA B X,LED ;將存放三色LED字型碼地址給BXMOV AL,AJZ ;將按下鍵的數(shù)值給AL,以待查表轉換LEA D I,SRXS ;將存放輸入溫度數(shù)值的地址給DILEA S I,YSXS ;將存放顯示溫度字型碼的地址給SIMOV DX,20AH ;8255(3C口地址CM

32、P CL,1JZ SH1 ;等于1跳轉CMP CL,2JZ SH2 ;等于2跳轉CMP CL,3JZ SH3 ;等于3跳轉JMP SH5SH1: MOV DI,AL ;將最高位存放XLAT ;查表轉換MOV SI,AL ;將最高位的字型碼存放MOV AX,0F0EH ;LED只顯示最高位,綠色SH2: MOV DI+1,AL ;將次高位存放XLATMOV SI+1,AL ;將次高位的字型碼存放MOV AX,0F0AH ;LED顯示前兩位,綠色JMP SH4SH3: MOV DI+2,AL ;將最低位存放XLATMOV SI+2,AL ;將最低位的字型碼存放MOV AX,0E0AH ;LED顯示

33、三位,綠色JMP SH4SH4: OUT DX,AXMOV DX,202H ;8255(3A口地址LEA S I,YSXS ;將顯示溫度的字型碼地址給SICALL XIANSHIOUT ;顯示SH5: POPARETYSZXS ENDP;-實際值顯示-XSSW PROCPUSHACALL ZHUAN ;將實際溫度轉換為字型碼MOV DX,208H ;8255(1C口地址MOV AX,0D05H ;紅色OUT DX,AXMOV DX,200H ;8255(1A口地址LEA S I,SWXS ;將顯示溫度的字型碼地址給SICALL XIANSHIOUT ;顯示輸出POPARETXSSW ENDP;

34、-顯示輸出- XIANSHIOUT PROCPUSHAMOV AL,SIOUT DX,AL ;輸出最高位INC SIMOV AL,SIADD DX,4OUT DX,AL ;輸出次高位INC SIMOV AL,SISUB D X,3OUT DX,AL ;輸出最低位POPARETXIANSHIOUT ENDP;-將輸入的三個數(shù)組合成一個數(shù)- ZUHE PROCPUSHALEA S I,SRXS ;輸入溫度數(shù)值的地址MOV CL,10MOV AL,SIMOV AH,0MUL CL ;最高位乘以10INC SIADD AL,SI ;加次高位MUL CL ;和再乘以10INC SIMOV BL,SIMO

35、V BH,0ADD AX,BX ;再加最低位MOV ZCWD,AX ;得到溫度值ZUHE1: POPARETZUHE ENDP;-實際溫度轉換為字型碼- ZHUAN PROCPUSHALEA S I,SWXS ;顯示溫度字型碼地址LEA B X,LED ;三色LED字型碼地址MOV AX,SJWD ;實際溫度值MOV CL,100DIV CL ;除以100,商是最高位XLATMOV SI,AL ;將最高位的字型碼存放INC SIMOV AL,AHMOV AH,0MOV CL,10DIV CL ;余數(shù)除以10,商是次高位,余數(shù)為最低位XLATMOV SI,AL ;將次高位存放INC SIMOV

36、AL,AHXLATMOV SI,AL ;將最低位存放POPARETZHUAN ENDP;-標度變換子程序-BDBH PROC NEARPUSHAMOV AX,ADJGMOV CX,10MUL CXMOV CX,3DIV CXMOV CX,2MUL CXMOV CX,91DIV CXMOV BDBHJG,AX ;保存標度變換后的結果MOV SJWD,AXPOPARETBDBH ENDP;-A/D轉換子程序-ADZH PROC NEARPUSHAMOV DX,3C0H ; A/D地址MOV AL,0 ; 虛寫,啟動12位A/D轉換OUT DX,ALMOV CX,20hLOOP $ ; 延時等待A/D轉換完成IN AX,DX ; 一次性讀取12位轉換結果AND AX,00FFFH ; 屏蔽掉高4位MOV A

溫馨提示

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

評論

0/150

提交評論