




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、吳傳林 唐思 肖驍 黃定 烤箱溫度控制系統(tǒng)的設(shè)計(采用PD-32E實驗裝置)烤箱溫度控制系統(tǒng)的設(shè)計(計算機(jī)控制技術(shù)基礎(chǔ)課程設(shè)計)專 業(yè):自動化 組 員: 吳傳林 唐思 黃定 肖驍重慶大學(xué)自動化學(xué)院2013年9月目 錄摘要1序言11.設(shè)計內(nèi)容21.1已知參數(shù)和設(shè)計要求21.2實現(xiàn)方法22.組員分工23. 硬件部分組成33.1硬件連接33.2.1 AD57433.2.2 PT10043.2.3 芯片825544.操作說明55.設(shè)計總體思路55.1設(shè)計步驟65.1.1主程序的設(shè)計65.1.2溫度設(shè)定子程序65.1.3讀取當(dāng)前溫度子程序65.1.4溫度比較以及加熱子程序65.1.5報警子程序75.2原
2、理分析76.實驗結(jié)果77.原程序清單88.設(shè)計感想88.1吳傳林感想88.2唐思感想98.3肖驍感想10附錄12系統(tǒng)框圖12程序代碼:18摘要 本文是對烤箱溫度控制系統(tǒng)進(jìn)行設(shè)計,在烤箱溫度控制系統(tǒng)中,利用計算機(jī)對烤箱的繼電器發(fā)出不同的信號,來控制繼電器的開斷,從而能夠?qū)崿F(xiàn)控制烤箱加熱與否的控制。本系統(tǒng)采用了反饋控制,是經(jīng)典控制理論在實際中成功應(yīng)用的典型實例。本次采用的信號輸出芯片是8255。而溫度采集則是用了PT100感溫電阻,將電信號送至A/D574中,利用A/D574的模數(shù)轉(zhuǎn)換功能,將采集的溫度模擬信號轉(zhuǎn)換成計算機(jī)可以識別的電信號,進(jìn)而在計算機(jī)內(nèi)對這些電信號進(jìn)行處理,經(jīng)過反饋控制算法來輸出
3、控制烤箱的電信號。關(guān)鍵詞:反饋控制算法,A/D574模數(shù)轉(zhuǎn)換,計算機(jī)控制序言溫度控制技術(shù)廣泛應(yīng)用于社會生活的各個領(lǐng)域,如家電、汽車、材料、電力電子等,傳統(tǒng)的溫度控制技術(shù)中最常見的是繼電器調(diào)溫,但由于繼電器動作頻繁,溫度控制范圍小,精度不高,可能會因觸點不良而影響正常工作。最近幾年快速發(fā)展的有PID 溫控、模糊控制、神經(jīng)網(wǎng)絡(luò) 以及遺傳算法在溫度控制中的應(yīng)用。烤箱是熱處理生產(chǎn)中應(yīng)用最廣的加熱設(shè)備,它電流通過電熱元件產(chǎn)生熱量,借助輻射和對流的傳遞方式,將熱量傳遞給所要加熱的物品,使其加熱到所要求的溫度。本文設(shè)計的烤箱溫度控制系統(tǒng),是利用計算機(jī)對其溫度進(jìn)行控制,采用反饋控制算法,以實現(xiàn)對烤箱溫度控制,
4、達(dá)到控制性能要求的指標(biāo)。 1.設(shè)計內(nèi)容 1.1已知參數(shù)和設(shè)計要求1.某烤箱的溫度控制要求為:控制烤箱溫度從室溫上升到目標(biāo)溫度并一直保持在該目標(biāo)溫度,要求控制的精度達(dá)±3%,調(diào)節(jié)時間20秒。2.目標(biāo)溫度應(yīng)可以通過鍵盤任意修改。3.完成溫度檢測、溫度變松,溫度顯示(LED和CRT曲線)、溫度控制、通過鍵盤設(shè)定上、下限溫度報警值,溫度超限報警(聲、光)等功能。1.2實現(xiàn)方法采用PD-32E實驗裝置實現(xiàn)(限5人選做)2.組員分工姓名職務(wù)負(fù)責(zé)的部分吳傳林組長鍵盤掃描、判斷控制、顯示模塊程序編寫,程序的編譯和調(diào)試 唐思組員AD574轉(zhuǎn)換,標(biāo)度變換,控制算法,PWM波生成,程序的編譯和調(diào)試肖驍組員
5、報警程序、讀入溫度值拆分、鍵盤輸入值合并,報告撰寫黃定組員 3. 硬件部分組成3.1硬件連接1)8255部分(第5片)連線: 8255(5)的CS結(jié)CS2 300H,PA0PA3接鍵盤P0P3,PB0PB3接鍵盤Q0Q3,PC0接烤箱的PWM控制信號接收端。2) AD574連線:AD574的CS接地址輸入端CS7,AD574的12/8接VCC;AD574的A0接GND,AD574的10VIN接其上方的±5V,10VIN接PT100模塊的PT_OUT。3) 蜂鳴器接8255的PC1口。3.2硬件介紹3.2.1 AD574AD574A是單片高速12位逐次比較型A/D轉(zhuǎn)換器,內(nèi)置雙極性電路
6、構(gòu)成的混合集成轉(zhuǎn)換芯片,具有外接元件少,功耗低,精度高等特點,并且具有自動校零和自動極性轉(zhuǎn)換功能,只需外接少量的阻容件即可構(gòu)成一個完整的A/D轉(zhuǎn)換器,其主要功能特性如下:在CE=1、CS=0同時滿足時,AD574A才會正常工作,在AD574處于工作狀態(tài)時,當(dāng)R/C=0時A/D轉(zhuǎn)換,當(dāng)R/C=1是進(jìn)行數(shù)據(jù)讀出。和A0端用來控制啟動轉(zhuǎn)換的方式和數(shù)據(jù)輸出格式。A0=0時,啟動的是按完整12位數(shù)據(jù)方式進(jìn)行的。當(dāng)A0=1時,按8位A/D轉(zhuǎn)換方式進(jìn)行。當(dāng)R/C=1,也即當(dāng)AD574A處于數(shù)據(jù)狀態(tài)時,A0和R/C控制數(shù)據(jù)輸出狀態(tài)的格式。當(dāng)R/C=1時,數(shù)據(jù)以12位并行輸出,當(dāng)R/C=0時,數(shù)據(jù)以8位分兩次輸
7、出。而當(dāng)A0=0時,輸出轉(zhuǎn)換數(shù)據(jù)的高8位,A0=1時輸出A/D轉(zhuǎn)換數(shù)據(jù)的低4位,這四位占一個字節(jié)的高半字節(jié),低半字節(jié)補(bǔ)零。如果需AD574A工作于單一模式,只需將CE、端接至+5V電源端,和A0接至0V,僅用端來控制A/D轉(zhuǎn)換的啟動和數(shù)據(jù)輸出。當(dāng)=0時,啟動A/D轉(zhuǎn)換器,經(jīng)25us后STS=1,表明A/D轉(zhuǎn)換結(jié)束,此時將置1,即可從數(shù)據(jù)端讀取數(shù)據(jù)。3.2.2 PT100pt100是鉑熱電阻,它的阻值會隨著溫度的變化而改變。PT后的100即表示它在0時阻值為100歐姆,在100時它的阻值約為138.5歐姆。它的工作原理:當(dāng)PT100在0攝氏度的時候他的阻值為100歐姆,它的阻值會隨著溫度上升而成
8、近似勻速的增長。但他們之間的關(guān)系并不是簡單的正比的關(guān)系,而更應(yīng)該趨近于一條拋物線。常見的pt100感溫元件有陶瓷元件,玻璃元件,云母元件,它們是由鉑絲分別繞在陶瓷骨架,玻璃骨架,云母骨架上再經(jīng)過復(fù)雜的工藝加工而成。PT100/PT1000鉑電阻RT曲線圖表: 圖3.13.2.3 芯片8255 8255是Intel公司生產(chǎn)的可編程并行I/O接口芯片,有3個8位并行I/O口。具有3個通道3種工作方式的可編程并行接口芯片(40引腳)。 其各口功能可由軟件選擇,使用靈活,通用性強(qiáng)。8255可作為單片機(jī)與多種外設(shè)連接時的中間接口電路。 8255作為主機(jī)與外設(shè)的連接芯片,必須提供與主機(jī)相連的3個總線接口,
9、即數(shù)據(jù)線、地址線、控制線接口。同時必須具有與外設(shè)連接的接口A、B、C口。由于8255可編程,所以必須具有邏輯控制部分,因而8255內(nèi)部結(jié)構(gòu)分為3個部分:與CPU連接部分、與外設(shè)連接部分、控制部分。 圖3.2 4.操作說明鍵盤上的A鍵為啟動鍵,B鍵為復(fù)位鍵,D為設(shè)置溫度上限,E為設(shè)置溫度下限,0-9數(shù)字鍵輸入溫度值。5.設(shè)計總體思路 框圖如圖所示:控制器烤箱溫度采集我們采用的是傳統(tǒng)的反饋控制策略,其具體過程如下:一開始,給定一個輸入信號,即期望溫度,此時,控制程序還沒有起作用,此信號通過變送器送至繼電器,繼電器導(dǎo)通,使烤箱處于工作狀態(tài)。這時,溫度傳感器就把烤箱內(nèi)的溫度轉(zhuǎn)變成電信號送至計算機(jī)中。計
10、算機(jī)則將此電信號與輸入的期望溫度進(jìn)行比較,通過控制器,根據(jù)不同的設(shè)定及差值,選擇不同的控制算法。由于計算機(jī)內(nèi)的電信號都是脈沖信號,因此,可以調(diào)節(jié)脈沖信號的占空比來調(diào)節(jié)繼電器的斷開與導(dǎo)通的時間。期望值與測量值的差距大,就增大占空比,使一個周期內(nèi)的加熱時間增長,反之,則減小占空比。采用上述的控制策略,即可以實現(xiàn)溫度調(diào)節(jié),達(dá)到控制指標(biāo)的要求。5.1設(shè)計步驟5.1.1主程序的設(shè)計首先確定主程序所要實現(xiàn)的目標(biāo),即:預(yù)設(shè)顯示輸出,輸入溫度上限、溫度下限,輸入設(shè)定溫度值,顯示預(yù)設(shè)溫度,實時刷新當(dāng)前溫度并顯示,比較實時溫度與設(shè)定溫度差值并進(jìn)行反饋控制,控制溫度達(dá)到性能指標(biāo)要求。然后,確定了主程序所要實現(xiàn)的功能
11、以后,在相應(yīng)的編寫各個子程序模塊。同時,要考慮在整個系統(tǒng)實現(xiàn)的過程中,所要運用到的芯片,好進(jìn)行芯片的初始化。如8255,AD574等5.1.2溫度設(shè)定子程序溫度設(shè)定子程序,即,從鍵盤上輸入3個數(shù)字,將其存放在指定的空間區(qū)域內(nèi)。5.1.3讀取當(dāng)前溫度子程序即AD574的使用過程。首先,先將AD574初始化,啟動轉(zhuǎn)換,轉(zhuǎn)換結(jié)果屏蔽高4位后,將所得到的結(jié)果存放在指定單元中,為當(dāng)前溫度。5.1.4溫度比較以及加熱子程序?qū)⑶耙徊襟E采集到的當(dāng)前溫度進(jìn)行標(biāo)度變換,比較設(shè)定值的大小與當(dāng)前溫度和設(shè)定值之差,然后做出相應(yīng)的標(biāo)記,然后根據(jù)不同的標(biāo)記跳到相應(yīng)的加熱子程序中。其基本原則就是:實際溫度和期望溫度差距越大,
12、加熱子程序中,每個周期的高電平占空比就越大,若設(shè)定值比較大,則直接采用滿程輸出。5.1.5報警子程序烤箱工作時,當(dāng)烤箱溫度超過設(shè)置溫度上限和低于溫度下限時,調(diào)用子程序,否則跳出子程序;其中接蜂鳴器的控制信號為第五片8255A的PC1口輸出信號,輸出0時,蜂鳴器發(fā)出警報,輸出為1時,聲音停止。5.2原理分析制烤箱溫度的系統(tǒng),我們采用反饋控制算法。利用計算機(jī)控制中的A/D轉(zhuǎn)換器,將采集到的模擬信號轉(zhuǎn)換成數(shù)字信號,然后送入計算機(jī)進(jìn)行處理。在計算機(jī)中,我們編寫了控制算法,將送入的電信號經(jīng)過該算法,輸出一個控制繼電器開關(guān)的脈沖信號,我們可以通過調(diào)節(jié)脈沖高電平的占空比,來控制一個信號周期內(nèi)加熱時間的長短。
13、從而實現(xiàn)控制。又由于這個占空比是實時變化的,所以,這是一個變比例系數(shù)的P控制器。利用這個控制器,我們可以使烤箱內(nèi)的溫度保持在我們所設(shè)定的期望值。6.實驗結(jié)果實驗結(jié)果如下表所示:實驗次數(shù)初始溫度設(shè)定溫度調(diào)節(jié)時間超調(diào)量誤差13510041.3%24014021.2%36016021.5%45022012% 本次設(shè)計總體上還是比較成功,基本上實現(xiàn)了任務(wù)要求。只有調(diào)節(jié)時間的,可能是冗長的程序,或者是電烤箱的功率問題,又或者是自己反饋補(bǔ)償參數(shù)設(shè)計不夠完善,總之,不能達(dá)到要求的20秒以內(nèi),此為設(shè)計的瑕疵。7.原程序清單見附錄48.設(shè)計感想8.1吳傳林感想作為我們團(tuán)隊的組長,需要確定合適的電路,對電路進(jìn)行調(diào)
14、試,將變送器調(diào)至最合適的范圍。同時還要確定與硬件相關(guān)的軟件主體思想。一個項目的成敗,與組長的整體協(xié)調(diào)能力關(guān)系很大。這次的時間比較緊張,而且之前沒怎么做過過程控制類的題目,所以可以說是時間短、任務(wù)重。熱敏電阻PT100之前接觸過,但是沒有和計算機(jī)連起來使用,也是一個新的挑戰(zhàn)。這次設(shè)計我吸取的上次計算機(jī)硬件課程設(shè)計的教訓(xùn),學(xué)會多利用子程序,而不是要把所有的問題都用一個主程序解決,卻很少使用子程序。這樣,不但別人讀不懂自己的程序,就連自己有時候都讀不懂自己的程序。這次課程設(shè)計感覺比以前進(jìn)步的一點就是程序的模塊化思想更加深刻。之前總也用程序段的方式插入的主程序中,而這次則是盡量減少主程序的內(nèi)容,將所有
15、的處理部分都寫成子程序,設(shè)計好入口參數(shù),就可以是整個程序思路清晰,一目了然。一個好的程序編寫者并不是會把所有的模塊都自己寫出來,而是可以將自己搜索到的各種模塊與自己的項目結(jié)合,設(shè)計好接口參數(shù),達(dá)到事半功倍的效果。這次的程序就用了之前做過的一些設(shè)計的模塊,如實時顯示刷新模塊,延時程序,報警子程序等。這些之前積累下來的寶貴資料大大加快了本次課程設(shè)計的速度。通過了這次課程設(shè)計,雖然很累,但過得很充實,收獲也很多,我們將學(xué)到的知識又重新的復(fù)習(xí)了一遍,在原來的基礎(chǔ)上鞏固了對理論知識的理解并且提升了自己的實踐能力。對匯編語言的使用有了進(jìn)一步的提高,對一個大系統(tǒng)進(jìn)行模塊化分析是以前沒有嘗試過的,分工合作也讓
16、我們學(xué)會團(tuán)結(jié)互助,讓我們對團(tuán)隊合作精神理解得更透徹,對于我們以后的學(xué)習(xí)或者工作中都有深遠(yuǎn)的意義。 8.2唐思感想 這次的課程設(shè)計我們小組總算是順利地完成了。雖然只有短短一個星期,但讓我真正見識到了什么是團(tuán)隊的力量。從接到此次課程設(shè)計任務(wù)開始,大家就分配好了各自的任務(wù),并且經(jīng)常聚在一起各抒己見地討論各個方案的可行性,氣氛那是十分的熱烈。在我們小組中也許有的同學(xué)能力強(qiáng)些,有些同學(xué)能力沒那么強(qiáng),分工時能力強(qiáng)的同學(xué)可能任務(wù)就重些,但是大家都沒有任何的怨言,全力地專注于自己的那一部分任務(wù),所以團(tuán)結(jié)協(xié)作是我們小組能順利完成此次課程設(shè)計的一項非常重要的保證,而這次設(shè)計也正好鍛煉我們這一點,這也是非常寶貴的。
17、 我們這次是設(shè)計對烤箱溫度控制系統(tǒng),對于溫度的控制系統(tǒng),我們需要完成溫度的采集,溫度的控制,能通過鍵盤,顯示接口實現(xiàn)恒溫時間設(shè)置,系統(tǒng)初始參數(shù)設(shè)置,報警設(shè)置等功能。我們一起討論,一起研究,經(jīng)過幾番努力,初步編出的程序,問題很多,也總找不到原因,然后參考書上的例題程序,修改了很多,有些問題是子程序與主程序的連接沒弄好,還是很多問題,然后仔細(xì)復(fù)習(xí)書上所學(xué)過的知識,對我們的程序再次發(fā)現(xiàn)問題,修改問題,后來經(jīng)過多次的修改最終完成了初步的可行性程序,也算一個進(jìn)步。在調(diào)試過程中又遇到了烤箱失靈等各種客觀問題,但最終在同學(xué)的協(xié)作以及我們自身的努力下,都將這些困難一一克服并得到了比較理想的結(jié)果。在這次設(shè)計中,
18、我主要負(fù)責(zé)的是烤箱控制算法及輸出部分,剛開始的時候還是出現(xiàn)很多問題,在同學(xué)的幫助以及參考其他組的一些程序后,初步完成了這段程序,然后經(jīng)過自己的多次修改,完成了這部分的編寫,設(shè)計了一個符合烤箱實際情況的合理算法。在溫度較還遠(yuǎn)未達(dá)到設(shè)定值時,采用滿程的輸出,在接近時,采用PWM波,并且在設(shè)定值不同區(qū)間時采用不同脈寬的PWM波,當(dāng)設(shè)定值過高時,采用滿程輸出。當(dāng)實際溫度超過設(shè)定值,立即關(guān)機(jī),待溫度降到設(shè)定值以下再次輸出。經(jīng)過這個部分的編寫,讓自己明白了很多,課堂上學(xué)的東西遠(yuǎn)遠(yuǎn)不夠,還是需要自己課后的更多的付出和復(fù)習(xí),才能讓自己所學(xué)的東西學(xué)以致用,才能讓書上的知識變成自己的,也才能讓自己變得更加充實,學(xué)
19、得更多。最后順利地完成了課程設(shè)計,大家心情都很喜悅,雖然過程有點累,但是看到努力后的成果,還是很欣慰。總的來說,通過歷時一個星期的課程設(shè)計,發(fā)現(xiàn)了自己的很多不足,以及自己知識的很多漏洞,看到了自己的實踐經(jīng)驗還是比較缺乏,理論聯(lián)系實際的能力還急需提高。經(jīng)過這個課程設(shè)計,同時也證明一個團(tuán)隊的力量比一個人的力量大得多,完成一個復(fù)雜的問題效率也會高很多,我自己也從此次課程設(shè)計中學(xué)到了很多東西,實在是令我受益匪淺。8.3肖驍感想這次課程設(shè)計讓我體會到了團(tuán)隊的溫暖。由于我將要參加研究生入學(xué)考試,所以精力大都放到復(fù)習(xí)考研上面去了。但是我的團(tuán)隊給了最大的包容和理解,讓我負(fù)責(zé)了較為輕松的報警程序、將實際溫度轉(zhuǎn)化
20、為字型碼和將輸入的三個數(shù)合成一個數(shù)的子程序編寫。這已經(jīng)不是我第一次團(tuán)隊合作做課程設(shè)計了,但是這次讓我最為記憶猶新。本次課程設(shè)計我們小組做的是烤箱,我的主要工作是報警子程序的編寫。通過此次課程設(shè)計,總的來說收獲還是挺大的。我的工作是參與了部分子程序的編寫,主要有用報警子程序,字型碼轉(zhuǎn)化等。這次的課程設(shè)計我們小組總算是順利地完成了。雖然只有短短一個星期,但讓我真正見識到了什么是團(tuán)隊的力量。從接到此次課程設(shè)計任務(wù)開始,大家就分配好了各自的任務(wù),并且經(jīng)常聚在一起各抒己見地討論各個方案的可行性。在我們小組中也許有的同學(xué)能力強(qiáng)些,有些同學(xué)能力沒那么強(qiáng),分工時能力強(qiáng)的同學(xué)可能任務(wù)就重些,但是大家都沒有任何的
21、怨言,全力地專注于自己的那一部分任務(wù),所以團(tuán)結(jié)協(xié)作是我們小組能順利完成此次課程設(shè)計的一項非常重要的保證,而這次設(shè)計也正好鍛煉我們這一點,這也是非常寶貴的。我們這次是設(shè)計對烤箱溫度控制系統(tǒng),對于溫度的控制系統(tǒng),我們需要完成溫度的采集,溫度的控制,能通過鍵盤對溫度的顯示,初始參數(shù)設(shè)置,報警設(shè)置等功能。我們一起討論,一起研究,經(jīng)過幾番努力,初步編出的程序,問題很多,也總找不到原因,然后參考書上的例題程序,修改了很多,有些問題是硬件連線問題,我們的烤箱是低電平有效的,我們還將它接到了地。還有很多問題,然后仔細(xì)復(fù)習(xí)書上所學(xué)過的知識,對我們的程序再次發(fā)現(xiàn)問題,修改問題,后來經(jīng)過多次的修改最終完成了初步的可
22、行性程序,也算一個進(jìn)步。在調(diào)試過程中又遇到了烤箱溫度達(dá)不到等各種客觀問題,但最終在同學(xué)的協(xié)作以及我們自身的努力下,都將這些困難一一克服并得到了比較理想的結(jié)果。最后順利地完成了課程設(shè)計,大家心情都很喜悅,雖然過程有點累,但是看到努力后的成果,還是很欣慰。總的來說,通過歷時一個星期的課程設(shè)計,發(fā)現(xiàn)了自己的很多不足,以及自己知識的很多漏洞,看到了自己的實踐經(jīng)驗還是比較缺乏,理論聯(lián)系實際的能力還急需提高。經(jīng)過這個課程設(shè)計,同時也證明一個團(tuán)隊的力量比一個人的力量大得多,完成一個復(fù)雜的問題效率也會高很多,我自己也從此次課程設(shè)計中學(xué)到了很多東西。在一個星期的時間里,我們完成了此次課程設(shè)計,雖然付出了很多,但
23、是也收獲了很多。這也讓我明白了一個道理,大家需要團(tuán)結(jié)在一起才能更大的發(fā)揮自己的能力,效率才會更高。10附錄圖1 系統(tǒng)框圖系統(tǒng)框圖PD-32SSR8255烤箱AD574PT100圖2 電路原理圖 圖3 主程序流程圖 警報 執(zhí)行 控制算法 標(biāo)度變換AD轉(zhuǎn)換 鍵盤掃描 開始 初始化圖3 主程序流程圖否是否執(zhí)行狀態(tài)是 否 是 否 否 是 是 否 算法1設(shè)定大于100滿輸出輸出標(biāo)志為0設(shè)定值大于實際值 返回算法2設(shè)定大于150差值小于10設(shè)定值-實際值輸入設(shè)定值 開始圖4 算法控制流程圖 是 否 返回進(jìn)行100-控制值次循環(huán)送1控制值為0進(jìn)行控制值次循環(huán)送0 開始 圖5 執(zhí)行子程序流程圖 大于 小于 小
24、于 大于 開始 返回蜂鳴器送0比較讀回值與下限蜂鳴器送1比較讀回值與上限圖6 報警子程序流程圖余數(shù)為低位,查表得字型碼 返回余數(shù)除以10再查表得次字型碼除以100查表的高位字型碼讀回溫度值 開始圖7 溫度轉(zhuǎn)字型碼子程序流程圖27程序代碼:.486CODESEGMENTUSE16 ASSUMECS:CODEORG2000HBEG:JMPSTART XISHU1 DW 5 ; 補(bǔ)償算法系數(shù)1XISHU2 DW 3 ;補(bǔ)償算法系數(shù)2AJZDB?;記錄按鍵的數(shù)值A(chǔ)JCSDB0;記錄按下鍵的次數(shù)WDSXDW300;上限溫度值WDXXDW0;下限溫度值YSWDDW?;預(yù)設(shè)溫度值SJWDDW?;實際溫度值Z
25、CWDDW?; 溫度暫存YSXSDB?,?,?; 預(yù)設(shè)溫度顯示SWXSDB?,?,?; 實際溫度顯示SRXSDB?,?,?;輸入溫度的三位數(shù)值A(chǔ)DJGDW0;存放AD轉(zhuǎn)換的結(jié)果BDBHJGDW0; 存放標(biāo)度變換的結(jié)果ZKBDW0; 占空比LEDDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;三色LED字型碼KEYDB0EEH,0EDH,0EBH,0E7H,0DEH,0DDH,0DBH,0D7H,0BEH,0BDH,0BBH,0B7H,7EH,7DH,7BH,77H;鍵特征值START:CALLCSH; 調(diào)用初始化子程序LL0:CALLJPSM;調(diào)用
26、鍵盤掃描子程序CALLADZH ; 進(jìn)行AD轉(zhuǎn)換CALLBDBH;進(jìn)行標(biāo)度變換CALLXSSW; 顯示實際溫度值MOVAL,AJCSCMPAL,4 ; 比較AJCS是否為4,為4的話說明是在溫度控制執(zhí)行狀態(tài)JNZLL0;不等于4,向上跳轉(zhuǎn)CALLKZSF; 調(diào)用控制算法子程序,處理獲得的溫度差CALLPWM; 調(diào)用產(chǎn)生PWM波形子程序CALLBJQ ;調(diào)用報警器子程序JMPLL0;-顯示初始化-CSHPROCMOVDX,30CH;第5片8255初始化MOVAL,90HOUTDX,ALMOVDX,20CHMOVEAX,80808080H;14片8255初始化OUTDX,EAXMOVDX,208H
27、;將LED全熄滅MOVEAX,0F0F0F0FHOUTDX,EAXMOVDX,30CHMOVAL,00000011B;為第五片8255的PC1、PC0賦值1OUTDX,ALRETCSHENDP;-鍵盤掃描-JPSMPROCPUSHAMOVBL,0F7H;從Q3列開始掃描SM:MOVAL,BLMOVDX,304HOUTDX,AL;送出列信號MOVDX,300HINAL,DX;讀入行信號 ANDAL,0FHCMPAL,0FHJNZLL1;有鍵按下,跳轉(zhuǎn)RORBL,1;調(diào)整列信號JCSMJMPJPSM3;無鍵按下,跳出程序LL1: ;以列信號為高四位,行信號為低四位,形成鍵特征值SHLBL,4ORB
28、L,ALCALLDLY_L ;延時去抖動DDSF:MOVAL,0 ; 等待釋放MOVDX,304HOUTDX,ALMOVDX,300HINAL,DXANDAL,0FHCMPAL,0FHJNZDDSFLEASI,KEY;鍵特征值的首地址MOVAJZ,0;用AJZ記錄下按下鍵的數(shù)值JPSM1:MOVAL,AJZMOVAH,0MOVBP,AXCMPBL,SI+BP;按下的鍵從零開始的比較JZJPSM2INCAJZJMPJPSM1JPSM2:CALLPANDUAN;判斷輸入值JPSM3:POPARETJPSMENDP;-去抖動延時-DLY_LPROCPUSHCXMOVCX,0FFFFHDLYL_AGN
29、:NOPLOOPDLYL_AGNPOPCXRETDLY_LENDP;-判斷輸入值-PANDUANPROCPUSHAMOVBL,AJZ ;按下的鍵值MOVBH,AJCS ;按鍵次數(shù)CMPBL,9JAPAN1 ;大于9跳轉(zhuǎn)CMPBH,2JAPAN7 ;大于2跳轉(zhuǎn)INCAJCS ;次數(shù)加一CALLYSZXS ;調(diào)用預(yù)設(shè)值顯示子程序JMPPAN7PAN1:CMPBL,0BHJZPAN4;等于B跳轉(zhuǎn)CMPBL,0CHJZPAN5;等于C跳轉(zhuǎn)CMPBL,0FHJZPAN7;等于F跳轉(zhuǎn)CMPBH,3;判斷次數(shù)AJCS是否等于3JNZPAN7;不等于3跳轉(zhuǎn)CALLZUHE;將輸入的三個數(shù)組合MOVCX,ZCW
30、D;將組合好的數(shù)存放在CXCMPBL,0AHJNZPAN2; 不等于A跳轉(zhuǎn)CMPCX,WDSX; 與上限溫度比較JAPAN7 ; 大于上限溫度跳轉(zhuǎn) CMPCX,WDXX ; 與下限溫度比較JBPAN7 ; 小于下限溫度跳轉(zhuǎn)INCAJCS ; 次數(shù)加1,變?yōu)?MOVYSWD,CX ; 得到預(yù)設(shè)溫度JMPPAN7PAN2:CMPBL,0DH JNZPAN3 ; 等于D跳轉(zhuǎn)MOVWDSX,CX ; 得到上限溫度JMPPAN6PAN3:MOVWDXX,CX ; 得到下限溫度JMPPAN6PAN4:CMPBH,3 JAPAN7 ; 大于3跳轉(zhuǎn)JMPPAN6PAN5:CMPBH,4JNZPAN7 ; 不等
31、于4跳轉(zhuǎn)PAN6:MOVAJCS,0 ; 次數(shù)清零MOVDX,20AH ; 8255(3)C口地址MOVAX,0F0FH ;預(yù)設(shè)溫度顯示關(guān)閉OUTDX,AXPAN7:POPARETPANDUANENDP;-預(yù)設(shè)值顯示-YSZXSPROCPUSHAMOVCL,AJCSLEABX,LED;將存放三色LED字型碼地址給BXMOVAL,AJZ;將按下鍵的數(shù)值給AL,以待查表轉(zhuǎn)換LEADI,SRXS;將存放輸入溫度數(shù)值的地址給DILEASI,YSXS;將存放顯示溫度字型碼的地址給SIMOVDX,20AH;8255(3)C口地址CMPCL,1JZSH1;等于1跳轉(zhuǎn)CMPCL,2JZSH2;等于2跳轉(zhuǎn)CMP
32、CL,3JZSH3;等于3跳轉(zhuǎn)JMPSH5SH1:MOVDI,AL;將最高位存放XLAT;查表轉(zhuǎn)換MOVSI,AL;將最高位的字型碼存放MOVAX,0F0EH;LED只顯示最高位,綠色JMPSH4SH2:MOVDI+1,AL;將次高位存放XLATMOVSI+1,AL;將次高位的字型碼存放MOVAX,0F0AH;LED顯示前兩位,綠色JMPSH4SH3:MOVDI+2,AL;將最低位存放XLATMOVSI+2,AL;將最低位的字型碼存放MOVAX,0E0AH;LED顯示三位,綠色JMPSH4SH4:OUTDX,AXMOVDX,202H;8255(3)A口地址LEASI,YSXS;將顯示溫度的字型
33、碼地址給SICALLXIANSHIOUT;顯示SH5:POPARETYSZXSENDP;-實際值顯示-XSSWPROCPUSHACALLZHUAN;將實際溫度轉(zhuǎn)換為字型碼MOVDX,208H;8255(1)C口地址MOVAX,0D05H;紅色OUTDX,AXMOVDX,200H;8255(1)A口地址LEASI,SWXS;將顯示溫度的字型碼地址給SICALLXIANSHIOUT;顯示輸出POPARETXSSWENDP;-顯示輸出-XIANSHIOUTPROCPUSHAMOVAL,SIOUTDX,AL;輸出最高位INCSIMOVAL,SIADDDX,4OUTDX,AL;輸出次高位INCSIMOV
34、AL,SISUBDX,3OUTDX,AL;輸出最低位POPARETXIANSHIOUTENDP;-將輸入的三個數(shù)組合成一個數(shù)-ZUHEPROCPUSHALEASI,SRXS;輸入溫度數(shù)值的地址MOVCL,10MOVAL,SIMOVAH,0MULCL;最高位乘以10INCSIADDAL,SI;加次高位MULCL;和再乘以10INCSIMOVBL,SIMOVBH,0ADDAX,BX;再加最低位MOVZCWD,AX;得到溫度值ZUHE1:POPARETZUHEENDP;-實際溫度轉(zhuǎn)換為字型碼-ZHUANPROCPUSHALEASI,SWXS;顯示溫度字型碼地址LEABX,LED;三色LED字型碼地址
35、MOVAX,SJWD;實際溫度值MOVCL,100DIVCL;除以100,商是最高位XLATMOVSI,AL;將最高位的字型碼存放INCSIMOVAL,AHMOVAH,0MOVCL,10DIVCL;余數(shù)除以10,商是次高位,余數(shù)為最低位XLATMOVSI,AL;將次高位存放INCSIMOVAL,AHXLATMOVSI,AL;將最低位存放POPARETZHUANENDP;-標(biāo)度變換子程序-BDBH PROC NEAR PUSHAMOV AX,ADJG MOVCX,10 MUL CX MOV CX,3 DIV CX MOVCX,2 MUL CXMOV CX,91 DIV CX MOV BDBHJG,AX ;保存標(biāo)度變換后的結(jié)果 MOVSJWD,AX POPA RETBDBH ENDP;-A/D轉(zhuǎn)換子程序-ADZH PROC NEARPUSHAMOV DX,3C0H ; A/D地址MOV AL,0 ; 虛寫,啟動12位A/D轉(zhuǎn)換OUTDX,ALMOV CX,20hLOOP $ ; 延時等
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安徽省阜陽市阜南實驗中學(xué)2024-2025學(xué)年高二下學(xué)期第二次階段性檢測(期中)地理試卷(含答案)
- 2025年Android資深開發(fā)者告訴你:簡歷這樣寫絕對吸引面試官眼球面試電話接到手軟
- 2025年android性能優(yōu)化工具!原生Android開發(fā)的路該怎么走?Android校招面試指南
- 2024-2025學(xué)年下學(xué)期高一生物人教版期末必刷常考題之自然選擇與適應(yīng)的形成
- 建筑施工特種作業(yè)-樁機(jī)操作工真題庫-4
- 色彩靜物構(gòu)圖題目及答案
- 3 3 導(dǎo)數(shù)的綜合應(yīng)用-2026版53高考數(shù)學(xué)總復(fù)習(xí)A版精煉
- 2023-2024學(xué)年四川省樂山市高二下學(xué)期期末考試數(shù)學(xué)試題(解析版)
- 2024-2025學(xué)年四川省廣安市高三第一次診斷性考試語文試題(解析版)
- 2024-2025學(xué)年山東省聊城市某校高一下學(xué)期第一次月考語文試題(解析版)
- 鑄鐵閘門及啟閉機(jī)安裝說明及操作手冊
- 《財政學(xué)》教學(xué)大綱中文版
- 高危新生兒急診服務(wù)流程圖
- CLSI EP25-A 穩(wěn)定性考察研究
- SJG 44-2018 深圳市公共建筑節(jié)能設(shè)計規(guī)范-高清現(xiàn)行
- 職工子女暑期工會愛心托管班的方案通知
- “文化引導(dǎo)型”城市更新思想思考與實踐課件
- 卷心菜中過氧化物酶熱穩(wěn)定性的初步研究
- 渦輪增壓器系統(tǒng)及常見故障案例
- 宋大叔教音樂第三單元進(jìn)階版講義2
- 26個科室建設(shè)指南
評論
0/150
提交評論