烤箱溫度控制設(shè)計(jì)_第1頁(yè)
烤箱溫度控制設(shè)計(jì)_第2頁(yè)
烤箱溫度控制設(shè)計(jì)_第3頁(yè)
烤箱溫度控制設(shè)計(jì)_第4頁(yè)
烤箱溫度控制設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

...---可修編.烤箱溫度控制系統(tǒng)的設(shè)計(jì)〔計(jì)算機(jī)控制技術(shù)根底課程設(shè)計(jì)〕專業(yè):自動(dòng)化組員:吳傳林唐思黃定肖驍大學(xué)自動(dòng)化學(xué)院2013年9月目錄733摘要129157序言1301941.設(shè)計(jì)容2123621.1參數(shù)和設(shè)計(jì)要求2163751.2實(shí)現(xiàn)方法2241332.組員分工2161403.硬件局部組成3160213.1硬件連接370533.2.1AD5743282503.2.2PT10049053.2.3芯片82554315284.操作說明538355.設(shè)計(jì)總體思路5171195.1設(shè)計(jì)步驟6314375.1.1主程序的設(shè)計(jì)6130915.1.2溫度設(shè)定子程序663795.1.3讀取當(dāng)前溫度子程序6280705.1.4溫度比擬以及加熱子程序615175.1.5報(bào)警子程序7162875.2原理分析7310156.實(shí)驗(yàn)結(jié)果736217.原程序清單8271648.設(shè)計(jì)感想898058.1吳傳林感想8242358.2唐思感想959388.3肖驍感想103943附錄1211609系統(tǒng)框圖1215359程序代碼:18..--可修編.摘要本文是對(duì)烤箱溫度控制系統(tǒng)進(jìn)展設(shè)計(jì),在烤箱溫度控制系統(tǒng)中,利用計(jì)算機(jī)對(duì)烤箱的繼電器發(fā)出不同的信號(hào),來控制繼電器的開斷,從而能夠?qū)崿F(xiàn)控制烤箱加熱與否的控制。本系統(tǒng)采用了反應(yīng)控制,是經(jīng)典控制理論在實(shí)際中成功應(yīng)用的典型實(shí)例。本次采用的信號(hào)輸出芯片是8255。而溫度采集那么是用了PT100感溫電阻,將電信號(hào)送至A/D574中,利用A/D574的模數(shù)轉(zhuǎn)換功能,將采集的溫度模擬信號(hào)轉(zhuǎn)換成計(jì)算機(jī)可以識(shí)別的電信號(hào),進(jìn)而在計(jì)算機(jī)對(duì)這些電信號(hào)進(jìn)展處理,經(jīng)過反應(yīng)控制算法來輸出控制烤箱的電信號(hào)。 關(guān)鍵詞:反應(yīng)控制算法,A/D574模數(shù)轉(zhuǎn)換,計(jì)算機(jī)控制序言溫度控制技術(shù)廣泛應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域,如家電、汽車、材料、電力電子等,傳統(tǒng)的溫度控制技術(shù)中最常見的是繼電器調(diào)溫,但由于繼電器動(dòng)作頻繁,溫度控制圍小,精度不高,可能會(huì)因觸點(diǎn)不良而影響正常工作。最近幾年快速開展的有PID溫控、模糊控制、神經(jīng)網(wǎng)絡(luò)以及遺傳算法在溫度控制中的應(yīng)用??鞠涫菬崽幚砩a(chǎn)中應(yīng)用最廣的加熱設(shè)備,它電流通過電熱元件產(chǎn)生熱量,借助輻射和對(duì)流的傳遞方式,將熱量傳遞給所要加熱的物品,使其加熱到所要求的溫度。本文設(shè)計(jì)的烤箱溫度控制系統(tǒng),是利用計(jì)算機(jī)對(duì)其溫度進(jìn)展控制,采用反應(yīng)控制算法,以實(shí)現(xiàn)對(duì)烤箱溫度控制,到達(dá)控制性能要求的指標(biāo)。1.設(shè)計(jì)容1.1參數(shù)和設(shè)計(jì)要求1.某烤箱的溫度控制要求為:控制烤箱溫度從室溫上升到目標(biāo)溫度并一直保持在該目標(biāo)溫度,要求控制的精度達(dá)±3%,調(diào)節(jié)時(shí)間≤20秒。2.目標(biāo)溫度應(yīng)可以通過鍵盤任意修改。3.完成溫度檢測(cè)、溫度變松,溫度顯示〔LED和CRT曲線〕、溫度控制、通過鍵盤設(shè)定上、下限溫度報(bào)警值,溫度超限報(bào)警〔聲、光〕等功能。1.2實(shí)現(xiàn)方法采用PD-32E實(shí)驗(yàn)裝置實(shí)現(xiàn)〔限≤5人選做〕2.組員分工職務(wù)負(fù)責(zé)的局部吳傳林組長(zhǎng)鍵盤掃描、判斷控制、顯示模塊程序編寫,程序的編譯和調(diào)試唐思組員AD574轉(zhuǎn)換,標(biāo)度變換,控制算法,PWM波生成,程序的編譯和調(diào)試肖驍組員報(bào)警程序、讀入溫度值拆分、鍵盤輸入值合并,報(bào)告撰寫黃定組員硬件局部組成3.1硬件連接1〕8255局部〔第5片〕連線:8255〔5〕的CS結(jié)CS2300H,PA0~PA3接鍵盤P0~P3,PB0~PB3接鍵盤Q0~Q3,PC0接烤箱的PWM控制信號(hào)接收端。AD574連線:AD574的CS接地址輸入端CS7,AD574的12/8接VCC;AD574的A0接GND,AD574的10VIN接其上方的±5V,10VIN接PT100模塊的PT_OUT。蜂鳴器接8255的PC1口。3.2硬件介紹3.2.1AD574AD574A是單片高速12位逐次比擬型A/D轉(zhuǎn)換器,置雙極性電路構(gòu)成的混合集成轉(zhuǎn)換芯片,具有外接元件少,功耗低,精度高等特點(diǎn),并且具有自動(dòng)校零和自動(dòng)極性轉(zhuǎn)換功能,只需外接少量的阻容件即可構(gòu)成一個(gè)完整的A/D轉(zhuǎn)換器,其主要功能特性如下:在CE=1、CS=0同時(shí)滿足時(shí),AD574A才會(huì)正常工作,在AD574處于工作狀態(tài)時(shí),當(dāng)R/C=0時(shí)A/D轉(zhuǎn)換,當(dāng)R/C=1是進(jìn)展數(shù)據(jù)讀出。和A0端用來控制啟動(dòng)轉(zhuǎn)換的方式和數(shù)據(jù)輸出格式。A0=0時(shí),啟動(dòng)的是按完整12位數(shù)據(jù)方式進(jìn)展的。當(dāng)A0=1時(shí),按8位A/D轉(zhuǎn)換方式進(jìn)展。當(dāng)R/C=1,也即當(dāng)AD574A處于數(shù)據(jù)狀態(tài)時(shí),A0和R/C控制數(shù)據(jù)輸出狀態(tài)的格式。當(dāng)R/C=1時(shí),數(shù)據(jù)以12位并行輸出,當(dāng)R/C=0時(shí),數(shù)據(jù)以8位分兩次輸出。而當(dāng)A0=0時(shí),輸出轉(zhuǎn)換數(shù)據(jù)的高8位,A0=1時(shí)輸出A/D轉(zhuǎn)換數(shù)據(jù)的低4位,這四位占一個(gè)字節(jié)的高半字節(jié),低半字節(jié)補(bǔ)零。如果需AD574A工作于單一模式,只需將CE、端接至+5V電源端,和A0接至0V,僅用端來控制A/D轉(zhuǎn)換的啟動(dòng)和數(shù)據(jù)輸出。當(dāng)=0時(shí),啟動(dòng)A/D轉(zhuǎn)換器,經(jīng)25us后STS=1,說明A/D轉(zhuǎn)換完畢,此時(shí)將置1,即可從數(shù)據(jù)端讀取數(shù)據(jù)。3.2.2PT100pt100是鉑熱電阻,它的阻值會(huì)隨著溫度的變化而改變。PT后的100即表示它在0℃時(shí)阻值為100歐姆,在100℃時(shí)它的阻值約為138.5歐姆。它的工作原理:當(dāng)PT100在0攝氏度的時(shí)候他的阻值為100歐姆,它的阻值會(huì)隨著溫度上升而成近似勻速的增長(zhǎng)。但他們之間的關(guān)系并不是簡(jiǎn)單的正比的關(guān)系,而更應(yīng)該趨近于一條拋物線。常見的pt100感溫元件有瓷元件,玻璃元件,云母元件,它們是由鉑絲分別繞在瓷骨架,玻璃骨架,云母骨架上再經(jīng)過復(fù)雜的工藝加工而成。PT100/PT1000鉑電阻RT曲線圖表:圖3.13.2.3芯片82558255是Intel公司生產(chǎn)的可編程并行I/O接口芯片,有3個(gè)8位并行I/O口。具有3個(gè)通道3種工作方式的可編程并行接口芯片〔40引腳〕。其各口功能可由軟件選擇,使用靈活,通用性強(qiáng)。8255可作為單片機(jī)與多種外設(shè)連接時(shí)的中間接口電路。8255作為主機(jī)與外設(shè)的連接芯片,必須提供與主機(jī)相連的3個(gè)總線接口,即數(shù)據(jù)線、地址線、控制線接口。同時(shí)必須具有與外設(shè)連接的接口A、B、C口。由于8255可編程,所以必須具有邏輯控制局部,因而8255部構(gòu)造分為3個(gè)局部:與CPU連接局部、與外設(shè)連接局部、控制局部。圖3.24.操作說明鍵盤上的A鍵為啟動(dòng)鍵,B鍵為復(fù)位鍵,D為設(shè)置溫度上限,E為設(shè)置溫度下限,0-9數(shù)字鍵輸入溫度值。5.設(shè)計(jì)總體思路框圖如下圖:控制器控制器烤箱溫度采集我們采用的是傳統(tǒng)的反應(yīng)控制策略,其具體過程如下:一開場(chǎng),給定一個(gè)輸入信號(hào),即期望溫度,此時(shí),控制程序還沒有起作用,此信號(hào)通過變送器送至繼電器,繼電器導(dǎo)通,使烤箱處于工作狀態(tài)。這時(shí),溫度傳感器就把烤箱的溫度轉(zhuǎn)變成電信號(hào)送至計(jì)算機(jī)中。計(jì)算機(jī)那么將此電信號(hào)與輸入的期望溫度進(jìn)展比擬,通過控制器,根據(jù)不同的設(shè)定及差值,選擇不同的控制算法。由于計(jì)算機(jī)的電信號(hào)都是脈沖信號(hào),因此,可以調(diào)節(jié)脈沖信號(hào)的占空比來調(diào)節(jié)繼電器的斷開與導(dǎo)通的時(shí)間。期望值與測(cè)量值的差距大,就增大占空比,使一個(gè)周期的加熱時(shí)間增長(zhǎng),反之,那么減小占空比。采用上述的控制策略,即可以實(shí)現(xiàn)溫度調(diào)節(jié),到達(dá)控制指標(biāo)的要求。5.1設(shè)計(jì)步驟5.1.1主程序的設(shè)計(jì)首先確定主程序所要實(shí)現(xiàn)的目標(biāo),即:預(yù)設(shè)顯示輸出,輸入溫度上限、溫度下限,輸入設(shè)定溫度值,顯示預(yù)設(shè)溫度,實(shí)時(shí)刷新當(dāng)前溫度并顯示,比擬實(shí)時(shí)溫度與設(shè)定溫度差值并進(jìn)展反應(yīng)控制,控制溫度到達(dá)性能指標(biāo)要求。然后,確定了主程序所要實(shí)現(xiàn)的功能以后,在相應(yīng)的編寫各個(gè)子程序模塊。同時(shí),要考慮在整個(gè)系統(tǒng)實(shí)現(xiàn)的過程中,所要運(yùn)用到的芯片,好進(jìn)展芯片的初始化。如8255,AD574等5.1.2溫度設(shè)定子程序溫度設(shè)定子程序,即,從鍵盤上輸入3個(gè)數(shù)字,將其存放在指定的空間區(qū)域。5.1.3讀取當(dāng)前溫度子程序即AD574的使用過程。首先,先將AD574初始化,啟動(dòng)轉(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)的加熱子程序中。其根本原那么就是:實(shí)際溫度和期望溫度差距越大,加熱子程序中,每個(gè)周期的高電平占空比就越大,假設(shè)設(shè)定值比擬大,那么直接采用滿程輸出。5.1.5報(bào)警子程序烤箱工作時(shí),當(dāng)烤箱溫度超過設(shè)置溫度上限和低于溫度下限時(shí),調(diào)用子程序,否那么跳出子程序;其中接蜂鳴器的控制信號(hào)為第五片8255A的PC1口輸出信號(hào),輸出0時(shí),蜂鳴器發(fā)出警報(bào),輸出為1時(shí),聲音停頓。5.2原理分析制烤箱溫度的系統(tǒng),我們采用反應(yīng)控制算法。利用計(jì)算機(jī)控制中的A/D轉(zhuǎn)換器,將采集到的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),然后送入計(jì)算機(jī)進(jìn)展處理。在計(jì)算機(jī)中,我們編寫了控制算法,將送入的電信號(hào)經(jīng)過該算法,輸出一個(gè)控制繼電器開關(guān)的脈沖信號(hào),我們可以通過調(diào)節(jié)脈沖高電平的占空比,來控制一個(gè)信號(hào)周期加熱時(shí)間的長(zhǎng)短。從而實(shí)現(xiàn)控制。又由于這個(gè)占空比是實(shí)時(shí)變化的,所以,這是一個(gè)變比例系數(shù)的P控制器。利用這個(gè)控制器,我們可以使烤箱的溫度保持在我們所設(shè)定的期望值。6.實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)結(jié)果如下表所示:實(shí)驗(yàn)次數(shù)初始溫度設(shè)定溫度調(diào)節(jié)時(shí)間超調(diào)量誤差1351004℃1.3%2401402℃1.2%3601602℃1.5%4502201℃2%本次設(shè)計(jì)總體上還是比擬成功,根本上實(shí)現(xiàn)了任務(wù)要求。只有調(diào)節(jié)時(shí)間的,可能是冗長(zhǎng)的程序,或者是電烤箱的功率問題,又或者是自己反應(yīng)補(bǔ)償參數(shù)設(shè)計(jì)不夠完善,總之,不能到達(dá)要求的20秒以,此為設(shè)計(jì)的瑕疵。7.原程序清單見附錄48.設(shè)計(jì)感想8.1吳傳林感想作為我們團(tuán)隊(duì)的組長(zhǎng),需要確定適宜的電路,對(duì)電路進(jìn)展調(diào)試,將變送器調(diào)至最適宜的圍。同時(shí)還要確定與硬件相關(guān)的軟件主體思想。一個(gè)工程的成敗,與組長(zhǎng)的整體協(xié)調(diào)能力關(guān)系很大。這次的時(shí)間比擬緊,而且之前沒怎么做過過程控制類的題目,所以可以說是時(shí)間短、任務(wù)重。熱敏電阻PT100之前接觸過,但是沒有和計(jì)算機(jī)連起來使用,也是一個(gè)新的挑戰(zhàn)。這次設(shè)計(jì)我吸取的上次計(jì)算機(jī)硬件課程設(shè)計(jì)的教訓(xùn),學(xué)會(huì)多利用子程序,而不是要把所有的問題都用一個(gè)主程序解決,卻很少使用子程序。這樣,不但別人讀不懂自己的程序,就連自己有時(shí)候都讀不懂自己的程序。這次課程設(shè)計(jì)感覺比以前進(jìn)步的一點(diǎn)就是程序的模塊化思想更加深刻。之前總也用程序段的方式插入的主程序中,而這次那么是盡量減少主程序的容,將所有的處理局部都寫成子程序,設(shè)計(jì)好入口參數(shù),就可以是整個(gè)程序思路清晰,一目了然。一個(gè)好的程序編寫者并不是會(huì)把所有的模塊都自己寫出來,而是可以將自己搜索到的各種模塊與自己的工程結(jié)合,設(shè)計(jì)好接口參數(shù),到達(dá)事半功倍的效果。這次的程序就用了之前做過的一些設(shè)計(jì)的模塊,如實(shí)時(shí)顯示刷新模塊,延時(shí)程序,報(bào)警子程序等。這些之前積累下來的珍貴資料大大加快了本次課程設(shè)計(jì)的速度。通過了這次課程設(shè)計(jì),雖然很累,但過得很充實(shí),收獲也很多,我們將學(xué)到的知識(shí)又重新的復(fù)習(xí)了一遍,在原來的根底上穩(wěn)固了對(duì)理論知識(shí)的理解并且提升了自己的實(shí)踐能力。對(duì)匯編語(yǔ)言的使用有了進(jìn)一步的提高,對(duì)一個(gè)大系統(tǒng)進(jìn)展模塊化分析是以前沒有嘗試過的,分工合作也讓我們學(xué)會(huì)團(tuán)結(jié)互助,讓我們對(duì)團(tuán)隊(duì)合作精神理解得更透徹,對(duì)于我們以后的學(xué)習(xí)或者工作中都有深遠(yuǎn)的意義。8.2唐思感想這次的課程設(shè)計(jì)我們小組總算是順利地完成了。雖然只有短短一個(gè)星期,但讓我真正見識(shí)到了什么是團(tuán)隊(duì)的力量。從接到此次課程設(shè)計(jì)任務(wù)開場(chǎng),大家就分配好了各自的任務(wù),并且經(jīng)常聚在一起各抒己見地討論各個(gè)方案的可行性,氣氛那是十分的熱烈。在我們小組中也許有的同學(xué)能力強(qiáng)些,有些同學(xué)能力沒那么強(qiáng),分工時(shí)能力強(qiáng)的同學(xué)可能任務(wù)就重些,但是大家都沒有任何的怨言,全力地專注于自己的那一局部任務(wù),所以團(tuán)結(jié)協(xié)作是我們小組能順利完成此次課程設(shè)計(jì)的一項(xiàng)非常重要的保證,而這次設(shè)計(jì)也正好鍛煉我們這一點(diǎn),這也是非常珍貴的。我們這次是設(shè)計(jì)對(duì)烤箱溫度控制系統(tǒng),對(duì)于溫度的控制系統(tǒng),我們需要完成溫度的采集,溫度的控制,能通過鍵盤,顯示接口實(shí)現(xiàn)恒溫時(shí)間設(shè)置,系統(tǒng)初始參數(shù)設(shè)置,報(bào)警設(shè)置等功能。我們一起討論,一起研究,經(jīng)過幾番努力,初步編出的程序,問題很多,也總找不到原因,然后參考書上的例題程序,修改了很多,有些問題是子程序與主程序的連接沒弄好,還是很多問題,然后仔細(xì)復(fù)習(xí)書上所學(xué)過的知識(shí),對(duì)我們的程序再次發(fā)現(xiàn)問題,修改問題,后來經(jīng)過屢次的修改最終完成了初步的可行性程序,也算一個(gè)進(jìn)步。在調(diào)試過程中又遇到了烤箱失靈等各種客觀問題,但最終在同學(xué)的協(xié)作以及我們自身的努力下,都將這些困難一一克制并得到了比擬理想的結(jié)果。在這次設(shè)計(jì)中,我主要負(fù)責(zé)的是烤箱控制算法及輸出局部,剛開場(chǎng)的時(shí)候還是出現(xiàn)很多問題,在同學(xué)的幫助以及參考其他組的一些程序后,初步完成了這段程序,然后經(jīng)過自己的屢次修改,完成了這局部的編寫,設(shè)計(jì)了一個(gè)符合烤箱實(shí)際情況的合理算法。在溫度較還遠(yuǎn)未到達(dá)設(shè)定值時(shí),采用滿程的輸出,在接近時(shí),采用PWM波,并且在設(shè)定值不同區(qū)間時(shí)采用不同脈寬的PWM波,當(dāng)設(shè)定值過高時(shí),采用滿程輸出。當(dāng)實(shí)際溫度超過設(shè)定值,立即關(guān)機(jī),待溫度降到設(shè)定值以下再次輸出。經(jīng)過這個(gè)局部的編寫,讓自己明白了很多,課堂上學(xué)的東西遠(yuǎn)遠(yuǎn)不夠,還是需要自己課后的更多的付出和復(fù)習(xí),才能讓自己所學(xué)的東西學(xué)以致用,才能讓書上的知識(shí)變成自己的,也才能讓自己變得更加充實(shí),學(xué)得更多。最后順利地完成了課程設(shè)計(jì),大家心情都很喜悅,雖然過程有點(diǎn)累,但是看到努力后的成果,還是很欣慰。總的來說,通過歷時(shí)一個(gè)星期的課程設(shè)計(jì),發(fā)現(xiàn)了自己的很多缺乏,以及自己知識(shí)的很多漏洞,看到了自己的實(shí)踐經(jīng)歷還是比擬缺乏,理論聯(lián)系實(shí)際的能力還急需提高。經(jīng)過這個(gè)課程設(shè)計(jì),同時(shí)也證明一個(gè)團(tuán)隊(duì)的力量比一個(gè)人的力量大得多,完成一個(gè)復(fù)雜的問題效率也會(huì)高很多,我自己也從此次課程設(shè)計(jì)中學(xué)到了很多東西,實(shí)在是令我受益匪淺。8.3肖驍感想這次課程設(shè)計(jì)讓我體會(huì)到了團(tuán)隊(duì)的溫暖。由于我將要參加研究生入學(xué)考試,所以精力大都放到復(fù)習(xí)考研上面去了。但是我的團(tuán)隊(duì)給了最大的包容和理解,讓我負(fù)責(zé)了較為輕松的報(bào)警程序、將實(shí)際溫度轉(zhuǎn)化為字型碼和將輸入的三個(gè)數(shù)合成一個(gè)數(shù)的子程序編寫。這已經(jīng)不是我第一次團(tuán)隊(duì)合作做課程設(shè)計(jì)了,但是這次讓我最為記憶猶新。本次課程設(shè)計(jì)我們小組做的是烤箱,我的主要工作是報(bào)警子程序的編寫。通過此次課程設(shè)計(jì),總的來說收獲還是挺大的。我的工作是參與了局部子程序的編寫,主要有用報(bào)警子程序,字型碼轉(zhuǎn)化等。這次的課程設(shè)計(jì)我們小組總算是順利地完成了。雖然只有短短一個(gè)星期,但讓我真正見識(shí)到了什么是團(tuán)隊(duì)的力量。從接到此次課程設(shè)計(jì)任務(wù)開場(chǎng),大家就分配好了各自的任務(wù),并且經(jīng)常聚在一起各抒己見地討論各個(gè)方案的可行性。在我們小組中也許有的同學(xué)能力強(qiáng)些,有些同學(xué)能力沒那么強(qiáng),分工時(shí)能力強(qiáng)的同學(xué)可能任務(wù)就重些,但是大家都沒有任何的怨言,全力地專注于自己的那一局部任務(wù),所以團(tuán)結(jié)協(xié)作是我們小組能順利完成此次課程設(shè)計(jì)的一項(xiàng)非常重要的保證,而這次設(shè)計(jì)也正好鍛煉我們這一點(diǎn),這也是非常珍貴的。我們這次是設(shè)計(jì)對(duì)烤箱溫度控制系統(tǒng),對(duì)于溫度的控制系統(tǒng),我們需要完成溫度的采集,溫度的控制,能通過鍵盤對(duì)溫度的顯示,初始參數(shù)設(shè)置,報(bào)警設(shè)置等功能。我們一起討論,一起研究,經(jīng)過幾番努力,初步編出的程序,問題很多,也總找不到原因,然后參考書上的例題程序,修改了很多,有些問題是硬件連線問題,我們的烤箱是低電平有效的,我們還將它接到了地。還有很多問題,然后仔細(xì)復(fù)習(xí)書上所學(xué)過的知識(shí),對(duì)我們的程序再次發(fā)現(xiàn)問題,修改問題,后來經(jīng)過屢次的修改最終完成了初步的可行性程序,也算一個(gè)進(jìn)步。在調(diào)試過程中又遇到了烤箱溫度達(dá)不到等各種客觀問題,但最終在同學(xué)的協(xié)作以及我們自身的努力下,都將這些困難一一克制并得到了比擬理想的結(jié)果。最后順利地完成了課程設(shè)計(jì),大家心情都很喜悅,雖然過程有點(diǎn)累,但是看到努力后的成果,還是很欣慰??偟膩碚f,通過歷時(shí)一個(gè)星期的課程設(shè)計(jì),發(fā)現(xiàn)了自己的很多缺乏,以及自己知識(shí)的很多漏洞,看到了自己的實(shí)踐經(jīng)歷還是比擬缺乏,理論聯(lián)系實(shí)際的能力還急需提高。經(jīng)過這個(gè)課程設(shè)計(jì),同時(shí)也證明一個(gè)團(tuán)隊(duì)的力量比一個(gè)人的力量大得多,完成一個(gè)復(fù)雜的問題效率也會(huì)高很多,我自己也從此次課程設(shè)計(jì)中學(xué)到了很多東西。在一個(gè)星期的時(shí)間里,我們完成了此次課程設(shè)計(jì),雖然付出了很多,但是也收獲了很多。這也讓我明白了一個(gè)道理,大家需要團(tuán)結(jié)在一起才能更大的發(fā)揮自己的能力,效率才會(huì)更高。..--可修編.附錄圖1系統(tǒng)框圖系統(tǒng)框圖PD-32SSR8255烤箱圖1系統(tǒng)框圖PD-32SSR8255烤箱AD574PT100圖2電路原理圖圖3主程序流程圖圖2電路原理圖圖3主程序流程圖警報(bào)執(zhí)行控制算法標(biāo)度變換AD轉(zhuǎn)換鍵盤掃描開場(chǎng)初始化警報(bào)執(zhí)行控制算法標(biāo)度變換AD轉(zhuǎn)換鍵盤掃描開場(chǎng)初始化圖3主程序流程圖否是否執(zhí)行狀態(tài)是否是否否是是否算法1設(shè)定大于100滿輸出輸出標(biāo)志為0設(shè)定值大于實(shí)際值返回算法2設(shè)定大于150差值小于10設(shè)定值-實(shí)際值輸入設(shè)定值開場(chǎng)圖3主程序流程圖否是否執(zhí)行狀態(tài)是否是否否是是否算法1設(shè)定大于100滿輸出輸出標(biāo)志為0設(shè)定值大于實(shí)際值返回算法2設(shè)定大于150差值小于10設(shè)定值-實(shí)際值輸入設(shè)定值開場(chǎng)圖4算法控制流程圖是否返回進(jìn)展100-控制值次循環(huán)送1控制值為0進(jìn)展控制值次循環(huán)送0開場(chǎng)圖4算法控制流程圖是否返回進(jìn)展100-控制值次循環(huán)送1控制值為0進(jìn)展控制值次循環(huán)送0開場(chǎng)圖5執(zhí)行子程序流程圖大于小于小于大于開場(chǎng)返回蜂鳴器送0比擬讀回值與下限蜂鳴器送1比擬讀回值與上限圖5執(zhí)行子程序流程圖大于小于小于大于開場(chǎng)返回蜂鳴器送0比擬讀回值與下限蜂鳴器送1比擬讀回值與上限圖6報(bào)警子程序流程圖圖6報(bào)警子程序流程圖余數(shù)為低位,查表得字型碼返回余數(shù)除以10再查表得次字型碼除以100查表的高位字型碼讀回溫度值開場(chǎng)余數(shù)為低位,查表得字型碼返回余數(shù)除以10再查表得次字型碼除以100查表的高位字型碼讀回溫度值開場(chǎng)圖7溫度轉(zhuǎn)字型碼子程序流程圖圖7溫度轉(zhuǎn)字型碼子程序流程圖..程序代碼:.486CODE SEGMENT USE16 ASSUME CS:CODE ORG 2000HBEG: JMP STARTXISHU1DW5;補(bǔ)償算法系數(shù)1 XISHU2DW3;補(bǔ)償算法系數(shù)2 AJZ DB " ;記錄按鍵的數(shù)值 AJCS DB 0 ;記錄按下鍵的次數(shù) WDSX DW 300 ;上限溫度值 WDXX DW 0 ;下限溫度值 YSWD DW " ;預(yù)設(shè)溫度值 SJWD DW " ;實(shí)際溫度值 ZCWD DW " ;溫度暫存 YSXS DB ","," ;預(yù)設(shè)溫度顯示 SWXS DB ","," ;實(shí)際溫度顯示 SRXS DB ","," ;輸入溫度的三位數(shù)值 ADJG DW 0 ;存放AD轉(zhuǎn)換的結(jié)果 BDBHJG DW 0 ;存放標(biāo)度變換的結(jié)果 ZKB DW 0 ;占空比 LED DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;三色LED字型碼 KEY DB 0EEH,0EDH,0EBH,0E7H,0DEH,0DDH,0DBH,0D7H,0BEH,0BDH,0BBH,0B7H,7EH,7DH,7BH,77H ;鍵特征值START: CALL CSH ;調(diào)用初始化子程序LL0: CALL JPSM ;調(diào)用鍵盤掃描子程序 CALL ADZH;進(jìn)展AD轉(zhuǎn)換 CALL BDBH ;進(jìn)展標(biāo)度變換 CALL XSSW ;顯示實(shí)際溫度值 MOV AL,AJCS CMP AL,4 ;比擬AJCS是否為4,為4的話說明是在溫度控制執(zhí)行狀態(tài) JNZ LL0 ;不等于4,向上跳轉(zhuǎn) CALL KZSF ;調(diào)用控制算法子程序,處理獲得的溫度差 CALL PWM ;調(diào)用產(chǎn)生PWM波形子程序 CALL BJQ ;調(diào)用報(bào)警器子程序 JMP LL0 ;顯示初始化CSH PROC MOV DX,30CH ;第5片8255初始化 MOV AL,90H OUT DX,AL MOV DX,20CH MOV EAX,80808080H ;1~4片8255初始化 OUT DX,EAX MOV DX,208H ;將LED全熄滅 MOV EAX,0F0F0F0FH OUT DX,EAX MOV DX,30CH MOV AL,00000011B ;為第五片8255的PC1、PC0賦值1 OUT DX,AL RETCSH ENDP;鍵盤掃描JPSM PROC PUSHA MOV BL,0F7H ;從Q3列開場(chǎng)掃描SM: MOV AL,BL MOV DX,304H OUT DX,AL ;送出列信號(hào) MOV DX,300H IN AL,DX ;讀入行信號(hào) AND AL,0FH CMP AL,0FH JNZ LL1 ;有鍵按下,跳轉(zhuǎn) ROR BL,1 ;調(diào)整列信號(hào) JC SM JMP JPSM3 ;無鍵按下,跳出程序LL1: ;以列信號(hào)為高四位,行信號(hào)為低四位,形成鍵特征值 SHL BL,4 OR BL,AL CALL DLY_L ;延時(shí)去抖動(dòng)DDSF: MOV AL,0 ;等待釋放 MOV DX,304H OUT DX,AL MOV DX,300H IN AL,DX AND AL,0FH CMP AL,0FH JNZ DDSF LEA SI,KEY ;鍵特征值的首地址 MOV AJZ,0 ;用AJZ記錄下按下鍵的數(shù)值JPSM1: MOV AL,AJZ MOV AH,0 MOV BP,AX CMP BL,[SI+BP] ;按下的鍵從零開場(chǎng)的比擬 JZ JPSM2 INC AJZ JMP JPSM1JPSM2: CALL PANDUAN ;判斷輸入值JPSM3: POPA RETJPSM ENDP;去抖動(dòng)延時(shí)DLY_L PROC PUSH CX MOV CX,0FFFFHDLYL_AGN: NOP LOOP DLYL_AGN POP CX RETDLY_L ENDP;判斷輸入值PANDUAN PROC PUSHA MOV BL,AJZ ;按下的鍵值 MOV BH,AJCS ;按鍵次數(shù) CMP BL,9 JA PAN1 ;大于9跳轉(zhuǎn) CMP BH,2 JA PAN7 ;大于2跳轉(zhuǎn) INC AJCS ;次數(shù)加一 CALL YSZXS;調(diào)用預(yù)設(shè)值顯示子程序 JMP PAN7PAN1: CMP BL,0BH JZ PAN4 ;等于B跳轉(zhuǎn) CMP BL,0CH JZ PAN5 ;等于C跳轉(zhuǎn) CMP BL,0FH JZ PAN7 ;等于F跳轉(zhuǎn) CMP BH,3 ;判斷次數(shù)AJCS是否等于3 JNZ PAN7 ;不等于3跳轉(zhuǎn) CALL ZUHE ;將輸入的三個(gè)數(shù)組合 MOV CX,ZCWD ;將組合好的數(shù)存放在CX CMP BL,0AH JNZ PAN2 ;不等于A跳轉(zhuǎn) CMP CX,WDSX ;與上限溫度比擬 JA PAN7 ;大于上限溫度跳轉(zhuǎn) CMP CX,WDXX ;與下限溫度比擬 PAN7 ;小于下限溫度跳轉(zhuǎn) INC AJCS ;次數(shù)加1,變?yōu)? MOV YSWD,CX ;得到預(yù)設(shè)溫度 JMP PAN7PAN2: CMP BL,0DH JNZ PAN3 ;等于D跳轉(zhuǎn) MOV WDSX,CX ;得到上限溫度 JMP PAN6PAN3: MOV WDXX,CX ;得到下限溫度 JMP PAN6PAN4: CMP BH,3 JA PAN7 ;大于3跳轉(zhuǎn) JMP PAN6PAN5: CMP BH,4 JNZ PAN7 ;不等于4跳轉(zhuǎn)PAN6: MOV AJCS,0 ;次數(shù)清零 MOV DX,20AH ;8255(3)C口地址 MOV AX,0F0FH;預(yù)設(shè)溫度顯示關(guān)閉 OUT DX,AXPAN7: POPA RETPANDUAN ENDP;預(yù)設(shè)值顯示YSZXS PROC PUSHA MOV CL,AJCS LEA BX,LED ;將存放三色LED字型碼地址給BX MOV AL,AJZ ;將按下鍵的數(shù)值給AL,以待查表轉(zhuǎn)換 LEA DI,SRXS ;將存放輸入溫度數(shù)值的地址給DI LEA SI,YSXS ;將存放顯示溫度字型碼的地址給SI MOV DX,20AH ;8255(3)C口地址 CMP CL,1 JZ SH1 ;等于1跳轉(zhuǎn) CMP CL,2 JZ SH2 ;等于2跳轉(zhuǎn) CMP CL,3 JZ SH3 ;等于3跳轉(zhuǎn) JMP SH5SH1: MOV [DI],AL ;將最高位存放 XLAT ;查表轉(zhuǎn)換 MOV [SI],AL ;將最高位的字型碼存放 MOV AX,0F0EH ;LED只顯示最高位,綠色 JMP SH4SH2: MOV [DI+1],AL ;將次高位存放 XLAT MOV [SI+1],AL ;將次高位的字型碼存放 MOV AX,0F0AH ;LED顯示前兩位,綠色 JMP SH4SH3: MOV [DI+2],AL ;將最低位存放 XLAT MOV [SI+2],AL ;將最低位的字型碼存放 MOV AX,0E0AH ;LED顯示三位,綠色 JMP SH4SH4: OUT DX,AX MOV DX,202H ;8255(3)A口地址 LEA SI,YSXS ;將顯示溫度的字型碼地址給SI CALL XIANSHIOUT ;顯示SH5: POPA RETYSZXS ENDP;實(shí)際值顯示XSSW PROC PUSHA CALL ZHUAN ;將實(shí)際溫度轉(zhuǎn)換為字型碼 MOV DX,208H ;8255(1)C口地址 MOV AX,0D05H ;紅色 OUT DX,AX MOV DX,200H ;8255(1)A口地址 LEA SI,SWXS ;將顯示溫度的字型碼地址給SI CALL XIANSHIOUT ;顯示輸出 POPA RETXSSW ENDP;顯示輸出XIANSHIOUT PROC PUSHA MOV AL,[SI] OUT DX,AL ;輸出最高位 INC SI MOV AL,[SI] ADD DX,4 OUT DX,AL ;輸出次高位 INC SI MOV AL,[SI] SUB DX,3 OUT DX,AL ;輸出最低位 POPA RETXIANSHIOUT ENDP;將輸入的三個(gè)數(shù)組合成一個(gè)數(shù)ZUHE PROC PUSHA LEA SI,SRXS ;輸入溫度數(shù)值的地址 MOV CL,10 MOV AL,[SI] MOV AH,0 MUL CL ;最高位乘以10 INC SI ADD AL,[SI] ;加次高位 MUL CL ;和再乘以10 INC SI MOV BL,[SI] MOV BH,0 ADD AX,BX ;再加最低位 MOV ZCWD,AX ;得到溫度值ZUHE1: POPA RETZUHE ENDP;實(shí)際溫度轉(zhuǎn)換為字型碼ZHUAN PROC PUSHA LEA SI,SWXS ;顯示溫度字型碼地址 LEA BX,LED ;三色LED字型碼地址 MOV AX,SJWD ;實(shí)際溫度值 MOV CL,100 DIV CL ;除以100,商是最高位 XLAT MOV [SI],AL ;將最高位的字型碼存放 INC SI MOV AL,AH MOV AH,0 MOV CL,10 DIV CL ;余數(shù)除以10,商是次高位,余數(shù)為最低位 XLAT MOV [SI],AL ;將次高位存放 INC SI MOV AL,AH XLAT MOV [SI],AL ;將最低位存放 POPA RETZHUAN ENDP;標(biāo)度變換子程序BDBH PROCNEAR PUSHA MOV AX,ADJG MOV CX,10 MUL CX MOV CX,3 DIV CX MOV CX,2 MUL CX MOV CX,91 DIV CX MOV BDBHJG,AX ;保存標(biāo)度變換后的結(jié)果 MOV SJWD,AX POPA RETBDBH ENDP;A/D轉(zhuǎn)換子程序ADZHPROCNEAR PUSHA MOV DX,3C0H ;A/D地址 MOV AL,0 ;虛寫,啟動(dòng)12

溫馨提示

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

評(píng)論

0/150

提交評(píng)論