




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
題目:自動加熱限制系統(tǒng)設(shè)計(jì)摘要目前,很多場合都須要自動加熱限制系統(tǒng),如鍋爐、金屬熱處理等工業(yè)生產(chǎn)中。自動加熱限制系統(tǒng)改善了生產(chǎn)條件差、限制精度低、資源利用率低等問題。本文設(shè)計(jì)了一個(gè)可用于金屬熱處理的自動加熱限制系統(tǒng),系統(tǒng)接受STC89C52單片機(jī)作為系統(tǒng)限制處理核心,接受數(shù)字化的溫度傳感器DS18B20采集水箱溫度信息,并與設(shè)定值比較,計(jì)算出偏差,由固態(tài)繼電器作為電加熱爐的限制開關(guān),限制器其導(dǎo)通時(shí)間。實(shí)測溫度與給定值由LED顯示。此外,還設(shè)置了溫度報(bào)警功能,當(dāng)期望值與實(shí)測值溫差較大時(shí)進(jìn)行故障聲光報(bào)警。論文著重介紹了系統(tǒng)的硬件及軟件設(shè)計(jì)。初步試驗(yàn)表明:該系統(tǒng)達(dá)到設(shè)計(jì)任務(wù)要求。該系統(tǒng)的電路結(jié)構(gòu)簡潔,具有人工設(shè)定、自動調(diào)整、報(bào)警顯示等功能。本系統(tǒng)接受單片機(jī)限制,具有成本低、牢靠性好、結(jié)構(gòu)簡潔、限制實(shí)力強(qiáng)等特點(diǎn)。因此,可很多領(lǐng)域都得到應(yīng)用。關(guān)鍵詞:單片機(jī),DS18B20,固態(tài)繼電器ABSTRACTAtpresent,manyoccasionstheneedforautomaticheatingcontrolsystem,suchastheboiler,theheattreatmentofmetalsinindustrialproduction.Automaticheatingcontrolsystemtoimprovetheproductionconditionsarepoor,lowcontrolprecision,resourceutilizationrateislowproblem.
Thispaperintroducesthedesignofacanbeusedinmetalheattreatmentautomaticheatingcontrolsystem,thesystemadoptsSTC89C52chipasthesystemcontrolprocessorcore,theapplicationofdigitaltemperaturesensorDS18B20temperatureinformationcollectionwatertank,andiscomparedwiththesetvalue,calculatethedeviation,bysolidstaterelayastheelectricheatingfurnacecontrolswitch,controlleroftheconductiontime.ThemeasuredtemperatureandagivenvaluebytheLEDdisplay.Inaddition,alsosetupatemperaturealarmfunction,thedesiredvalueandthemeasuredvalueoflargetemperaturedifferencewhenthefaultalarm.Thispapermainlyintroducesthesystemhardwareandsoftwaredesign.Preliminaryexperimentsshowthat:thesystemreachthedesignrequirements.Thesystemhastheadvantagesofsimplecircuitstructure,withartificialsettings,automaticcontrol,alarmdisplayandotherfunctions.
Thissystemadoptssingle-chipmicrocomputercontrol,hastheadvantagesoflowcost,goodreliability,simplestructure,strongcontrolabilityandothercharacteristics.Therefore,manyareashavebeenapplied.KEYWORDS:Singlechipmicrocomputer,DS18B20,SolidStateRelay第一章前言1.1選題的背景意義隨著我國經(jīng)濟(jì)的快速發(fā)展,能源短缺已成為制約我國工業(yè)發(fā)展的重要阻礙,社會各界都對此主動關(guān)注。此外,溫濕度的自動化限制已經(jīng)在工業(yè)生產(chǎn)中得到了廣泛的應(yīng)用。因此,自動加熱限制系統(tǒng)的出現(xiàn)極大地解決了能源利用率的問題,有效地改善了目前資源奢侈和利用率低等問題。自動加熱限制系統(tǒng)極大地便利了以前生產(chǎn)條件差、限制精度低、資源利用率低等問題。溫度限制系統(tǒng)在國內(nèi)各行各業(yè)雖得到了廣泛的應(yīng)用,但就我國目前生產(chǎn)的溫度限制器來講,總體發(fā)展水平仍舊存在很多問題,存在很多弊端。目前,很多場合都須要自動加熱限制系統(tǒng),如鍋爐、石油、化工、冶金、機(jī)械、熱處理、建材、電子、材料、輕工業(yè)、制藥、表面處理等工業(yè)生產(chǎn)中。在比如好多都與我們?nèi)粘I罹o密相關(guān)的空調(diào)、電熱毯、電飯鍋、電磁爐、電暖氣、打印機(jī)、吹風(fēng)機(jī)等也都不同程度的應(yīng)用了自動加熱限制系統(tǒng)。現(xiàn)在,我國正主見節(jié)能減排。因此,設(shè)計(jì)一套完善可行的自動加熱限制系統(tǒng)具有巨大的經(jīng)濟(jì)意義和環(huán)保價(jià)值。自動加熱限制系統(tǒng)與我們生活緊密聯(lián)系,所以它的需求將會有一個(gè)特別可觀的發(fā)展前景,況且,目前我國自動加熱器的發(fā)展還不是很成熟,綜合國力還有待提高,21世紀(jì)賜予我們更多的機(jī)遇,同時(shí)也給了我們更大的挑戰(zhàn),只有提高我國的綜合國力,大力加強(qiáng)科技教化投資力度,讓我國的科技更加提高,這樣才能立足世界不敗之林!加熱溫度限制系統(tǒng)的設(shè)計(jì)有很多不同的方案,有的是接受手動限制,繼電器限制,可控硅晶閘管限制等。1.2國內(nèi)外探討方案目前國內(nèi)的主要限制方法:手動限制、溫度儀表顯示;依次限制器;全PLC限制;專用電腦限制加熱形式有:1.電阻加熱式這也正是國內(nèi)絕大多數(shù)廠家接受的方式,其特點(diǎn)是鍋水不帶電2.電磁感應(yīng)加熱式其原理是當(dāng)電流通過加熱線圈時(shí),就會形成電磁場,把金屬鋁殼至于電磁場中就會使?fàn)t殼產(chǎn)生渦流并導(dǎo)致其發(fā)熱,從而完成對鍋水加熱的目的。傳統(tǒng)的自動限制加熱系統(tǒng)普遍接受繼電器限制技術(shù),依據(jù)繼電器的導(dǎo)通與關(guān)斷來限制加熱設(shè)備的加熱。由于傳統(tǒng)繼電器接受固定接線的硬件實(shí)現(xiàn)邏輯限制,使限制系統(tǒng)的體積增大,耗電多,效率不高并且因?yàn)榻泳€繁多簡潔出現(xiàn)故障,不能保證產(chǎn)品的質(zhì)量以及正常的工業(yè)生產(chǎn)。國外的主要形式有:PID限制、模糊限制、神經(jīng)網(wǎng)絡(luò)和遺傳算法等。1.3我的可選方案經(jīng)分析國內(nèi)外的現(xiàn)狀及我們完成的可行性,經(jīng)探討確定我們的思路是:方案一:自動加熱限制系統(tǒng)接受單片機(jī)為核心進(jìn)行限制。期望溫度值由電位器電路經(jīng)過A/D轉(zhuǎn)換后得到,然后與數(shù)字溫度傳感器DS18B20的測量結(jié)果進(jìn)行比較,這樣可能會存在偏差,假如偏差存在,則再經(jīng)PID調(diào)整,再進(jìn)行D/A轉(zhuǎn)換、運(yùn)算放大器放大,然后再和555定時(shí)器產(chǎn)生的三角波進(jìn)行比較得到脈沖信號,該脈沖信號的高電平使IGBT導(dǎo)通以限制電阻絲加熱,再用數(shù)字溫度傳感器測溫,構(gòu)成閉環(huán)。直至測量的溫度與期望值相等,最終經(jīng)LED顯示實(shí)測值。設(shè)計(jì)的主要內(nèi)容包括52最小系統(tǒng)、電位器電路、A/D轉(zhuǎn)換模塊、D/A轉(zhuǎn)換模塊、555定時(shí)器模塊、運(yùn)算放大器和比較器、加熱和測量模塊、顯示模塊。方案二:利用單片機(jī)作為最小系統(tǒng)進(jìn)行限制,期望溫度值由電位器電路經(jīng)過A/D轉(zhuǎn)換后得到,實(shí)測溫度值通過DS18B20測得,然后將期望值與實(shí)測值的進(jìn)行比較,但這樣可能會存在偏差,假如偏差為正,則固態(tài)繼電器吸合,電爐起先加熱,假如偏差為負(fù),則固態(tài)繼電器不吸合,直至測量的溫度與期望值相等,最終經(jīng)LED顯示。此外,本設(shè)計(jì)還設(shè)置了溫度報(bào)警功能,當(dāng)期望值與實(shí)測值溫差較大時(shí)進(jìn)行報(bào)警警示,溫差較小時(shí)則不報(bào)警。這樣有利于提示工作人員更好的進(jìn)行溫度限制,而且,我們接受了燈光和蜂鳴器雙報(bào)警,這樣就避開了一個(gè)報(bào)警出現(xiàn)問題,導(dǎo)致不能正常報(bào)警,使其出現(xiàn)誤差。同時(shí),對于有的噪聲干擾大的工作環(huán)境中,接受聲源報(bào)警可能無法正確識別;而對于有的能見度低的工作環(huán)境中,接受燈光報(bào)警也不利于識別。因此,接受雙報(bào)警有效地避開了報(bào)警誤差。設(shè)計(jì)的主要內(nèi)容包括52最小系統(tǒng)、電位器電路、A/D轉(zhuǎn)換模塊、加熱和測量模塊、顯示模塊、報(bào)警模塊。最終,我們以方案一為主,方案二作為預(yù)備方案,實(shí)現(xiàn)對水溫的檢測限制。其次章總體設(shè)計(jì)方案2.1設(shè)計(jì)指標(biāo)1.限制加熱爐中水溫的恒定;2.接受位式調(diào)整規(guī)律;3.運(yùn)行起先后,可顯示瞬時(shí)溫度和設(shè)定溫度值;4.具有上下限報(bào)警功能;5.可以實(shí)時(shí)設(shè)置期望溫度值;2.2系統(tǒng)概述本課題所設(shè)計(jì)的自動加熱限制系統(tǒng)主要包括兩部分:硬件電路及軟件程序。硬件電路接受ATMEL公司的AT89C52作為主處理器,系統(tǒng)主要由信號采集、A/D轉(zhuǎn)換、數(shù)據(jù)處理輸出、LED顯示等模塊組成。各部分電路的設(shè)計(jì)及原理將會在硬件電路設(shè)計(jì)部分具體介紹;程序的設(shè)計(jì)運(yùn)用C語言編程,利用Keil軟件對其編譯和仿真,具體的設(shè)計(jì)算法將會在程序設(shè)計(jì)部分具體介紹。系統(tǒng)限制原理框圖如下:測量值——被控變量偏差給定值測溫傳感器測量值——被控變量偏差給定值測溫傳感器限制器執(zhí)行器被控對象圖2-1限制原理框圖首先給定一個(gè)溫度期望值然后與測量值進(jìn)行比較,將得到后的偏差通過限制器再經(jīng)過調(diào)整限制執(zhí)行器對加熱設(shè)備進(jìn)行加熱,然后經(jīng)測溫傳感器進(jìn)行測溫,將實(shí)測值再與期望值進(jìn)行比較,直至實(shí)測值與期望值相符合。2.3系統(tǒng)總體方案2.3.1方案一的系統(tǒng)總體方案框圖————比較器電位器比較器電位器A/D限制器D/ANE555IGBT加熱杯測溫元件圖2-2方案一系統(tǒng)總體方案方案二的系統(tǒng)總體方案框圖溫度值溫度值————電位器A/D電位器A/D限制器繼電器加熱杯測溫元件圖2-3方案二的系統(tǒng)總體方案2.4限制方案選擇在實(shí)際的溫度測量系統(tǒng)中,常用的限制方法有開關(guān)限制和PID限制等。開關(guān)限制的輸出規(guī)律是依據(jù)輸入的偏差的正負(fù),限制器的輸出為最大或最小。這種限制方法比較簡潔,易于實(shí)現(xiàn)。但其存在肯定的滯后,使得溫度在設(shè)定值旁邊有肯定的波動,不適合高精度的溫度限制中。PID限制具有較強(qiáng)的適用范圍,可適用于限制對象慣性較大且限制精度要求較高的場合。這種限制既能快速限制,又能消退余差,具有較好的限制技能。開關(guān)限制介紹開關(guān)限制又稱雙位限制,其限制器只有最大或最小兩個(gè)輸出值,相應(yīng)的執(zhí)行器只有開和關(guān)兩個(gè)極限位置。志向的雙位限制器其輸出y與輸入偏差error之間的關(guān)系為:志向的雙位限制特性如圖:圖2-4雙位限制特性2.4.2PID限制介紹在過程限制中,按偏差的比例(P)、積分(I)和微分(D)進(jìn)行限制的PID限制是應(yīng)用最為廣泛的一種自動限制器。它具有原理簡潔,易于實(shí)現(xiàn),適用面廣,限制參數(shù)相互獨(dú)立,參數(shù)的選定比較簡潔等優(yōu)點(diǎn);因此PID限制器是一種最優(yōu)限制。參數(shù)的選擇:
①比例系數(shù)P對系統(tǒng)性能的影響:在連續(xù)限制方式中,最基本的限制規(guī)律就是比例限制。比例系數(shù)越大,放大倍數(shù)就越大,將偏差放大的實(shí)力越強(qiáng),限制力度也就越強(qiáng),反之亦然。比例限制的優(yōu)點(diǎn)是限制剛好、反應(yīng)靈敏,偏差越大,限制力度越強(qiáng),但其缺點(diǎn)是限制結(jié)果存在余差。②積分限制I對系統(tǒng)性能的影響:為了消退比例限制器中的余差,在比例的基礎(chǔ)上加入積分調(diào)整器,就可以輕松的解決,從而提高系統(tǒng)的限制精度。但積分的作用是隨著時(shí)間的積累才漸漸增加的,限制動作緩慢,限制不剛好。
③微分限制D對系統(tǒng)性能的影響:對于慣性較大的對象,受到干擾作用的初始時(shí)刻偏差很小。假如用比例限制,偏差值很小時(shí),限制作用也很小,因此,比例限制對于慣性較大的對象限制過程緩慢,限制品質(zhì)不佳。微分的特點(diǎn)是能起到超前限制的作用。能在偏差很小時(shí),提前增大限制作用。對于慣性大的對象用比例微分,可以改善限制品質(zhì),減小最大偏差,縮短限制時(shí)間。但當(dāng)偏差存在但不改變時(shí),限制作用為零。基于以上特點(diǎn),將比例(P)、積分(I)、微分(D)結(jié)合起來組成PID限制器可以有效地改善限制性能。數(shù)字PID算法的增量表達(dá)式為:Δu(k)=P[e(k)-e(k-1)]+Ie(k)+D[e(k)-2e(k-1)+e(k-2)]變形為:Δu(k)=(P+I+D)e(k)-(P+2D)e(k-1)+De(k-2)其中,k表示第k次采樣,X(k)為設(shè)定溫度,Y(k)為實(shí)際水溫,u(k)為限制量,誤差為e(k)=X(k)-Y(k)。2.5軟件設(shè)計(jì)任務(wù)軟硬分工后,軟件部分完成的任務(wù):開機(jī)后首先進(jìn)行初始化,然后將給定溫度值經(jīng)A/D轉(zhuǎn)換后顯示出來,由于我們既要看到給定值又要看到實(shí)測值,否則難以推斷當(dāng)前溫度是否符合給定的溫度值,但我們又不想占用太多的單片機(jī)口線,所以我們接受一個(gè)四位LED數(shù)碼管顯示,通過一個(gè)按鍵的開關(guān)兩種狀態(tài)限制顯示哪個(gè)溫度值,這樣只需在程序中進(jìn)行選擇即可。實(shí)測值接受DS18B20進(jìn)行測溫,將這兩個(gè)溫度值進(jìn)行比較,推斷是否符合誤差范圍,假如符合接著測溫比較;假如不符合,推斷是須要加熱還是須要降溫,然后進(jìn)行相應(yīng)的限制,直到符合誤差范圍,然后在測溫比較,返回接著推斷。第三章硬件系統(tǒng)設(shè)計(jì)3.1主限制器的選擇這次設(shè)計(jì)接受的是Atmel公司生產(chǎn)的AT89C52單片機(jī),目前,單片機(jī)產(chǎn)品百花齊放,各具特色,互為互補(bǔ)。單片機(jī)有著一般的微處理器芯片所不具有的功能,他可以獨(dú)立的完成現(xiàn)代工業(yè)限制場所要求的智能化限制功能,其應(yīng)用領(lǐng)域也在不斷擴(kuò)大。AT89C52單片機(jī)片內(nèi)含有可編程Flash存儲單元,用戶可以很便利地進(jìn)行程序的擦寫操作;同時(shí)還含有12B的隨機(jī)存取數(shù)據(jù)存儲器(RAM)。AT89C52單片機(jī)屬于AT89C51單片機(jī)的增加型,其主要工作特性是:片內(nèi)程序存儲器內(nèi)含有的8KB的Flash程序存儲器,可擦寫壽命為1000次;片內(nèi)數(shù)據(jù)存儲器內(nèi)含256字節(jié)的RAM;有32根可編程I/O口線;有3個(gè)可編程定時(shí)器;8個(gè)中斷源;串行口是具有一個(gè)全雙工的可編程串行通信口;具有一個(gè)數(shù)據(jù)指針DPTR;低功耗工作模式有空閑模式和掉電模式;工作電源電壓為+5V;最高工作頻率為24MHz。因?yàn)锳T89C52的價(jià)格比較便宜、編程簡潔、支持在線下載程序,適合初學(xué)者學(xué)習(xí)運(yùn)用,所以我們這次接受AT89C52作為主限制器。單片機(jī)引腳圖為:圖3.1單片機(jī)的引腳圖3.2溫度信號采集部分方案一:接受熱敏電阻。利用半導(dǎo)體電阻值隨溫度呈顯著改變的特性制成的熱敏元件。但熱敏電阻的互換性差,非線性嚴(yán)峻,溫度和電阻關(guān)系是指數(shù)關(guān)系。方案二:接受熱電偶。熱電偶是一種發(fā)電型的溫敏元件,它將溫度信號轉(zhuǎn)換成電動勢信號,配以測量電動勢信號的儀表就可實(shí)現(xiàn)溫度的測量。其優(yōu)點(diǎn)為:①測量精度高。精度可達(dá)0.1~0.2℃。具有良好的復(fù)現(xiàn)性和穩(wěn)定性。
②動態(tài)特性好。它的測量端可以制成很小的接點(diǎn),響應(yīng)速度快,時(shí)間常數(shù)可以達(dá)到毫秒級甚至微妙級。③構(gòu)造簡潔,制造極其便利。通常是由兩種不同的金屬絲組構(gòu)成,而且不受大小和開頭的限制,外面設(shè)有愛護(hù)管套,運(yùn)用用起來特別便利。方案三:接受DS18B20。DS18B20是DALLAS公司生產(chǎn)的一種單總線系統(tǒng)的數(shù)字溫度傳感器。他能供應(yīng)9位溫度讀數(shù),辨別力為0.5℃,可在-55℃~+125℃的范圍內(nèi)測量。每一個(gè)DS18B20有唯一的系列號因此同一條單線總線上可以放多個(gè)DS18B20,特別便利。DS18B20的主要特點(diǎn):用戶可自設(shè)定報(bào)警上下限溫度值不須要外部組件,能在-55℃~+125℃的范圍內(nèi)進(jìn)行溫度的測量在-10℃~+85℃范圍內(nèi)的精確度為±0.5℃通過編程可以實(shí)現(xiàn)9到12位的數(shù)字讀數(shù),測溫辨別率達(dá)0.0625℃單總線接口方式,僅用一條線就可實(shí)現(xiàn)與微處理器的雙向通信經(jīng)過比較后我們發(fā)覺DS18B20優(yōu)越于其它兩種方案,所以我們接受方案三。采集電路如圖所示:圖3.2采集電路部分 3.3給定溫度電路通常溫度設(shè)定值由按鍵給定,但這樣會使電路困難;用電位器電路給定會簡化電路,便利調(diào)整。本設(shè)計(jì)接受電位器電路給定初始值,須要用到AD轉(zhuǎn)換電路。給定溫度電路圖如圖所示。圖3.3給定溫度電路3.4顯示部分本設(shè)計(jì)接受四位一體LED作為顯示模塊其圖片為:圖3.4.1LED顯示屏它與單片機(jī)的連接如圖所示:圖3.4.2LED與單片機(jī)的連接圖3.5報(bào)警電路本設(shè)計(jì)接受發(fā)光二極管報(bào)警和蜂鳴器報(bào)警,即聲光雙報(bào)警,削減了單個(gè)報(bào)警不正常工作后帶來的弊端,同時(shí)雙報(bào)警的應(yīng)用范圍比較廣袤。其報(bào)警電路圖為:圖3.5報(bào)警電路部分方案一較方案二相比除了上述部格外,還要D/A轉(zhuǎn)換電路、三角波電路以及執(zhí)行器電路等模塊。第四章軟件設(shè)計(jì)部分 這次軟件設(shè)計(jì)由以下幾部分組成:DS18B20溫度采集部分,數(shù)據(jù)處理部分,AD轉(zhuǎn)換部分,顯示部分以及聲光報(bào)警部分。接受模塊化將各個(gè)模塊分別編程,最終接受子程序調(diào)用將程序融為一體,使程序編程簡潔,結(jié)構(gòu)清楚,易于改正錯(cuò)誤。在這里將對各個(gè)模塊的流程設(shè)計(jì)做出說明,并給出了各自的程序流程圖。4.1主程序設(shè)計(jì)本系統(tǒng)接受DS18B20進(jìn)行測溫。通過調(diào)整電位器阻值的大小設(shè)定給定值,將該給定值經(jīng)過A/D轉(zhuǎn)換后通過LED顯示。給定值和設(shè)定值的偏差通過PID限制算法進(jìn)行整定計(jì)算出限制量,然后和555構(gòu)成的多諧振蕩器生成的三角波進(jìn)行比較,得到PWM脈沖對絕緣柵雙極型晶體管(IGBT)進(jìn)行限制,由于占空比的不同,IGBT的導(dǎo)通時(shí)間就不同,這樣就可以限制加熱時(shí)間的長短。其主程序流程圖如下所示:否是A/D轉(zhuǎn)換和測溫起先否是A/D轉(zhuǎn)換和測溫起先初始化比較偏差是否為零PID調(diào)整D/A轉(zhuǎn)換返回圖4.1程序主流程圖主函數(shù)的定義voidmain(){initial();//調(diào)用初始化函數(shù)while(1){adc0809();ds18b20();if(aj==1) { Delay_ms(10); b20display(); }elseif(aj==0){Delay_ms(10);display(); } jrbj();}}4.2ADC0809模塊4.2.1ADC0809引腳及功能介紹ADC0809為28引腳的雙列直插式封裝,其引腳如下:IN0~IN7:模擬量輸入通道。ADDA、ADDB、ADDC:模擬通道地址線。用于對模擬通道進(jìn)行選擇,其通道選擇表如下所示:表1ADC0809通道選擇表C(ADDC)B(ADDB)A(ADDA)選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7ALE:地址鎖存信號,對應(yīng)于ALE上跳沿時(shí),ADDA、ADDB、ADDC地址狀態(tài)送入地址鎖存器中。START:轉(zhuǎn)換啟動信號。在START信號上跳時(shí),全部內(nèi)部寄存器清0;在START信號下跳時(shí),起先進(jìn)行A/D轉(zhuǎn)換。(轉(zhuǎn)換期間START保持低電平)D7~D0:數(shù)據(jù)輸出線。OE:輸出允許信號。OE=0時(shí),輸出數(shù)據(jù)線呈高阻狀態(tài);OE=1時(shí)允許輸出。CLK:時(shí)鐘信號。須要外部供應(yīng),內(nèi)部沒有。EOC:轉(zhuǎn)移結(jié)束狀態(tài)信號。當(dāng)EOC=0時(shí),表示正在進(jìn)行轉(zhuǎn)換;當(dāng)EOC=1時(shí),表示轉(zhuǎn)換結(jié)束。(可作為查詢信號,也可作為中斷懇求求信號)VCC:+5電源VREF:參考電壓(VREF(+)=+5V、VREF(-)=0V)4.2.2A/D轉(zhuǎn)換流程圖由于本系統(tǒng)只須要采集一路信號,故可將A/D轉(zhuǎn)化器的地址信號全部干脆接地,這樣在軟件編程時(shí)就不須要設(shè)置ADC0809的地址信號。A/D采樣時(shí)先對ADC0809進(jìn)行初始化,然后給ADC0809的START端子一個(gè)上升沿和下降沿,啟動A/D;然后單片機(jī)讀取ADC0809的EOC端信號,假如此信號為高電平,則說明A/D轉(zhuǎn)換結(jié)束,單片機(jī)給ADC0809的OE端子一個(gè)高電平,讀取轉(zhuǎn)換后的采樣值。A/D采樣流程圖如下圖所示:NOYES開NOYES開始初始化A/D啟動A/D推斷A/D轉(zhuǎn)換是否結(jié)束讀取A/D值返回圖4.2AD轉(zhuǎn)換流程圖4.2.3A/D轉(zhuǎn)換子程序#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f};uchardisp[4];//定義數(shù)組變量uchartd[]={0xf7,0xfb,0xfd,0xfe};sbitEOC=P3^2;//定義EOC引腳sbitOE=P3^1;//定義OE引腳sbitST=P3^0;//定義START引腳sbitCLK=P3^3;sbitxsd=P1^7;//定義數(shù)碼管小數(shù)點(diǎn)inttemp,getdata;voiddelay(uintz);voiddisplay();voidinitial();voidmain(){initial();//調(diào)用初始化函數(shù)while(1) { OE=0;//剛起先禁止將轉(zhuǎn)換結(jié)果輸出ST=0;ST=1;ST=0;//啟動A/D轉(zhuǎn)換起先while(EOC==0);//等待轉(zhuǎn)換結(jié)束OE=1;//允許轉(zhuǎn)換結(jié)果輸出getdata=P0;//將轉(zhuǎn)換結(jié)果賦值給變量getdataOE=0;//禁止轉(zhuǎn)換結(jié)果輸出 temp=getdata*1.0*5*25*10/255;//將得到的數(shù)據(jù)進(jìn)行處理disp[0]=temp%10;//取得個(gè)位數(shù)disp[1]=temp/10%10;//取得十位數(shù)disp[2]=temp/100%10;//取得百位數(shù)disp[3]=temp/1000;//取得千位數(shù)display();//調(diào)用顯示子程序}}voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=115;y>0;y--);}voidinitial(){TMOD=0x01;TH0=(65536-20)/256;TL0=(65536-20)%256;EA=1;ET0=1;TR0=1;}voidtimer0()interrupt1//給AD0809供應(yīng)25KHz的時(shí)鐘脈沖{TH0=(65536-20)/256;TL0=(65536-20)%256;CLK=~CLK;}voiddisplay()//將顯示結(jié)果在數(shù)碼管中顯示{uchari,temperature;for(i=0;i<4;i++){P2=td[i];P1=table[disp[i]];if(i==1)xsd=1; delay(1); }}4.3溫度傳感器DS18B20模塊4.3.1引腳及功能腳介紹溫度傳感器DS18B20有3個(gè)管腳:VCC為電源接口即可由數(shù)據(jù)線供應(yīng)電源,又可由外部供應(yīng)電源,范圍3.0V~5.5V。GND為接地線。DQ為數(shù)據(jù)輸入輸出接口。DS18B20溫度傳感器的內(nèi)部存儲器包括一個(gè)高速暫存RAM和一個(gè)非易失性的電可擦除的EEPROM。當(dāng)DS18B20接收到溫度轉(zhuǎn)換吩咐后,起先啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲在高速暫存存儲器的0、1字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后。DS18B20的工作協(xié)議:初始化→ROM操作吩咐→存儲器操作吩咐→處理數(shù)據(jù)。ROM操作吩咐,如表2所示表2ROM操作吩咐指令說明讀ROM(33H)讀DS18B20的序列號匹配ROM(55H)接著讀完64位序列號的吩咐,用于多個(gè)DS18B20時(shí)定位跳過ROM(CCH)此吩咐執(zhí)行后的存儲器操作將針對在線全部DS18B20搜ROM(F0H)識別總線上各器件的編碼,為操作各器件做打算報(bào)警搜尋(ECH)僅溫度越限的器件對此吩咐做出響應(yīng)存儲器操作指令,如表3所示表3DS18B20存儲器限制吩咐指令說明溫度轉(zhuǎn)換(44H)啟動在線DS18B20作溫度A/D轉(zhuǎn)換讀數(shù)據(jù)(BEH)從高速暫存器讀9位溫度值和CRC寫數(shù)據(jù)(4EH)將數(shù)據(jù)寫入高速暫存的第3和第4字節(jié)中復(fù)制(48H)將高速暫存器中的第3和第4字節(jié)復(fù)制到EERAM讀EERAM(B8H)將EERAM內(nèi)容寫入高速暫存器中的第3和第4字節(jié)讀電源供電方式(B4H)了解DS18B20的供電方式4.3.2DS18B20程序流程圖DS18B20溫度傳感器是單總線式芯片,故對其讀寫都應(yīng)當(dāng)是一位一位的進(jìn)行,而且DS18B20的讀寫有著固定的時(shí)序。利用DS18B20采集溫度數(shù)據(jù)時(shí),應(yīng)先對其進(jìn)行初始化,由單片機(jī)發(fā)出一個(gè)復(fù)位脈沖和從機(jī)發(fā)出存在脈沖,存在脈沖讓單片機(jī)知道DS18B20在總線上且已經(jīng)打算好了;當(dāng)知道DS18B20存在時(shí),單片機(jī)便向單片機(jī)發(fā)出ROM吩咐,設(shè)置DS18B20中ROM的格式;然后便可以對DS18B20采集的數(shù)據(jù)進(jìn)行讀取,由低位到高位一位一位的讀取溫度值,讀取的溫度值存放在兩個(gè)變量中;最終對存在溫度值的兩個(gè)變量進(jìn)行處理,是溫度數(shù)據(jù)轉(zhuǎn)化成十進(jìn)制形式,以便進(jìn)一步顯示。DS18B20為單總線器件,數(shù)據(jù)和吩咐在一根線上傳輸,先向溫度傳感器寫入轉(zhuǎn)換吩咐,延長一段時(shí)間,再發(fā)送讀吩咐,將溫度值讀回單片機(jī),單片機(jī)進(jìn)行數(shù)據(jù)處理,送顯示,其轉(zhuǎn)換關(guān)系為:T=temperature*0.625T為單片機(jī)要顯示的溫度,temperature為從DS18B20讀回的數(shù)字量具體溫度采集流程圖如下圖所示:起先初始化起先初始化讀取溫度值寫溫度值轉(zhuǎn)化為十進(jìn)制返回圖4.3DS18B20程序流程圖4.3.3DS18B20子程序如下#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitDQ=P2^5;sbitdot=P1^7;uchartd[]={0xfe,0xfd,0xfb,0xf7};uchardatadisp[4];UcharcodeLED[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};uintT;uchartemph,temp1;bitfuhao;Delay_ms(uchart){uchari;while(t--){for(i=0;i<120;i++);}}voiddelay(uchart){while(t--);}voidInit_DS18B20(void){ucharx=0;DQ=1;delay(8);DQ=0;delay(90);DQ=1;delay(5);x=DQ;delay(50);}ucharReadByte(void){uchari,dat;for(i=0;i<8;i++){ DQ=0; dat>>=1; DQ=1; if(DQ) dat|=0x80; delay(8);}return(dat);}voidWriteByte(uchardat){uchari;for(i=8;i>0;i--){DQ=0; DQ=dat&0x01; delay(8); dat>>=1; DQ=1;}}ReadTemperature(void){Init_DS18B20();WriteByte(0xCC);WriteByte(0x44);Init_DS18B20();WriteByte(0xCC);WriteByte(0xBE);temp1=ReadByte();temph=ReadByte();T=temph;T<<=8;T=T|temp1;}b20display(){inttemperature;uchari;T=T*0.625;disp[0]=T/1000; disp[1]=T/100%10;disp[2]=T/10%10;disp[3]=T%10;if(fuhao){disp[0]=11;if(!disp[1])disp[1]=10;}if(!disp[0]){disp[0]=10;if(!disp[1])disp[1]=10;}for(i=0;i<4;i++){P2=td[i]; P1=LED[disp[i]]; if(i==2)dot=1; Delay_ms(3); temperature=disp[0]*100+disp[1]*10+disp[2];}}ds18b20(){while(1){ReadTemperature(); if(temph&0xf0) { fuhao=1; T=-T;} elsefuhao=0; b20display();}}main(){ds18b20();}4.4PID子模塊4.4.1PID子模塊程序流程圖起先計(jì)算誤差起先計(jì)算誤差計(jì)算比例、積分和微分計(jì)算限制量返回圖4.4PID子模塊程序流程圖4.4.2PID子模塊的程序如下#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintuintcb[3]={0,0,0}; //差值保存,給定和反饋的差值uintfh[3]; //符號,1則對應(yīng)為負(fù)數(shù),0為對應(yīng)的正數(shù)uintKP;uintKI;uintKD;uintku; //上一時(shí)刻的限制電壓uinttemp; //設(shè)定值uintT; //實(shí)際值uintout; //加熱輸出uinterror; /*********PID=ku+P*[E(k)-E(k-1)]+I*E(k)+D*[E(k)-2E(k-1)+E(k-2)];(增量型PID算式)函數(shù)入口:temp(設(shè)定值),T(實(shí)際值)、P、I、D函數(shù)出口:ku*/voidPIDoperation(void)//PID運(yùn)算函數(shù){uintpiancha[3]={0,0,0};//中間臨時(shí)變量uintPostsum;//正數(shù)和uintNegsum;//負(fù)數(shù)和Postsum=0;Negsum=0;error=temp-T;if(error>0) //設(shè)定值大于實(shí)際值否,即偏差大于0?{if(error>100) //偏差大于100否? { ku=0; //偏差大于100(全速加熱) } else { piancha[0]=error; //偏差<=100,計(jì)算E(K) fh[1]=0; //E(k)為正數(shù) //差值數(shù)值移位 cb[2]=cb[1]; cb[1]=cb[0]; cb[0]=piancha[0]; if(cb[0]>cb[1]) //E(k)>E(k-1)否? { piancha[0]=cb[0]-cb[1]; //E(k)>E(k-1) fh[0]=0; //E(k)-E(k-1)為正數(shù) } else { piancha[0]=cb[0]-cb[1]; //E(k)<E(k-1) fh[0]=1; //E(k)-E(k-1)為負(fù)數(shù) } /*****************************/ piancha[2]=cb[1]*2; //2E(k-1) if(cb[0]+cb[2]>piancha[2]) //E(k-2)+E(k)>2E(k-1)否? { piancha[2]=(cb[0]+cb[2])-piancha[2]; //E(k-2)+E(k)>2E(k-1) fh[2]=0; //E(k-2)+E(k)-2E(k-1)為正數(shù) } else { piancha[2]=piancha[2]-(cb[0]+cb[2]);//E(k-2)+E(k)<2E(k-1) fh[2]=1; //E(k-2)+E(k)-2E(k-1)為負(fù)數(shù) } /**********************/ piancha[0]=KP*piancha[0]; //P*[E(k)-E(k-1)] piancha[1]=KI*cb[0]; //I*E(k) piancha[2]=KD*piancha[2]; //D*[E(k-2)+E(k)-2E(k-1)]/*以下部分代碼是講全部的正數(shù)項(xiàng)疊加,負(fù)數(shù)項(xiàng)疊加*//*******P*[E(k)-E(k-1)]*********/ if(fh[0]==0) Postsum+=piancha[0]; //正數(shù)和else Negsum+=piancha[0]; //負(fù)數(shù)和 /*************I*E(k)************/ if(fh[1]==0) Postsum+=piancha[1]; //正數(shù)和 else ; //空操作,E(k)>0 /************D*[E(k-2)+E(k)-2E(k-1)]***********/ if(fh[2]==0) Postsum+=piancha[2]; //正數(shù)和 else Negsum+=piancha[2]; //負(fù)數(shù)和 /**********ku************/ Postsum+=(unsignedlongint)ku; if(Postsum>Negsum) { piancha[0]=Postsum-Negsum; if(piancha[0]<100) ku=piancha[0]; else ku=0; } else //限制量輸出為負(fù)數(shù) ku=100; } } else ku=0;}voidmain(){PIDoperation();}4.5D/A子模塊4.5.1D/A子模塊流程圖起先初始化起先初始化D/A轉(zhuǎn)換輸出結(jié)果結(jié)束4.5D/A子模塊流程圖4.5.2D/A子程序#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintuintku,wenbian=20,shuziliang;floatfenbian=0.0195,dianya,shuzixiaoshu[2],shifenwei;sbitcs=P3^7;sbitwr=P3^6;voiddacinit(void){cs=0;wr=0;}voidbiaodubianhuan(void){ku=85;dianya=(float)ku/20;shuzixiaoshu[0]=dianya/fenbian;shuzixiaoshu[1]=shuzixiaoshu[0]*10;shifenwei=(int)shuzixiaoshu[1]%10;if(shifenwei>=5)shuziliang=shuzixiaoshu[0]+1;elseshuziliang=shuzixiaoshu[0];}voiddac0832(ucharx){P0=x;}voidmain(){dacinit();while(1){biaodubianhuan();dac0832(shuziliang);}}4.6預(yù)備方案主流程圖在主程序中先對系統(tǒng)進(jìn)行初始化,接著調(diào)用初始值設(shè)置子程序和實(shí)時(shí)溫度采集子程序,設(shè)置低溫報(bào)警值和高溫報(bào)警值;然后分別數(shù)據(jù)進(jìn)行處理并顯示;再調(diào)用報(bào)警子程序,推斷采集到的實(shí)時(shí)數(shù)據(jù)是否超過報(bào)警限,若實(shí)時(shí)數(shù)據(jù)小于低溫報(bào)警值時(shí),則進(jìn)行燈光報(bào)警和蜂鳴器報(bào)警提示,這時(shí)繼電器導(dǎo)通加熱;假如實(shí)時(shí)數(shù)據(jù)高于高溫報(bào)警值時(shí),則進(jìn)行燈光報(bào)警和蜂鳴器報(bào)警提示,這時(shí)可以在電熱爐里添加冷水進(jìn)行冷卻;假如實(shí)測溫度值在高溫報(bào)警和低溫報(bào)警值范圍內(nèi)則保持不變。系統(tǒng)接受ADC0809對溫度信號進(jìn)行轉(zhuǎn)換,通過前置放大器進(jìn)行放大后送給單片機(jī),單片機(jī)采集電壓信號并計(jì)算出實(shí)際溫度值。主程序是一個(gè)循環(huán)體,通過對子程序的不斷的調(diào)用進(jìn)行溫度的采集處理,以達(dá)到采集顯示實(shí)時(shí)溫度的目的。否是否是起先A/D轉(zhuǎn)換和測溫否是否是起先A/D轉(zhuǎn)換和測溫計(jì)算偏差e-4=<e<=4聲光報(bào)警e>4加熱返回圖4.6預(yù)備方案主流程圖第五章系統(tǒng)調(diào)試在前期焊接工作和軟件編程已經(jīng)出有成果時(shí),接下來的工作就是調(diào)試工作了,調(diào)試分為硬件調(diào)試和軟件調(diào)試兩部分。下面就分別介紹這兩部分的調(diào)試過程及遇到的問題和解決方法。5.1硬件調(diào)試在硬件的焊接工作完成后,要想知道硬件是否合格,能否達(dá)到標(biāo)準(zhǔn),是要經(jīng)過一些檢測工具的檢驗(yàn),同時(shí)還要協(xié)作軟件的測試才能知道。對硬件的測試主要是通過萬用表和示波器進(jìn)行的,在整個(gè)檢測環(huán)節(jié),調(diào)試是特別重要的,它在整個(gè)設(shè)計(jì)中占著舉足輕重的位置。5.1.1硬件調(diào)試工具簡介硬件的調(diào)試主要通過萬用表來實(shí)現(xiàn)。首先,要細(xì)致比照電路原理圖,確保硬件的焊接及連線與原理圖一樣。接下來就是檢查各個(gè)焊接點(diǎn)有無虛焊,漏焊,短路等問題。具體方法是:把萬用表的兩個(gè)表筆接好,即黑表筆接在COM端,紅表筆接在VΩ端。然后把萬用表打到二極管的檔位上,用一只表筆接在焊接點(diǎn)的一端,另一只表筆接在應(yīng)與這個(gè)焊接點(diǎn)短路(開路)的另一端,假如焊接完好,則萬用表就會發(fā)出報(bào)警聲(不會發(fā)出報(bào)警聲)。另外還應(yīng)檢測一下運(yùn)用的電阻、電容等器件是否正確。確定無誤后,進(jìn)行上電測試,把萬用表打到測電壓檔位,看各處電壓值是否正常。確定好硬件焊接無誤后接下來要通過硬件與軟件聯(lián)機(jī)調(diào)試以完成預(yù)期目標(biāo)。5.1.2硬件調(diào)試問題及解決方法在硬件調(diào)試過程中,我們經(jīng)過檢測發(fā)覺雖然各個(gè)連接點(diǎn)沒有虛焊和短接,但是顯示部分和A/D轉(zhuǎn)換部分有一些小問題,再次檢查電路,發(fā)覺實(shí)際硬件電路圖連接沒有問題,最終檢測發(fā)覺單片機(jī)最小系統(tǒng)的P2和P3管口的VCC不是+5V,而是0V。最終我們把電源線引接到P0口,再次檢測后,硬件基本已經(jīng)完好。5.1.3加熱模塊的調(diào)試我們的下限報(bào)警時(shí)的設(shè)計(jì)是蜂鳴器響,指示燈亮,同時(shí),繼電器吸合,電熱爐起先工作,但這時(shí)我們的繼電器不能有效吸合,經(jīng)檢查繼電器連接線路無誤,但我們單片機(jī)的P2口有問題,把限制繼電器的端口改成P3口后,繼電器工作正常。解決方案:用萬用表檢測常開和常閉接點(diǎn),看繼電器是否完好,再給繼電器兩端加+5V電壓,看繼電器常開觸點(diǎn)能不能有效吸合,經(jīng)檢測后,繼電器完好。這是我們又檢測單片機(jī)的P2口中限制繼電器的端口是否工作正常,給單片機(jī)上電后發(fā)覺,P2口中限制繼電器的端口輸出電壓不穩(wěn)定,當(dāng)我們改成P3口后,再檢測,繼電器能有效吸合,工作正常。5.1.4報(bào)警電路系統(tǒng)調(diào)試當(dāng)我們協(xié)作軟件進(jìn)行驗(yàn)證報(bào)警電路的時(shí)候,上限報(bào)警的設(shè)計(jì)是蜂鳴器響,同時(shí)指示燈亮,但這時(shí)只有蜂鳴器響,指示燈卻不亮,經(jīng)過細(xì)致檢查后,發(fā)覺原來是把發(fā)光二極管反接了,經(jīng)過改正,指示燈也亮了。解決方案:用萬用表測指示燈,假如二極管亮,則說明紅表筆那端是正,黑表筆那邊是負(fù)。還有一種方法,就是新買的二極管,長的那個(gè)管腳對應(yīng)的是正極,短的那個(gè)引腳對應(yīng)的是負(fù)極。5.1.5方案二中三角波產(chǎn)生電路系統(tǒng)調(diào)試當(dāng)三角波產(chǎn)生電路焊接完畢之后,就進(jìn)入了波形產(chǎn)生和調(diào)試階段。首先我們在試驗(yàn)室找到了電源和示波器,將電源接在電路板的電源端,將示波器的紅表筆接在方波和三角波的波形輸出端,黑表筆接地。然后通電看波形,結(jié)果發(fā)覺,只有方波輸出,沒有三角波輸出,再次檢查電路后發(fā)覺我們的接線有問題,后面好多線都接錯(cuò)了。解決方案:重新焊接后,再依據(jù)上面的方法檢測后,方波和三角波能夠正常產(chǎn)生。5.2軟件調(diào)試我們學(xué)過的軟件編程的方法有兩種:匯編語言和C語言。①匯編語言是為了既能保持機(jī)器語言的特點(diǎn),又能便利編寫程序和閱讀程序,接受助記符號來代替機(jī)器指令代碼,助記符號與機(jī)器指令代碼一一對應(yīng)。但其可讀性差,只有熟識單片機(jī)的指令系統(tǒng),并具有肯定的程序設(shè)計(jì)閱歷,才能研制出功能困難的應(yīng)用程序。②C語言是近年來在國內(nèi)外得到快速推廣應(yīng)用的一種計(jì)算機(jī)語言。C語言功能豐富,表達(dá)力強(qiáng),運(yùn)用敏捷便利,應(yīng)用面廣,目標(biāo)程序效率高,可移植性好,既具有高級語言的優(yōu)點(diǎn),又有低級語言的很多特點(diǎn)。因此,C語言特殊適合于編寫系統(tǒng)軟件。C語言誕生后,很多原來用匯編語言編寫的軟件,現(xiàn)在可以用C語言代替,而學(xué)習(xí)和運(yùn)用C語言要比學(xué)習(xí)和運(yùn)用匯編語言簡潔得多。無論是匯編語言還是C語言要想被CPU執(zhí)行,就必需轉(zhuǎn)換成可被執(zhí)行的機(jī)器碼。其中轉(zhuǎn)換的方法有手工匯編和機(jī)器匯編兩種,由于前者工作量困難,而且不確定因素有好多,目前已經(jīng)極少運(yùn)用。機(jī)器匯編是指通過匯編軟件將源程序轉(zhuǎn)換成機(jī)器碼的編譯方法。這種匯編軟件被稱為編譯器。本次設(shè)計(jì)中,運(yùn)用KeilC51編譯器對程序進(jìn)行編譯、調(diào)試工作。KeilC51是美國KeilSoftware公司出品的基于80C51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),可以完成從工程建立和管理、編譯、連接目標(biāo)代碼的生成、軟件仿真等開發(fā)流程。KeilC51軟件供應(yīng)豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。5.2.1調(diào)試工具簡介隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍運(yùn)用匯編語言到漸漸運(yùn)用高級語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展。Keil是目前最流行的51單片機(jī)開發(fā)軟件。Keil供應(yīng)了一個(gè)集成開發(fā)環(huán)境,它包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器。這樣在開發(fā)應(yīng)用軟件的過程中,編輯、編譯、匯編、連接、調(diào)試等各階段都集成在一個(gè)環(huán)境中,先用編輯器編寫程序,接著調(diào)用編譯器進(jìn)行編譯,連接后即可干脆運(yùn)行。這樣避開了過去先用編輯器進(jìn)行編輯,然后退出編輯狀態(tài)進(jìn)行編譯,調(diào)試后又要調(diào)用編輯器的重復(fù)過程,因此可以縮短開發(fā)周期。KEIL軟件簡潔易學(xué),能對程序進(jìn)行編譯,鏈接等。下面是我用KEIL對程序進(jìn)行調(diào)試的過程:建立工程:首先在桌面新建工程文件夾,然后打開KEIL軟件,單擊“Project/NewProject...”菜單:給建立的工程起一個(gè)名字:選擇單片機(jī)類型:接下來創(chuàng)立程序文件,如圖所示,單擊“File/New...”菜單:在編輯窗口輸入C語言源程序。在輸入完源程序以后,單擊“File/Save…”菜單,文件保存為:“.C”保存后界面窗口如圖所示:然后單擊界面左面的Targe1,右鍵單擊“SourceGroup1”,單擊“AddFilesto.......”,將之前的命名文件添加進(jìn)去:添加完成后便可以進(jìn)行編譯、鏈接操作了,步驟是依次點(diǎn)擊Transtate、Build、Rebuild后查看有無錯(cuò)誤,并將錯(cuò)誤改正,直至沒有錯(cuò)誤為止。最終顯示如圖所示:接下來就可以生成“.hex”文件了,具體操作是:單擊“Project→OptionsforTarget'Target1'...”將Xtal(MHz)改成11.0592,然后點(diǎn)擊Output,將GreateHEXFile前面打勾,然后點(diǎn)擊OK。再次編譯、連接后就完成了“.HEX”文件的生成工作,如圖所示,出現(xiàn)了creatinghexfilefrom"yaobiyesheji"...最終可以在工程文件夾看到生成的HEX文件:5.3軟件調(diào)試時(shí)候遇到的問題在各個(gè)模塊的程序編寫完成后,進(jìn)一步的工作就是把各個(gè)模塊合為一體,用主程序調(diào)用的方法將各個(gè)子程序分時(shí)調(diào)用,在將各子程序合為一體的時(shí)候我們也遇到了問題,其中在循環(huán)時(shí)的問題就是程序跳不出來,不能按預(yù)期的結(jié)果顯示溫度,如圖所示:雖然程序沒有顯示編譯錯(cuò)誤問題,但是在調(diào)試的時(shí)候就是不能正常顯示,也就是我們的按鍵不起作用,無論按鍵按下與否,都不能切換給定溫度值和實(shí)際測溫值。最終經(jīng)過分析,猜想可能是顯示程序模塊有問題,但經(jīng)過更改之后仍舊沒有效果,最終發(fā)覺原來是我們定義的溫度采集模塊和溫度給定值模塊的循環(huán)問題,當(dāng)程序進(jìn)行到一個(gè)模塊后不能有效的跳出循環(huán),以致程序不能接著執(zhí)行后面的語句。解決方案:將各個(gè)子模塊的循環(huán)去掉,在主程序里定義循環(huán)。問題得到了解決,再看調(diào)試后的結(jié)果:5.4結(jié)果與分析當(dāng)DS18B20采集過來的實(shí)際溫度與設(shè)定的溫度值的差值在允許的誤差范圍內(nèi)時(shí),蜂鳴器不響,發(fā)光二極管不亮;當(dāng)實(shí)際溫度低于允許的溫度下限時(shí),蜂鳴器發(fā)出報(bào)警聲,發(fā)光二極管點(diǎn)亮,繼電器的常閉觸點(diǎn)斷開,常開觸點(diǎn)閉合,接通加熱爐,起先加熱,使溫度上升;當(dāng)溫度上升,達(dá)到高溫設(shè)定值時(shí),蜂鳴器發(fā)出報(bào)警聲,發(fā)光二極管點(diǎn)亮,繼電器的常閉觸點(diǎn)吸合,常開觸點(diǎn)斷開,等待溫度降低,直至實(shí)際溫度值和設(shè)定值在允許的誤差范圍內(nèi)。在制作的過程中,我們設(shè)計(jì)了兩個(gè)方案,方案二較方案一簡潔,我們首先做的是方案一,因?yàn)榉桨敢恢芯桶朔桨付械母鱾€(gè)模塊。志向的預(yù)期效果是可以實(shí)現(xiàn)的,但在實(shí)際中,方案一出現(xiàn)了很多問題,首先是A/D與D/A的沖突問題,當(dāng)我們把各個(gè)模塊分別做好,打算把程序合起來的時(shí)候,問題也就出現(xiàn)了,比如單片機(jī)的I/O口不夠用,因?yàn)镻0口要用好多次,這樣在調(diào)用子程序時(shí)就相應(yīng)的出現(xiàn)了亂碼,尤其是A/D與D/A的沖突問題。這讓我們的進(jìn)度停頓了好幾天。其次,方案一要用到PID調(diào)整,這雖說是一種相對精確的調(diào)整方式,但我們以前接觸的比較少,對于這個(gè)還有肯定的漏洞,所以改用位式調(diào)整規(guī)律。再次是IGBT,這也是一種開關(guān),在工業(yè)上比較好用,成本也比較高,而且不易保管,一有靜電就簡潔被擊穿,就在我們檢測硬件的時(shí)候,發(fā)覺我們的IGBT已經(jīng)被擊穿了,還有,它的驅(qū)動電壓比較大,要用220V的直流電驅(qū)動,對于我們來說,這樣大的電壓就已經(jīng)很危急了,后來通過與老師的協(xié)商,最終確定改用電磁繼電器限制,這樣不但可以解決IGBT簡潔擊穿的問題,還可以削減人身平安。最終是激光溫度傳感器,這個(gè)對于我們來說,屬于一種新接觸的測溫元件,而且價(jià)格也比較昂貴,不是我們一般學(xué)生能負(fù)擔(dān)得起的。還有激光測溫傳感器采集到的溫度信號是數(shù)字量的,我們要和給定值進(jìn)行比較還要進(jìn)行D/A轉(zhuǎn)換,而D/A轉(zhuǎn)換和A/D轉(zhuǎn)換之間還有沖突,假如不用激光溫度傳感器,這些問題就可迎刃而解,所以我們接受了方案二。第六章結(jié)論自動加熱限制系統(tǒng)設(shè)計(jì),以溫度限制為核心內(nèi)容。接受AT89C52單片機(jī)為核心,協(xié)作其它外圍電路,再與軟件協(xié)作起來實(shí)現(xiàn)對整個(gè)溫度進(jìn)行限制。該限制系統(tǒng)實(shí)現(xiàn)了以下功能:(1)溫度給定功能:通過電位器調(diào)整后經(jīng)過A/D轉(zhuǎn)換送入單片機(jī),用電位器阻值的改變模擬給定溫度值的改變,再進(jìn)過LED顯示。(2)溫度采集功能:通過DS18B20進(jìn)行溫度采集并顯示。(3)報(bào)警功能:當(dāng)溫度超過設(shè)定范圍時(shí),就會發(fā)出報(bào)警信號,發(fā)光二極管點(diǎn)亮,蜂鳴器發(fā)出“滴滴滴...”的響聲。(4)溫度限制功能:接受位式限制,用溫度給定值與測量值的偏差實(shí)現(xiàn)對溫度的限制,并達(dá)到了預(yù)期效果。通過設(shè)計(jì)我發(fā)覺我們的水平還很有限,硬件和軟件的設(shè)計(jì)比較簡潔,所駕馭的學(xué)問還不夠全面,這就要求我們進(jìn)一步鞏固自己的學(xué)問點(diǎn),當(dāng)有了更多的學(xué)問儲備時(shí),就會設(shè)計(jì)出更好的方案,從而功能也就越完善,應(yīng)用范圍也就更加廣袤。致謝在本次畢業(yè)設(shè)計(jì)中,指導(dǎo)老師陳文燕老師和張坤鰲老師以細(xì)致負(fù)責(zé)的看法賜予我們悉心的指導(dǎo)和支持,對于我們遇到的問題耐性地講解,幫助我們解決問題、供應(yīng)思路。同時(shí),還與我們探討方案,找出最佳方法,幫助我們走出好多誤區(qū)。兩位老師孜孜不倦的幫助我們一次又一次的解決問題,時(shí)刻關(guān)切我們課程設(shè)計(jì)的進(jìn)度,同時(shí)還在精神上給與我們激勵(lì),每當(dāng)遇到麻煩的問題時(shí),總是先勸慰我們不要焦急,然后在幫助我們找到解決的方法,還告知我們?yōu)槭裁催@樣做等等。在畢業(yè)設(shè)計(jì)即將結(jié)束時(shí),對陳老師和張老師表示誠心的感謝。感謝這幾個(gè)月來對我們的幫助和照看。其次要特殊感謝王黨樹老師,是他為我供應(yīng)了一個(gè)良好的實(shí)踐環(huán)境,幫助我們買一些常用元器件,同時(shí)感謝同組的劉永洪同學(xué),假如沒有他的主動協(xié)作,我們是不行能順當(dāng)?shù)赝瓿蛇@次畢業(yè)設(shè)計(jì)的,在遇到問題時(shí)他給我很多的支持和幫助,我感受到了團(tuán)隊(duì)合作的重要性。還要感謝李謙、黃偉星、朱丹等同學(xué),感謝他們在這次設(shè)計(jì)中給我供應(yīng)了很多的參考和新思路,和我們一起探討和解決問題,給我能夠很好的實(shí)踐供應(yīng)了一種良好的氛圍。心得體會經(jīng)過這三個(gè)月的設(shè)計(jì),我們所做的自動加熱限制系統(tǒng)設(shè)計(jì)也取得了一點(diǎn)小小的成果。在此期間我收獲很多,畢業(yè)設(shè)計(jì)是對我們高校四年所學(xué)學(xué)問的檢測,這次畢業(yè)設(shè)計(jì)不僅僅復(fù)習(xí)了以前所學(xué)的學(xué)問,而且還熬煉了我的動手實(shí)力和思索實(shí)力,在程序流程的設(shè)計(jì)方法和程序執(zhí)行的時(shí)序都有了肯定的駕馭,同時(shí)也較好地運(yùn)用了proteus和keil等軟件。通過這次畢業(yè)設(shè)計(jì)我才明白學(xué)習(xí)是一個(gè)長期積累的過程,在以后的工作、生活中都應(yīng)當(dāng)不斷的學(xué)習(xí),努力提高自己的學(xué)問和綜合素養(yǎng)。在畢業(yè)設(shè)計(jì)的這三個(gè)月里,我們把自己所學(xué)學(xué)問全部運(yùn)用出來,用主動的看法去完成,這不僅是對我們所學(xué)學(xué)問駕馭程度的檢測,同時(shí)也是對我們看法的檢測,在設(shè)計(jì)過程中,我們小組主動探討,相互溝通看法,共同分析和解決問題。當(dāng)我們的想法出現(xiàn)分歧時(shí),我們相互交換看法,主動接受好的思想,不斷地解決問題。通過溝通,我學(xué)會了換位思索,要聽取別人的珍貴看法。同時(shí)我也體會到了團(tuán)隊(duì)合作的重要性,在遇到困難時(shí),團(tuán)隊(duì)各成員須要相互激勵(lì)和信任。此外這次畢業(yè)設(shè)計(jì)也使我們的同學(xué)關(guān)系更進(jìn)了一步,同學(xué)之間相互幫助,有什么不懂的大家在一起商議,聽聽不同的看法有利于我們更好的理解學(xué)問,所以在這里特別感謝幫助我的同學(xué)。在畢業(yè)設(shè)計(jì)調(diào)試過程中,雖然取得了肯定的結(jié)果,但仍舊有較多問題須要完善與解決,通過解決問題,我積累了一些閱歷,為以后工作供應(yīng)了較好的動手機(jī)會。此外,我還得出一個(gè)結(jié)論:學(xué)問必需通過應(yīng)用才能實(shí)現(xiàn)其價(jià)值!有些東西以為學(xué)會了,但真正到用的時(shí)候才發(fā)覺沒那么簡潔,所以我認(rèn)為只有到真正會用的時(shí)候才是真的學(xué)會了。在此還要再次感謝陳文燕老師和張坤鰲老師對我的悉心指導(dǎo),感謝老師給我的幫助。在設(shè)計(jì)過程中,通過查閱大量相關(guān)資料,與同學(xué)溝通閱歷,并向老師請教等方式,學(xué)到了不少學(xué)問,也經(jīng)驗(yàn)了不少艱辛??偟膩碚f還是獲益匪淺的。信任這會對我今后的學(xué)習(xí)工作生活有特別重要的影響。這次畢業(yè)設(shè)計(jì)使我充分體會到了在創(chuàng)建過程中探究的艱難和勝利時(shí)的喜悅。最終對參與本次論文評審的老師表示誠心的感謝。參考文獻(xiàn)[1].龔尚福.微機(jī)原理與接口技術(shù),西安電子科技高校出版社,2008[2].陳毅靜.過程限制系統(tǒng)與儀表,機(jī)械工業(yè)出版社,2008[3].胡壽松.自動限制原理,科學(xué)出版社,2007[4].柴鈺.單片機(jī)原理及應(yīng)用,西安電子科技高校出版社,2009[5].趙燕.傳感器原理及應(yīng)用,北京高校出版社,2010[6].劉樹林.低頻電子線路.機(jī)械工業(yè)出版社[M].2007[7].閻石.數(shù)字電子技術(shù),高等教化出版社,2008[8].趙負(fù)國.信號采集與處理集成電路手冊[M].化學(xué)工業(yè)出版社.2002[9].李家昌.自動限制儀表[M].—武漢,武漢工業(yè)高校出版社.1990[10].廖曉鐘.限制系統(tǒng)分析實(shí)際.清華高校出版社[M].2008[11].陳益飛.單片機(jī)原理及應(yīng)用技術(shù).國防工業(yè)出版社.2011[12].丁保華張有忠.單片機(jī)原理及接口技術(shù)試驗(yàn)教程.中國礦業(yè)高校出版社.2007[13].周堅(jiān).平凡的探究:單片機(jī)工程師及老師的思索.北京航空航天高校出版社.2010[14].柴天佑,王中杰,王偉.加熱爐限制技術(shù)的回顧與展望[J].冶金自動化.1998,5附錄一位式限制電路圖附錄二PID限制電路圖部分一PID限制電路圖部分二附錄三實(shí)物圖附錄四位式限制源程序#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x00};uchardisp[4];//定義數(shù)組變量uchartd[]={0xf7,0xfb,0xfd,0xfe};sbitEOC=P3^2;//定義EOC引腳sbitOE=P3^1;//定義OE引腳sbitST=P3^0;//定義START引腳sbitCLK=P3^3;sbitxsd=P1^7;//定義數(shù)碼管小數(shù)點(diǎn)sbitDQ=P2^5;sbitdot=P1^7;sbitaj=P2^7;sbitjr=P3^5;sbitled=P3^6;sbitfmq=P3^4;uchartx[]={0xfe,0xfd,0xfb,0xf7};uchardatadisp[4];ucharcodeLED[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化工礦山項(xiàng)目可行性研究報(bào)告編制規(guī)定
- 市場的可行性研究報(bào)告
- 本季度工作執(zhí)行情況總結(jié)報(bào)告
- IT行業(yè)技術(shù)發(fā)展速度報(bào)告分析表格
- 學(xué)生成績及綜合評價(jià)報(bào)告表
- 木屑生物質(zhì)顆粒燃料
- 工作計(jì)劃與執(zhí)行跟蹤表格(部門內(nèi)部)
- 醫(yī)藥行業(yè)品牌推廣方案
- 智能家居場景化應(yīng)用解決方案設(shè)計(jì)與推廣
- 金融產(chǎn)品創(chuàng)新與實(shí)踐指南
- 如何發(fā)現(xiàn)腎臟病
- 反恐防暴應(yīng)急知識培訓(xùn)
- GB/T 44537-2024精細(xì)陶瓷室溫?cái)嗔秧g性試驗(yàn)方法表面裂紋彎曲梁(SCF)法
- 證券分析(第6版)下部
- JJF(京) 124-2024 智能電表電動自行車充電辨識模組校準(zhǔn)規(guī)范
- 醫(yī)院培訓(xùn)課件:《靜脈中等長度導(dǎo)管臨床應(yīng)用專家共識》
- 總復(fù)習(xí)(教案)2023-2024學(xué)年數(shù)學(xué) 四年級下冊 北師大版
- 【青松雪】中考數(shù)學(xué)幾何模型【模型08】費(fèi)馬點(diǎn)最值模型
- 【項(xiàng)目方案】湖北省石首楚源“源網(wǎng)荷儲”一體化項(xiàng)目方案
- DL∕T 241-2012 火電建設(shè)項(xiàng)目文件收集及檔案整 理規(guī)范
- 2024風(fēng)電場架空線路融冰技術(shù)規(guī)范
評論
0/150
提交評論