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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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ù)基礎(chǔ)課程設(shè)計(jì)專業(yè):自動(dòng)化組員:吳傳林唐思黃定肖驍XX大學(xué)自動(dòng)化學(xué)院20XX9月目錄733摘要129157序言1301941.設(shè)計(jì)內(nèi)容2123621.1已知參數(shù)和設(shè)計(jì)要求2163751.2實(shí)現(xiàn)方法2241332.組員分工2161403.硬件部分組成3160213.1硬件連接370533.2.1AD5743282503.2.2PT10049053.2.3芯片82554315284.操作說(shuō)明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),來(lái)控制繼電器的開(kāi)斷,從而能夠?qū)崿F(xiàn)控制烤箱加熱與否的控制。本系統(tǒ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ī)內(nèi)對(duì)這些電信號(hào)進(jìn)行處理,經(jīng)過(guò)反饋控制算法來(lái)輸出控制烤箱的電信號(hào)。 關(guān)鍵詞:反饋控制算法,A/D574模數(shù)轉(zhuǎn)換,計(jì)算機(jī)控制序言溫度控制技術(shù)廣泛應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域,如家電、汽車、材料、電力電子等,傳統(tǒng)的溫度控制技術(shù)中最常見(jiàn)的是繼電器調(diào)溫,但由于繼電器動(dòng)作頻繁,溫度控制范圍小,精度不高,可能會(huì)因觸點(diǎn)不良而影響正常工作。最近幾年快速發(fā)展的有PID溫控、模糊控制、神經(jīng)網(wǎng)絡(luò)以及遺傳算法在溫度控制中的應(yīng)用??鞠涫菬崽幚砩a(chǎn)中應(yīng)用最廣的加熱設(shè)備,它電流通過(guò)電熱元件產(chǎn)生熱量,借助輻射和對(duì)流的傳遞方式,將熱量傳遞給所要加熱的物品,使其加熱到所要求的溫度。本文設(shè)計(jì)的烤箱溫度控制系統(tǒng),是利用計(jì)算機(jī)對(duì)其溫度進(jìn)行控制,采用反饋控制算法,以實(shí)現(xiàn)對(duì)烤箱溫度控制,達(dá)到控制性能要求的指標(biāo)。1.設(shè)計(jì)內(nèi)容1.1已知參數(shù)和設(shè)計(jì)要求1.某烤箱的溫度控制要求為:控制烤箱溫度從室溫上升到目標(biāo)溫度并一直保持在該目標(biāo)溫度,要求控制的精度達(dá)±3%,調(diào)節(jié)時(shí)間≤20秒。2.目標(biāo)溫度應(yīng)可以通過(guò)鍵盤任意修改。3.完成溫度檢測(cè)、溫度變松,溫度顯示〔LED和CRT曲線、溫度控制、通過(guò)鍵盤設(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)鍵盤掃描、判斷控制、顯示模塊程序編寫(xiě),程序的編譯和調(diào)試唐思組員AD574轉(zhuǎn)換,標(biāo)度變換,控制算法,PWM波生成,程序的編譯和調(diào)試肖驍組員報(bào)警程序、讀入溫度值拆分、鍵盤輸入值合并,報(bào)告撰寫(xiě)黃定組員硬件部分組成3.1硬件連接18255部分〔第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)換器,內(nèi)置雙極性電路構(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端用來(lái)控制啟動(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,僅用端來(lái)控制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)換結(jié)束,此時(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)該趨近于一條拋物線。常見(jiàn)的pt100感溫元件有陶瓷元件,玻璃元件,云母元件,它們是由鉑絲分別繞在陶瓷骨架,玻璃骨架,云母骨架上再經(jīng)過(guò)復(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內(nèi)部結(jié)構(gòu)分為3個(gè)部分:與CPU連接部分、與外設(shè)連接部分、控制部分。圖3.24.操作說(shuō)明鍵盤上的A鍵為啟動(dòng)鍵,B鍵為復(fù)位鍵,D為設(shè)置溫度上限,E為設(shè)置溫度下限,0-9數(shù)字鍵輸入溫度值。5.設(shè)計(jì)總體思路框圖如圖所示:控制器控制器烤箱溫度采集我們采用的是傳統(tǒng)的反饋控制策略,其具體過(guò)程如下:一開(kāi)始,給定一個(gè)輸入信號(hào),即期望溫度,此時(shí),控制程序還沒(méi)有起作用,此信號(hào)通過(guò)變送器送至繼電器,繼電器導(dǎo)通,使烤箱處于工作狀態(tài)。這時(shí),溫度傳感器就把烤箱內(nèi)的溫度轉(zhuǎn)變成電信號(hào)送至計(jì)算機(jī)中。計(jì)算機(jī)則將此電信號(hào)與輸入的期望溫度進(jìn)行比較,通過(guò)控制器,根據(jù)不同的設(shè)定及差值,選擇不同的控制算法。由于計(jì)算機(jī)內(nèi)的電信號(hào)都是脈沖信號(hào),因此,可以調(diào)節(jié)脈沖信號(hào)的占空比來(lái)調(diào)節(jié)繼電器的斷開(kāi)與導(dǎo)通的時(shí)間。期望值與測(cè)量值的差距大,就增大占空比,使一個(gè)周期內(nèi)的加熱時(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)行反饋控制,控制溫度達(dá)到性能指標(biāo)要求。然后,確定了主程序所要實(shí)現(xiàn)的功能以后,在相應(yīng)的編寫(xiě)各個(gè)子程序模塊。同時(shí),要考慮在整個(gè)系統(tǒng)實(shí)現(xiàn)的過(guò)程中,所要運(yùn)用到的芯片,好進(jìn)行芯片的初始化。如8255,AD574等5.1.2溫度設(shè)定子程序溫度設(shè)定子程序,即,從鍵盤上輸入3個(gè)數(shù)字,將其存放在指定的空間區(qū)域內(nèi)。5.1.3讀取當(dāng)前溫度子程序即AD574的使用過(guò)程。首先,先將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è)定值比較大,則直接采用滿程輸出。報(bào)警子程序烤箱工作時(shí),當(dāng)烤箱溫度超過(guò)設(shè)置溫度上限和低于溫度下限時(shí),調(diào)用子程序,否則跳出子程序;其中接蜂鳴器的控制信號(hào)為第五片8255A的PC1口輸出信號(hào),輸出0時(shí),蜂鳴器發(fā)出警報(bào),輸出為1時(shí),聲音停止。5.2原理分析制烤箱溫度的系統(tǒng),我們采用反饋控制算法。利用計(jì)算機(jī)控制中的A/D轉(zhuǎn)換器,將采集到的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),然后送入計(jì)算機(jī)進(jìn)行處理。在計(jì)算機(jī)中,我們編寫(xiě)了控制算法,將送入的電信號(hào)經(jīng)過(guò)該算法,輸出一個(gè)控制繼電器開(kāi)關(guān)的脈沖信號(hào),我們可以通過(guò)調(diào)節(jié)脈沖高電平的占空比,來(lái)控制一個(gè)信號(hào)周期內(nèi)加熱時(shí)間的長(zhǎng)短。從而實(shí)現(xiàn)控制。又由于這個(gè)占空比是實(shí)時(shí)變化的,所以,這是一個(gè)變比例系數(shù)的P控制器。利用這個(gè)控制器,我們可以使烤箱內(nèi)的溫度保持在我們所設(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)的程序,或者是電烤箱的功率問(wèn)題,又或者是自己反饋補(bǔ)償參數(shù)設(shè)計(jì)不夠完善,總之,不能達(dá)到要求的20秒以內(nèi),此為設(shè)計(jì)的瑕疵。7.原程序清單見(jiàn)附錄48.設(shè)計(jì)感想8.1吳傳林感想作為我們團(tuán)隊(duì)的組長(zhǎng),需要確定合適的電路,對(duì)電路進(jìn)行調(diào)試,將變送器調(diào)至最合適的范圍。同時(shí)還要確定與硬件相關(guān)的軟件主體思想。一個(gè)項(xiàng)目的成敗,與組長(zhǎng)的整體協(xié)調(diào)能力關(guān)系很大。這次的時(shí)間比較緊張,而且之前沒(méi)怎么做過(guò)過(guò)程控制類的題目,所以可以說(shuō)是時(shí)間短、任務(wù)重。熱敏電阻PT100之前接觸過(guò),但是沒(méi)有和計(jì)算機(jī)連起來(lái)使用,也是一個(gè)新的挑戰(zhàn)。這次設(shè)計(jì)我吸取的上次計(jì)算機(jī)硬件課程設(shè)計(jì)的教訓(xùn),學(xué)會(huì)多利用子程序,而不是要把所有的問(wèn)題都用一個(gè)主程序解決,卻很少使用子程序。這樣,不但別人讀不懂自己的程序,就連自己有時(shí)候都讀不懂自己的程序。這次課程設(shè)計(jì)感覺(jué)比以前進(jìn)步的一點(diǎn)就是程序的模塊化思想更加深刻。之前總也用程序段的方式插入的主程序中,而這次則是盡量減少主程序的內(nèi)容,將所有的處理部分都寫(xiě)成子程序,設(shè)計(jì)好入口參數(shù),就可以是整個(gè)程序思路清晰,一目了然。一個(gè)好的程序編寫(xiě)者并不是會(huì)把所有的模塊都自己寫(xiě)出來(lái),而是可以將自己搜索到的各種模塊與自己的項(xiàng)目結(jié)合,設(shè)計(jì)好接口參數(shù),達(dá)到事半功倍的效果。這次的程序就用了之前做過(guò)的一些設(shè)計(jì)的模塊,如實(shí)時(shí)顯示刷新模塊,延時(shí)程序,報(bào)警子程序等。這些之前積累下來(lái)的寶貴資料大大加快了本次課程設(shè)計(jì)的速度。通過(guò)了這次課程設(shè)計(jì),雖然很累,但過(guò)得很充實(shí),收獲也很多,我們將學(xué)到的知識(shí)又重新的復(fù)習(xí)了一遍,在原來(lái)的基礎(chǔ)上鞏固了對(duì)理論知識(shí)的理解并且提升了自己的實(shí)踐能力。對(duì)匯編語(yǔ)言的使用有了進(jìn)一步的提高,對(duì)一個(gè)大系統(tǒng)進(jìn)行模塊化分析是以前沒(méi)有嘗試過(guò)的,分工合作也讓我們學(xué)會(huì)團(tuán)結(jié)互助,讓我們對(duì)團(tuán)隊(duì)合作精神理解得更透徹,對(duì)于我們以后的學(xué)習(xí)或者工作中都有深遠(yuǎn)的意義。8.2唐思感想這次的課程設(shè)計(jì)我們小組總算是順利地完成了。雖然只有短短一個(gè)星期,但讓我真正見(jiàn)識(shí)到了什么是團(tuán)隊(duì)的力量。從接到此次課程設(shè)計(jì)任務(wù)開(kāi)始,大家就分配好了各自的任務(wù),并且經(jīng)常聚在一起各抒己見(jiàn)地討論各個(gè)方案的可行性,氣氛那是十分的熱烈。在我們小組中也許有的同學(xué)能力強(qiáng)些,有些同學(xué)能力沒(méi)那么強(qiáng),分工時(shí)能力強(qiáng)的同學(xué)可能任務(wù)就重些,但是大家都沒(méi)有任何的怨言,全力地專注于自己的那一部分任務(wù),所以團(tuán)結(jié)協(xié)作是我們小組能順利完成此次課程設(shè)計(jì)的一項(xiàng)非常重要的保證,而這次設(shè)計(jì)也正好鍛煉我們這一點(diǎn),這也是非常寶貴的。我們這次是設(shè)計(jì)對(duì)烤箱溫度控制系統(tǒng),對(duì)于溫度的控制系統(tǒng),我們需要完成溫度的采集,溫度的控制,能通過(guò)鍵盤,顯示接口實(shí)現(xiàn)恒溫時(shí)間設(shè)置,系統(tǒng)初始參數(shù)設(shè)置,報(bào)警設(shè)置等功能。我們一起討論,一起研究,經(jīng)過(guò)幾番努力,初步編出的程序,問(wèn)題很多,也總找不到原因,然后參考書(shū)上的例題程序,修改了很多,有些問(wèn)題是子程序與主程序的連接沒(méi)弄好,還是很多問(wèn)題,然后仔細(xì)復(fù)習(xí)書(shū)上所學(xué)過(guò)的知識(shí),對(duì)我們的程序再次發(fā)現(xiàn)問(wèn)題,修改問(wèn)題,后來(lái)經(jīng)過(guò)多次的修改最終完成了初步的可行性程序,也算一個(gè)進(jìn)步。在調(diào)試過(guò)程中又遇到了烤箱失靈等各種客觀問(wèn)題,但最終在同學(xué)的協(xié)作以及我們自身的努力下,都將這些困難一一克服并得到了比較理想的結(jié)果。在這次設(shè)計(jì)中,我主要負(fù)責(zé)的是烤箱控制算法及輸出部分,剛開(kāi)始的時(shí)候還是出現(xiàn)很多問(wèn)題,在同學(xué)的幫助以及參考其他組的一些程序后,初步完成了這段程序,然后經(jīng)過(guò)自己的多次修改,完成了這部分的編寫(xiě),設(shè)計(jì)了一個(gè)符合烤箱實(shí)際情況的合理算法。在溫度較還遠(yuǎn)未達(dá)到設(shè)定值時(shí),采用滿程的輸出,在接近時(shí),采用PWM波,并且在設(shè)定值不同區(qū)間時(shí)采用不同脈寬的PWM波,當(dāng)設(shè)定值過(guò)高時(shí),采用滿程輸出。當(dāng)實(shí)際溫度超過(guò)設(shè)定值,立即關(guān)機(jī),待溫度降到設(shè)定值以下再次輸出。經(jīng)過(guò)這個(gè)部分的編寫(xiě),讓自己明白了很多,課堂上學(xué)的東西遠(yuǎn)遠(yuǎn)不夠,還是需要自己課后的更多的付出和復(fù)習(xí),才能讓自己所學(xué)的東西學(xué)以致用,才能讓書(shū)上的知識(shí)變成自己的,也才能讓自己變得更加充實(shí),學(xué)得更多。最后順利地完成了課程設(shè)計(jì),大家心情都很喜悅,雖然過(guò)程有點(diǎn)累,但是看到努力后的成果,還是很欣慰。總的來(lái)說(shuō),通過(guò)歷時(shí)一個(gè)星期的課程設(shè)計(jì),發(fā)現(xiàn)了自己的很多不足,以及自己知識(shí)的很多漏洞,看到了自己的實(shí)踐經(jīng)驗(yàn)還是比較缺乏,理論聯(lián)系實(shí)際的能力還急需提高。經(jīng)過(guò)這個(gè)課程設(shè)計(jì),同時(shí)也證明一個(gè)團(tuán)隊(duì)的力量比一個(gè)人的力量大得多,完成一個(gè)復(fù)雜的問(wèn)題效率也會(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ù)的子程序編寫(xiě)。這已經(jīng)不是我第一次團(tuán)隊(duì)合作做課程設(shè)計(jì)了,但是這次讓我最為記憶猶新。本次課程設(shè)計(jì)我們小組做的是烤箱,我的主要工作是報(bào)警子程序的編寫(xiě)。通過(guò)此次課程設(shè)計(jì),總的來(lái)說(shuō)收獲還是挺大的。我的工作是參與了部分子程序的編寫(xiě),主要有用報(bào)警子程序,字型碼轉(zhuǎn)化等。這次的課程設(shè)計(jì)我們小組總算是順利地完成了。雖然只有短短一個(gè)星期,但讓我真正見(jiàn)識(shí)到了什么是團(tuán)隊(duì)的力量。從接到此次課程設(shè)計(jì)任務(wù)開(kāi)始,大家就分配好了各自的任務(wù),并且經(jīng)常聚在一起各抒己見(jiàn)地討論各個(gè)方案的可行性。在我們小組中也許有的同學(xué)能力強(qiáng)些,有些同學(xué)能力沒(méi)那么強(qiáng),分工時(shí)能力強(qiáng)的同學(xué)可能任務(wù)就重些,但是大家都沒(méi)有任何的怨言,全力地專注于自己的那一部分任務(wù),所以團(tuán)結(jié)協(xié)作是我們小組能順利完成此次課程設(shè)計(jì)的一項(xiàng)非常重要的保證,而這次設(shè)計(jì)也正好鍛煉我們這一點(diǎn),這也是非常寶貴的。我們這次是設(shè)計(jì)對(duì)烤箱溫度控制系統(tǒng),對(duì)于溫度的控制系統(tǒng),我們需要完成溫度的采集,溫度的控制,能通過(guò)鍵盤對(duì)溫度的顯示,初始參數(shù)設(shè)置,報(bào)警設(shè)置等功能。我們一起討論,一起研究,經(jīng)過(guò)幾番努力,初步編出的程序,問(wèn)題很多,也總找不到原因,然后參考書(shū)上的例題程序,修改了很多,有些問(wèn)題是硬件連線問(wèn)題,我們的烤箱是低電平有效的,我們還將它接到了地。還有很多問(wèn)題,然后仔細(xì)復(fù)習(xí)書(shū)上所學(xué)過(guò)的知識(shí),對(duì)我們的程序再次發(fā)現(xiàn)問(wèn)題,修改問(wèn)題,后來(lái)經(jīng)過(guò)多次的修改最終完成了初步的可行性程序,也算一個(gè)進(jìn)步。在調(diào)試過(guò)程中又遇到了烤箱溫度達(dá)不到等各種客觀問(wèn)題,但最終在同學(xué)的協(xié)作以及我們自身的努力下,都將這些困難一一克服并得到了比較理想的結(jié)果。最后順利地完成了課程設(shè)計(jì),大家心情都很喜悅,雖然過(guò)程有點(diǎn)累,但是看到努力后的成果,還是很欣慰。總的來(lái)說(shuō),通過(guò)歷時(shí)一個(gè)星期的課程設(shè)計(jì),發(fā)現(xiàn)了自己的很多不足,以及自己知識(shí)的很多漏洞,看到了自己的實(shí)踐經(jīng)驗(yàn)還是比較缺乏,理論聯(lián)系實(shí)際的能力還急需提高。經(jīng)過(guò)這個(gè)課程設(shè)計(jì),同時(shí)也證明一個(gè)團(tuán)隊(duì)的力量比一個(gè)人的力量大得多,完成一個(gè)復(fù)雜的問(wèn)題效率也會(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)換鍵盤掃描開(kāi)始初始化警報(bào)執(zhí)行控制算法標(biāo)度變換AD轉(zhuǎn)換鍵盤掃描開(kāi)始初始化圖3主程序流程圖否是否執(zhí)行狀態(tài)是否是否否是是否算法1設(shè)定大于100滿輸出輸出標(biāo)志為0設(shè)定值大于實(shí)際值返回算法2設(shè)定大于150差值小于10設(shè)定值-實(shí)際值輸入設(shè)定值開(kāi)始圖3主程序流程圖否是否執(zhí)行狀態(tài)是否是否否是是否算法1設(shè)定大于100滿輸出輸出標(biāo)志為0設(shè)定值大于實(shí)際值返回算法2設(shè)定大于150差值小于10設(shè)定值-實(shí)際值輸入設(shè)定值開(kāi)始圖4算法控制流程圖是否返回進(jìn)行100-控制值次循環(huán)送1控制值為0進(jìn)行控制值次循環(huán)送0開(kāi)始圖4算法控制流程圖是否返回進(jìn)行100-控制值次循環(huán)送1控制值為0進(jìn)行控制值次循環(huán)送0開(kāi)始圖5執(zhí)行子程序流程圖大于小于小于大于開(kāi)始返回蜂鳴器送0比較讀回值與下限蜂鳴器送1比較讀回值與上限圖5執(zhí)行子程序流程圖大于小于小于大于開(kāi)始返回蜂鳴器送0比較讀回值與下限蜂鳴器送1比較讀回值與上限圖6報(bào)警子程序流程圖圖6報(bào)警子程序流程圖余數(shù)為低位,查表得字型碼返回余數(shù)除以10再查表得次字型碼除以100查表的高位字型碼讀回溫度值開(kāi)始余數(shù)為低位,查表得字型碼返回余數(shù)除以10再查表得次字型碼除以100查表的高位字型碼讀回溫度值開(kāi)始圖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的話說(shuō)明是在溫度控制執(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列開(kāi)始掃描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 ;無(wú)鍵按下,跳出程序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] ;按下的鍵從零開(kāi)始的比較 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 ;與下限溫度比較 JB 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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論