基于單片機(jī)的電熱爐溫度控制系統(tǒng)設(shè)計_第1頁
基于單片機(jī)的電熱爐溫度控制系統(tǒng)設(shè)計_第2頁
基于單片機(jī)的電熱爐溫度控制系統(tǒng)設(shè)計_第3頁
基于單片機(jī)的電熱爐溫度控制系統(tǒng)設(shè)計_第4頁
基于單片機(jī)的電熱爐溫度控制系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1 緒論 單片機(jī)具有體積小、可靠性高、功能強(qiáng)、使用方便、性能價格比高等特點。國際上從1970年開始,國內(nèi)自1980年以來,單片機(jī)已廣泛應(yīng)用于國民經(jīng)濟(jì)的各個領(lǐng)域,對各個行業(yè)的技術(shù)改造和產(chǎn)品的更新?lián)Q代起重要的推動作用。 溫度是工業(yè)生產(chǎn)和科學(xué)實驗中一個非常重要的參數(shù)。許多生產(chǎn)過程都是在一定的溫度范圍內(nèi)進(jìn)行的,甚至對溫度的要求相當(dāng)嚴(yán)格,因此生產(chǎn)現(xiàn)場需要測量溫度和控制溫度。溫度是電熱爐需要控制的主要參數(shù)。在傳統(tǒng)的電熱爐溫度控制系統(tǒng)中,爐溫控制多采用人工調(diào)節(jié)和溫度儀表監(jiān)視相結(jié)合的方式,電熱爐的電源通斷大多采用交流接觸器來控制。這種控制方式結(jié)構(gòu)簡單,但控制精度差,控制速度慢,在資源方面耗費(fèi)人力且本身耗能多,

2、控制器的噪音大,并且在控制溫度的過程中由于接觸器需要頻繁接通與斷開,會經(jīng)常發(fā)生觸點電弧放電的現(xiàn)象,極易造成短路,損壞接觸器,對操作人員和設(shè)備帶來不利影響和安全隱患。而傳統(tǒng)的定值開關(guān)溫度控制法存在溫度滯后的問題,多數(shù)傳統(tǒng)基于常規(guī)PD控制的控制裝置,存在精度不高、效率低等問題。1.1 課題背景及意義隨著社會的發(fā)展,溫度的測量及控制已經(jīng)變得越來越重要了。工業(yè)中的許多的裝置的溫度常常需要保持在一個既定的溫度值上。傳統(tǒng)的利用爐溫控制采用溫度儀表監(jiān)視和人工調(diào)節(jié)相結(jié)合的方式已經(jīng)不能夠再滿足生產(chǎn)的需要。并且隨著科技的進(jìn)步以及新產(chǎn)品的開發(fā),溫度的要求變得十分的重要,同時對于溫度的精度方面的要求也變得越來越高了。

3、在這一背景條件下,利用單片機(jī)對溫度進(jìn)行采樣、控制等方面的優(yōu)點,可以很好的滿足工藝的要求。另外,隨著科技的進(jìn)步,單片機(jī)的發(fā)展也十分的迅猛。因其本身固有的體積小重量輕價格便宜,功耗低,控制功能強(qiáng)及運(yùn)算速度快等特點,所以基于單片機(jī)的溫度控制系統(tǒng)具有非常廣闊的前景。1.2 課題設(shè)計任務(wù)單片機(jī)廣泛應(yīng)用于現(xiàn)代工業(yè)控制中,采用單片機(jī)系統(tǒng)對溫度進(jìn)行控制不僅具有著控制方便、簡單和靈活性大等優(yōu)點,而且還可以大幅度的提高被控溫度的技術(shù)指標(biāo),從而可以大大的提高產(chǎn)品的質(zhì)量。在本課題研究中,需要深入的了解51單片機(jī)在控制領(lǐng)域中的發(fā)展現(xiàn)狀以及其應(yīng)用前景,提高對大學(xué)本科階段所學(xué)專業(yè)知識的融合和運(yùn)用的能力,鍛煉自己獨(dú)立查閱和學(xué)

4、習(xí)文獻(xiàn)的能力,培養(yǎng)獨(dú)立分析和解決問題的能力,通過軟件的設(shè)計、程序的編寫調(diào)試和硬件的制作切實鍛煉自己的科研開發(fā)能力,加強(qiáng)自己的科技創(chuàng)新能力。主要任務(wù)如下:1)系統(tǒng)學(xué)習(xí)和查閱了各類模擬電路以及電子元器件的功能、管腳圖以及工作特性等一系列參數(shù)和使用方法,學(xué)習(xí)和實踐多功能數(shù)字時鐘的硬件電氣設(shè)計原則及印刷電路板的制作;學(xué)習(xí)和研究AT89C51單片機(jī)相關(guān)的匯編語言程序編程、外部硬件接口以及內(nèi)部定時中斷等功能。2)設(shè)計基于單片機(jī)的電熱爐溫度控制系統(tǒng)。3)硬件電路設(shè)計和完成相應(yīng)控制軟件設(shè)計。4)完成Keil+Proteus環(huán)境下的軟硬件聯(lián)調(diào)和仿真。1.3 當(dāng)今國內(nèi)外研究動向(1) 國外溫度測控系統(tǒng)研究 國外對

5、溫度控制技術(shù)研究的比較早,開始于20世紀(jì)70年代左右。先是采用模擬式的組合儀表,采集現(xiàn)場的信息并進(jìn)行指示、記錄和控制等。80年代末出現(xiàn)了分布式的控制系統(tǒng)。目前正開發(fā)和研制計算機(jī)數(shù)據(jù)采集控制系統(tǒng)的多因子綜合控制系統(tǒng)?,F(xiàn)在世界各國的溫度測控技術(shù)發(fā)展十分迅猛,一些國家在所實現(xiàn)自動化的基礎(chǔ)上正向著完全自動化、無人化的方向發(fā)展。(2) 國內(nèi)溫度測控系統(tǒng)研究 我國對于溫度測控技術(shù)的研究一些較晚,開始于20世紀(jì)80年代左右。我國的工程技術(shù)人員在吸收和借鑒發(fā)達(dá)國家溫度測控技術(shù)的基礎(chǔ)上,掌握了溫度室內(nèi)微機(jī)控制技術(shù),不過該技術(shù)僅限于對溫度的單項環(huán)境因子的控制的方面。我國的溫度測控設(shè)施計算機(jī)方面的應(yīng)用,總體上正在從

6、消化吸收、簡單應(yīng)用階段向?qū)嵱没?、綜合性應(yīng)用階段過渡和發(fā)展。在技術(shù)上,以單片機(jī)控制單參數(shù)單回路的系統(tǒng)居多,目前還沒有真正意義上所講的多參數(shù)綜合控制系統(tǒng),與發(fā)達(dá)國家相比,我國的溫度控制系統(tǒng)方面仍然存在著比較大的差距。我國的溫度測量控制現(xiàn)狀還遠(yuǎn)遠(yuǎn)沒有達(dá)到工廠化的程度,生產(chǎn)實際中仍然存在著種種的問題,存在著裝備配套能力差,產(chǎn)業(yè)化的程度低,環(huán)境控制水平落后,軟硬件資源不能共享和可靠性差等缺點。 隨著科技的發(fā)展和全球化的經(jīng)濟(jì)日益趨于整體化,以單片機(jī)為核心的控制溫度的系統(tǒng)必將成為單片機(jī)發(fā)展的整體趨勢。在不久的未來,依靠著單片機(jī)控制溫度所帶來的便捷將充斥著日常生活各個方面,而且在工業(yè)化方面也將體現(xiàn)出單片機(jī)控制

7、溫度系統(tǒng)所帶來的益處??傊?,單片機(jī)控制溫度系統(tǒng)將會有光明的發(fā)展前景。2 總體方案論證2.1 系統(tǒng)方案 此系統(tǒng)主要包括單片機(jī)控制系統(tǒng)、溫度采集系統(tǒng)、溫度顯示模塊、溫度上下限調(diào)節(jié)模塊以及外部存儲模塊等幾部分組成。如下為系統(tǒng)的總體框架 由系統(tǒng)總體框架圖可知,在溫度控制系統(tǒng)中,經(jīng)過DS18B20傳感器檢測到的溫度值送入單片機(jī)中,在單片機(jī)內(nèi)部經(jīng)過數(shù)據(jù)的處理信號與給定的對應(yīng)的所要求的溫度值進(jìn)行比較,同時還可以經(jīng)過按鍵來調(diào)節(jié)溫度的實時值,產(chǎn)生的溫度值可以與存儲器中存儲的溫度值進(jìn)行比較,根據(jù)比較的結(jié)果來控制相應(yīng)的指示燈的亮與滅,從而可以方便地控制溫度的變化。此外,電熱爐的溫度控制的性能至關(guān)重要,傳統(tǒng)的裝置通常

8、是基于常規(guī)的PID控制方案,往往會存在著精度不高以及工作效率較低的特點。特別是對于難以準(zhǔn)確的確定其數(shù)學(xué)模型或者是具有非線性、純滯后和時變的溫度的控制過程,僅僅依靠傳統(tǒng)的PID控制方案難以滿足電熱爐溫度控制的高精度的要求。為了確保電熱爐溫度控制高性能目標(biāo)的實現(xiàn),可以根據(jù)其數(shù)學(xué)模型、典型的控制方案和仿真運(yùn)行的結(jié)果進(jìn)行分析和研究,從而可以發(fā)現(xiàn)模糊自適應(yīng)整定的PID控制方案通過模糊規(guī)則和模糊的推理方法能夠?qū)ID控制器參數(shù)進(jìn)行校正,因而具有實用和高性能的特點。3 硬件電路設(shè)計3.1 單片機(jī)系統(tǒng)設(shè)計 所謂的單片機(jī)系統(tǒng),就是應(yīng)用單片機(jī)作為核心,外圍增加一些輔助的電路,能夠完成一定的功能的系統(tǒng)。本文采用的單

9、片機(jī)為AT89C51。它是由美國ATMEL公司生產(chǎn)的8位Flash ROM單片機(jī),它的突出的優(yōu)點是片內(nèi)的ROM是Flash ROM,易于方便地擦寫,價格低廉,并且指令豐富,編譯工具多,仿真環(huán)境好。另外它還具有著集成度高、系統(tǒng)簡單、體積小、可靠性強(qiáng)、處理功能強(qiáng)、速度快等特點。并且其內(nèi)部還含有8位CPU的程序存儲器、256bytes的數(shù)據(jù)存儲器、21個專用寄存器以及32條I/O口線等等。因此往往會被廣泛的應(yīng)用于各種控制的領(lǐng)域。如下圖所示為51單片機(jī)的管腳圖。 如下為單片機(jī)AT89C51的管腳相關(guān)說明:VCC:供電電壓。 GND:接地標(biāo)志。 P0口:P0口是作為一個8位漏級開路的雙向I/O口,每腳可

10、吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時,就會被定義為高阻輸入。P0亦能夠用于外部程序數(shù)據(jù)存儲器,它能夠被定義為數(shù)據(jù)/地址的第八位。在FIASH的編程時,P0 口可作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0會輸出原碼,不過此時的P0的外部必須被拉高。 P1口:P1口是一個內(nèi)部提供了上拉電阻的8位雙向的I/O口,P1口緩沖器能夠接收輸出4TTL門電流。當(dāng)P1口管腳寫入1后,會被內(nèi)部上拉為高電平,此時可用作輸入,當(dāng)P1口被外部下拉為低電平時,將會輸出電流,這是因為內(nèi)部上拉的緣故。在FLASH校驗和編程時,P1口均可作為第八位地址接收。 P2口:P2口是一個內(nèi)部上拉電阻的8位雙向I/O口,P

11、2口緩沖器可以用于接收,此時會輸出4個TTL門電流,當(dāng)P2口被寫“1”時,它的管腳就會被內(nèi)部上拉電阻拉高,并且可以作為輸入。當(dāng)作為輸入時,P2口的管腳會被外部拉低,此時將輸出電流,這是由于內(nèi)部上拉的緣故。當(dāng)P2口用于外部程序存儲器或者是16位的地址外部數(shù)據(jù)存儲器進(jìn)行存取時,此時P2口輸出地址會是高八位。當(dāng)在給出地址“1”時,它就會利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口就會輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH校驗和編程時接收的是高八位的地址信號和控制信號。 P3口:P3口的管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可用于接收輸出4個TTL門電流。當(dāng)P3口寫入“1”

12、后,它們就會被內(nèi)部上拉為高電平,并可以用作輸入。作為輸入,因為外部下拉為低電平,P3口將會輸出電流(ILL)這是由于上拉的緣故。P3口也可以作為AT89C51的一些特殊的功能口,如下表所示: 管腳備選功能 :端口引腳功能說明P3.0/RXD串行數(shù)據(jù)輸入端P3.1/TXD串行數(shù)據(jù)輸出端P3.2/INT0外部中斷0申請信號P3.3/INT1外部中斷1申請信號P3.4/T0定時/計數(shù)器T0計數(shù)輸入端P3.5/T1定時/計數(shù)器T1計數(shù)輸入端P3.6/WR外部數(shù)據(jù)RAM寫控制信號P3.7/RD外部數(shù)據(jù)RAM讀控制信號P3口同時為閃爍編程和編程校驗接收一些控制信號。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件需要

13、響應(yīng)時,需要保持RST腳兩個機(jī)器周期的高電平時間。如下圖為復(fù)位電路圖: ALE/PROG:訪問外部存儲器時,地址鎖存所允許的輸出電平就會用于鎖存地址的地位字節(jié)。在FLASH的編程期間,這個引腳會用于輸入編程脈沖。在通常狀況下,ALE端會以不變的頻率周期輸出正脈沖信號,這個頻率將是振蕩器頻率的1/6。因此它也可以用作對外部輸出的脈沖或者也可以用于以定時作為目的。但是應(yīng)該注意到的是:每一次作為外部數(shù)據(jù)存儲器時,就會跳過一個ALE脈沖。如果想要使ALE的輸出禁止,可以在SFR8EH的地址端置0。此時, ALE僅會在執(zhí)行到MOVX指令時,MOVC指令是ALE才將起作用。另外,該引腳會被稍稍的拉高。如果

14、微處理器在外部執(zhí)行的狀態(tài)ALE被禁止時,那么置位將會無效。 EA/VPP:當(dāng)/EA保持低電平的狀態(tài)時,那么在此期間外部的程序存儲器(0000H-FFFFH),不管其是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將會內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH的編程期間,這個引腳也可以用于施加12V的編程電源(VPP)。 /PSEN:外部程序存儲器的選通信號。當(dāng)外部程序存儲器讀取指令的時候,每個機(jī)器周期兩次的/PSEN才會有效。但當(dāng)在訪問外部數(shù)據(jù)存儲器的時侯,這兩次有效的/PSEN信號將不會再出現(xiàn)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 X

15、TAL2:來自反向振蕩器的輸出。 振蕩器特性: XTAL1為反向放大器的輸入,XTAL2是反向放大器的輸出。該反向放大器將會配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩都可以采用。如果采用的是外部時鐘源驅(qū)動器件,XTAL2應(yīng)該不接。有余輸入到內(nèi)部時鐘信號需要通過一個二分頻的觸發(fā)器,因此對外部時鐘信號的脈寬將無任何的要求,但必須要滿足脈沖的高低電平要求的寬度。振蕩電路的接線如下圖所示: 3.2 溫度采集模塊溫度由DALLAS公司所生產(chǎn)的一線式數(shù)字溫度傳感器DS18B20采集。DS18B20的測溫范圍位- 55°125°C,測試的分辨率能夠達(dá)到0.0625°C,測試的溫度用符

16、號擴(kuò)展位16位形式串行輸出。CPU只需一根端口線就可以與多個DS18b20進(jìn)行通信,占用的微處理器的端口較少,進(jìn)而可以節(jié)省大量的引線與邏輯電路。DS18B20的內(nèi)部是一個9字節(jié)的高速存儲器,存儲器用來存儲所設(shè)定的溫度值。其中它的前兩個字節(jié)是將要測得的溫度數(shù)據(jù),第一字節(jié)所存儲的是溫度的低八位,第二字節(jié)會是溫度的高八位,第三和第四字節(jié)將是溫度的上限Th與溫度的下限TL的易失性拷貝,第五字節(jié)會是結(jié)構(gòu)存儲器的易失性拷貝,此三字節(jié)的內(nèi)容在每一次的上電復(fù)位時均會被刷新,第六、七、八三個字節(jié)是用于內(nèi)部的計算,而第九字節(jié)為冗余校驗字節(jié),用于保證通信的準(zhǔn)確性。當(dāng)溫度轉(zhuǎn)換命令發(fā)出轉(zhuǎn)換命令后,經(jīng)過轉(zhuǎn)換的溫度值將會以

17、二字節(jié)補(bǔ)碼的形式存放在此存儲器的第一和第二字節(jié)中。單片機(jī)能夠通過單線接口讀到數(shù)據(jù),讀數(shù)據(jù)時低位在前,高位在后,其中的高五位是符號位,中間的七位是整數(shù)位,最低四位將會是小數(shù)位。DS18B20的最大特點是單總線數(shù)據(jù)的傳輸方式,因而對于讀寫的數(shù)據(jù)位有著嚴(yán)格的時序要求。例如包括初始化時序、讀時序、寫時序。每一條命令和數(shù)據(jù)的傳輸都是從單片機(jī)寫時序開始的,如要求DS18B20回送數(shù)據(jù),那么在進(jìn)行寫命令后,單片機(jī)需要啟動讀時序才能夠完成數(shù)據(jù)的接收。命令和數(shù)據(jù)的傳輸都是低位在先。如下圖為DS18B20在proteus中的的實物圖以及對于DS18B20的特性的介紹: DS18B20是DALLAS公司生產(chǎn)的1Wi

18、re,即單總線器件,具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易配微處理器等優(yōu)點,與單片機(jī)接口時僅需占用一個I/O端口,無須任何外部元件,就直接可以將環(huán)境溫度轉(zhuǎn)化成串行數(shù)字信號供處理器處理。其特性如下:(1)只要求一個端口即可實現(xiàn)通信。(2)在DS18B20中的每個器件上都會有獨(dú)一無二的序列號。(3)測量的溫度范圍是55到125之間。(4)在實際的應(yīng)用中不需要任何外部元器件即可實現(xiàn)測溫。 (5)內(nèi)部有溫度上限和下限的報警設(shè)置。 (6)用戶可以從9位到12位來選擇數(shù)字溫度計的分辨率。 (7)支持多點測溫的功能,若干個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)思維多點測溫。(8)電源極性接反時

19、,芯片不會因為發(fā)熱而燒毀,但不能正常的工作。如果需要控制多個DS18B20進(jìn)行溫度采集時,只需將DS18B20的I/O口都連到一起。如下圖所示。DS18B20的引腳功能為:DQ為數(shù)字信號的輸入/輸出端;GND為電源接地標(biāo)志;VCC為外接供電電源的輸入端。本設(shè)計使用單片機(jī)AT89C51的P3.4口與DS18B20的單總線端口DQ相連。DS18B20內(nèi)部結(jié)構(gòu)主要是由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL以及配置寄存器。DS18B20在出廠時的默認(rèn)設(shè)置為12位,最高位為符號位,溫度值共11位。單片機(jī)在讀取數(shù)據(jù)時可以一次讀取2個字節(jié)共16位,前5位為符號位,當(dāng)前5位

20、為1時,當(dāng)讀取的溫度為負(fù)值時,讀到的數(shù)值要取反加1再乘以0.0625才是它的實際溫度值。而當(dāng)前5位為0時,讀取的溫度為正值,讀到的數(shù)值直接乘以0.0625便是實際的溫度值。根據(jù)DS18B20的通訊協(xié)議,主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:在每一次的讀寫之前都需要對DS18B20進(jìn)行復(fù)位,并且在復(fù)位成功后還要發(fā)送一條ROM指令,最后再發(fā)送RAM指令,只有這樣才能夠?qū)S18B20進(jìn)行預(yù)定的操作。復(fù)位成功后會要求主CPU將數(shù)據(jù)線下拉500微秒左右,然后將會釋放,DS18B20在收到信號后將會等待1660微秒左右,然后將發(fā)出60240微秒的存在低脈沖,此時主CPU收到此信號才能夠表示

21、復(fù)位成功。在實際使用的中,DS18B20有以下事項需要注意:在對DS18B20的讀寫的編寫程序時,必須嚴(yán)格的保證讀寫時序,如若不然將會無法讀取到測得的溫度結(jié)果。 在用DS18B20進(jìn)行長距離測溫系統(tǒng)設(shè)計時要充分考慮總線分布電容和阻抗匹配問題。因為連接DS18B20的總線電纜是有長度限制的。當(dāng)向DS18B20發(fā)出溫度轉(zhuǎn)換的指令后,程序要等待DS18B20的返回信號,假如某個DS18B20接觸不好,當(dāng)程序讀該DS18B20時,將沒有返回信號,程序會進(jìn)入死循環(huán)。DS18B20與單片機(jī)的連接如下圖所示:3.3 液晶顯示器 液晶顯示器也成為LCD,由于LCD的控制必須使用專用的驅(qū)動電路,且LCD面板的接

22、線需要特殊的技巧,再加上LCD面板十分的脆弱,因此一般不單獨(dú)的使用,而是將LCD面板、驅(qū)動電路與控制電路組合成LCM模塊一起使用。LCM是一種很省電的電子設(shè)備,常被應(yīng)用在數(shù)字或單片機(jī)控制系統(tǒng)中。液晶顯示器選用LM016L,它是顯示兩行的字符型LCD顯示器,它是由32個字符點陣塊組成。每個字符點陣塊都是由5×7或5×10個點陣組成,并可以顯示ASCII表中所有的可視字符。它的內(nèi)部內(nèi)置了字符產(chǎn)生器ROM,字符產(chǎn)生器RAM和顯示數(shù)據(jù)RAM,CGROM的內(nèi)部內(nèi)置了192個常用字符的字模,且CGRAM包含了8個字節(jié)的RAM,可以用來存放用戶自定義的字符,DDRAM就是用來寄存等待選擇

23、的字符的代碼。LM016L字符型與單片機(jī)之間的連接主要有兩種:直接訪問方式連接和間接控制方式連接。 直接訪問方式連接是由單片機(jī)的讀、寫和高位地址線共同控制LCM的E端,由高位地址線其中的兩條分別與RS端和R/W端相連,由單片機(jī)的P0口與LCM的DB0DB7相連,這樣就可以構(gòu)成了三總線(數(shù)據(jù)總線DB、地址總線AB和控制總線CB)的連接方式。由于構(gòu)成了三總線的結(jié)構(gòu),所以在軟件控制上比較簡單,用通過訪問外部地址的方式就能訪問LCM。但是,在使用這種連接方式時需要注意單片機(jī)的控制總線時序和地址總線時序必須要與LCM所需要的時序相匹配,否則將無法訪問。LM016L主要技術(shù)參數(shù)如下:顯示容量:16*2個字

24、符芯片工作電壓:4.55.5V工作電流:2.0mA字符尺寸:2.95*4.35(W*H)mm管腳號名稱電平功能描述1VSS0V2VDD5.0V3VEE4RSH/LH:數(shù)據(jù)線上為數(shù)據(jù)信號;L:數(shù)據(jù)線上為指令信號5RWH/LH:讀數(shù)據(jù)模式;L:寫數(shù)據(jù)模式6EH/L使能信號端714DB0DB7H/L數(shù)據(jù)口采用液晶顯示裝置即把溫度信號顯示在液晶顯示器上,不僅結(jié)構(gòu)簡單清新可見,而且省電容易控制。數(shù)據(jù)的傳輸采用P0口進(jìn)行控制, 與顯示器的D0D7腳相連,同時連接一個8腳排阻。其引腳VSS和VEE接地,VDD接高電平,RS和RW、E是顯示器的控制端,分別由單片機(jī)的引腳P2.0、P2.1、P2.2進(jìn)行控制。如

25、下圖所示:液晶顯示器與單片機(jī)的連接圖3.4 外部存儲模塊外部存儲器選用的是美國ATMEL公司生產(chǎn)的低功耗的CMOS型E2PROM器件AT24C02C,它的內(nèi)部含有256×8位的存儲空間,而且它還具有工作電壓寬,擦寫次數(shù)多、寫入速度快、數(shù)據(jù)不易丟失等特點。它采用了I2C的總線規(guī)程,能夠使主機(jī)和從機(jī)實現(xiàn)雙向通信。主機(jī)會通過SCL引腳產(chǎn)生串行的通信時鐘信號并且可以發(fā)出控制字,用于控制總線的數(shù)據(jù)傳輸?shù)拈_始、方向和停止。不管是主機(jī)或者是從機(jī),每當(dāng)接收到一個字節(jié)后必須發(fā)出一個確認(rèn)信號。AT24C02C占用很少的資源和I/O線,且支持在線編程,數(shù)據(jù)實時存取十分的方便。如下圖為存儲器相關(guān)的電路圖:

26、3.5 鍵盤的設(shè)置鍵盤可以分為兩種:非編碼式鍵盤和編碼式鍵盤。非編碼式鍵盤是利用按鍵直接與單片機(jī)進(jìn)行連接而成的,這種鍵盤通常使用的按鍵數(shù)量較少,使用這種鍵盤,系統(tǒng)的功能通常比較簡單,需要完成的任務(wù)較少,同時可以降低系統(tǒng)的成本、簡化電路的設(shè)計。非編碼式鍵盤的接口電路需要根據(jù)設(shè)計者的需要自行決定,按鍵信息是通過單片機(jī)的接口軟件來獲取。編碼式鍵盤是較多按鍵和專用驅(qū)動芯片組合而成的,當(dāng)某個按鍵按下時,它能夠處理按鍵抖動、連擊等問題,直接輸出按鍵的編碼,無需系統(tǒng)軟件的干預(yù)。鍵盤的工作方式有三種:編碼掃描工作方式、中斷工作方式和定時掃描工作方式。本文的鍵盤設(shè)置包括四個按鍵:啟動鍵、溫度的增加鍵、溫度的降低

27、鍵和確認(rèn)鍵。通過這四個鍵的整體配合,可以方便快捷的調(diào)節(jié)溫度的值,從而可以根據(jù)設(shè)置的溫度的上下限值觀察報警燈的工作狀態(tài),使調(diào)節(jié)的過程安全可靠。如下為此次電路的相關(guān)的按鍵的電路圖:3.6 控制電路模塊該部分電路有光耦合元件4N25、繼電器、三極管、指示燈以及若干電阻構(gòu)成。該部分電路的主要作用是光電隔離,即消除后級電路對前級單片機(jī)的影響。三極管是使用NPN型的,把其集電極接+5V電壓,射極接繼電器。當(dāng)單片機(jī)的引腳給出低電位時,光耦合元件4N25內(nèi)部的發(fā)光二極管亮,使其內(nèi)部的三極管導(dǎo)通,進(jìn)而使引腳上的10K電阻分得電壓。控制電路可以實時的反應(yīng)溫度值的大小,可以為溫度的變化帶來迅速、準(zhǔn)確的響應(yīng)。如下為控

28、制電路圖:在本設(shè)計中控制方法是定值開關(guān)溫度控制,沒有采用PID控制算法,基本可以滿足本設(shè)計要求。在實際應(yīng)用中還有PD、PID算法,可以達(dá)到比較高的精度。對于不同的控制對象,所采用的算法也應(yīng)該有所不同。比如對于熱慣性大、耦合強(qiáng)、時間滯后明顯、難以建立精確數(shù)學(xué)模型的大型立式淬火爐,有時就會采用人工智能模糊控制的算法,借以對淬火爐電熱元件通斷比的調(diào)節(jié),來實現(xiàn)對爐溫的自動控制,有時也可以采用仿人智能控制(SHIC)算法結(jié)合PID控制算法的聯(lián)合控制方案,對于不同的對象在實際應(yīng)用時應(yīng)該靈活運(yùn)用。4 系統(tǒng)軟件設(shè)計及調(diào)試4.1 程序流程圖 如下圖所示為主程序的流程圖:由主程序流程圖可知:主程序調(diào)用了5個子程序

29、,它們是按鍵掃描及處理程序、LCD顯示程序、AT24C02C讀寫程序、溫度的采集程序、溫度越界判決程序等。LCD顯示程序是用于將溫度的值實時的顯示在屏幕上;按鍵掃描及處理程序是按鍵的輸入、實現(xiàn)各個按鍵的功能;溫度的采集程序就是將DS18B20所采集到的現(xiàn)場溫度讀入到指定的數(shù)組中;溫度越界判決程序是根據(jù)存儲器存儲的溫度的上下限值與實際的溫度進(jìn)行比較,如果溫度的實際值超過了溫度的上限值,指示紅燈就亮,如果溫度的實時值低于設(shè)定的溫度的下限值,這指示綠燈就亮。從而可以根據(jù)指示燈的情況對溫度的值進(jìn)行判斷;AT24C02讀寫程序,是用于存儲和調(diào)用所設(shè)定的溫度的上下限值。4. 2 系統(tǒng)的Proteus仿真4

30、.2.1 Proteus仿真軟件的簡單介紹 Proteus是英國Labcenter electronics公司研發(fā)的EDA設(shè)計軟件, 是一個基于ProSPICE混合模型仿真器的,完整的嵌入式系統(tǒng)軟、硬件設(shè)計仿真平臺。 Proteus不僅可以做數(shù)字電路、模擬電路、數(shù)?;旌想娐返姆抡?,還可進(jìn)行多種CPU的仿真,涵蓋了51、PIC、AVR、HC11、ARM等處理器,真正實現(xiàn)了在計算機(jī)上從原理設(shè)計、電路分析、系統(tǒng)仿真、測試到PCB板完整的電子設(shè)計,實現(xiàn)了從概念到產(chǎn)品的全過程。下面介紹一下PROTEUS的編輯環(huán)境。(1)工作界面Proteus ISIS的工作界面是一種標(biāo)準(zhǔn)的Windows界面,如圖4.2

31、.1所示。包括:繪圖工具欄、標(biāo)題欄、預(yù)覽窗口、對象選擇器窗口、預(yù)覽對象方位控制按鈕、主菜單、標(biāo)準(zhǔn)工具欄、圖形編輯窗口、狀態(tài)欄、對象選擇按鈕、仿真進(jìn)程控制按鈕。圖4.2.1 Proteus ISIS的工作界面 (2) 主菜單PROTEUS包括File、 Edit、View等12個菜單欄,如圖5.2所示。每個菜單欄又有自己的菜單,PROTEUS的菜單欄完全符合WINDOWS操作風(fēng)格。圖4.2.2 Proteus ISIS的菜單欄(3) 工具欄工具欄包括菜單欄下面的標(biāo)準(zhǔn)工具欄和圖5.1右邊的繪圖工具欄,標(biāo)準(zhǔn)工具欄的內(nèi)容與菜單欄的內(nèi)容一一對應(yīng),繪圖工具欄有豐富的操作工具,選擇不同的按紐會得到不同的工具

32、。4.2.2 編程軟件Keil的簡單介紹 Keil使用“工程”(Project)的概念,對工程(而不能對單一的源程序)進(jìn)行編譯/匯編、連接等操作。首先新建工程(Project-new project),如圖4-2-1所示。 圖 4-2-1 新建工程 文件保存類型為.uv2,如下圖所示:圖 4-2-2 保存工程 點擊保存后在跳出來的對話框中選擇Ateml下面的89c51單片機(jī)。如圖4-2-3所示。圖 4-2-3 選擇單片機(jī)類型此時的工程管理窗口的文件頁(Files)上會出現(xiàn)“Target1”,點擊前面的+,接著選擇Source Group1,右鍵單擊會彈出快捷菜單,然后選擇“Add File t

33、o Group Source Group1”這一命令,如圖4-2-4所示。出現(xiàn)了一個對話框,需要尋找并加入源文件,源文件后綴為.c或.asm,如圖4-2-5所示。打開空白c文件就可以開始編寫程序了。圖 4-2-4 添加源文件圖 4-2-5 源文件4.3 相關(guān)程序的簡單的介紹4.3.1 DS18B20測溫程序設(shè)計1、DS18B20的控制指令如下: CCH跳過ROM。忽略64位ROM地址,直接向DS18B20發(fā)送溫度變換命令。 55H匹配ROM,發(fā)出此命令后發(fā)出64位ROM編碼,訪問單總線上與該編碼相對應(yīng)的DS18B20并使之做出響應(yīng)。 33H讀ROM中的編碼。如果主機(jī)只對一個DS18B20進(jìn)行操

34、作(即本設(shè)計這樣的情況),只需用跳過ROM(CCH)命令就可進(jìn)行溫度轉(zhuǎn)換和讀取操作。如下: 44H溫度轉(zhuǎn)換。啟動DS18B20進(jìn)行溫度轉(zhuǎn)換,結(jié)果存入內(nèi)部9字節(jié)的RAM中。 BEH讀暫存器。讀內(nèi)部RAM中9字節(jié)的溫度數(shù)據(jù)。 4EH寫暫存器。發(fā)出向內(nèi)部RAM的第2、3字節(jié)寫上下限溫度數(shù)據(jù)命令,隨后傳送兩字節(jié)的數(shù)據(jù)。2、工作時序及相應(yīng)程序: 初始化: 先將數(shù)據(jù)線置高電平1; 延時; 數(shù)據(jù)線拉到低電平0; 延時; 數(shù)據(jù)線拉到高電平1; 延時等待; 數(shù)據(jù)線再次拉到高電平1。 具體的程序應(yīng)用如下: void dsreset(void) uint i; ds=0; i=103;while(i>0)i-

35、;ds=1;i=4;while(i>0)i-; 寫數(shù)據(jù): 數(shù)據(jù)線置低電平0; 延時15us; 按從低位到高位的順序發(fā)送數(shù)據(jù); 延時45 us; 將數(shù)據(jù)線拉到高電平1; 重復(fù)步驟,直到發(fā)送完整個字節(jié); 再次將數(shù)據(jù)線拉高到1。 讀數(shù)據(jù): 將數(shù)據(jù)線拉高到1; 延時2us; 將數(shù)據(jù)線拉低到0; 延時6us; 將數(shù)據(jù)線拉高到1; 延時4us; 讀數(shù)據(jù)線的狀態(tài)得到一個狀態(tài)位,并進(jìn)行數(shù)據(jù)處理; 延時30us; 重復(fù)步驟,直到讀取完一個字節(jié)。 在編寫具體的程序時,首先要對DS18B20進(jìn)行復(fù)位初始化,其次編寫讀一位數(shù)據(jù)函數(shù)、讀一個字節(jié)數(shù)據(jù)函數(shù)、寫一個字節(jié)數(shù)據(jù)函數(shù)、溫度的獲取轉(zhuǎn)換程序、讀溫度程序等子程序。

36、4.3.2 LM016L顯示程序設(shè)計1、顯示器與單片機(jī)的接口程序如下:#include <at89x51.h> /用AT89C51時就用這個頭文件#include <intrins.h>sbit LcdRs= P20;sbit LcdRw= P21;sbit LcdEn = P22;sfr DBPort = 0x80; /P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.數(shù)據(jù)端口2、初始化設(shè)置:原則上每次進(jìn)行讀/寫之前都必須進(jìn)行讀/寫檢測,但由于單片機(jī)的操作速度慢于液晶控制器的反應(yīng)速度,因此可以用簡單延時代替讀/寫檢測。其內(nèi)部等待函數(shù)的程序如下:unsig

37、ned char LCD_Wait(void)LcdRs=0;LcdRw=1;_nop_();LcdEn=1;_nop_()LcdEn=0;return DBPort;3,、寫操作時序: 通過RS確定是寫數(shù)據(jù)還是寫命令。寫命令包括使液晶的光標(biāo)顯示/不顯示,需/不需要移屏,在液晶的什么位置顯示等等,寫數(shù)據(jù)是寫要顯示的內(nèi)容。 讀/寫控制端設(shè)置為寫模式,即低電平。 將數(shù)據(jù)或命令送達(dá)數(shù)據(jù)線上。 給E使能端一個高脈沖將數(shù)據(jù)送入液晶控制器,完成寫操作。例如,寫命令的程序如下: #define LCD_COMMAND0 / Command #define LCD_DATA1 / Data #define L

38、CD_CLEAR_SCREEN0x01 / 清屏 #define LCD_HOMING 0x02 / 光標(biāo)返回原點 void LCD_Write(bit style, unsigned char input) LcdEn=0; LcdRs=style; LcdRw=0; _nop_(); DBPort=input; _nop_();/注意順序 LcdEn=1; _nop_();/注意順序 LcdEn=0; _nop_(); LCD_Wait(); 本設(shè)計顯示程序包括LCD清屏程序、寫入控制命令子程序、寫入數(shù)據(jù)子程序、初始化程序等。4.4 Keil與Proteus聯(lián)調(diào)程序編寫完成后,進(jìn)行編譯及聯(lián)

39、調(diào)。步驟如下:1、把安裝目錄ProteusMODELS 下的VDM51.dll 文件復(fù)制到Keil 安裝目錄的C51BIN 目錄中。2、修改Keil 安裝目錄下Tools.ini 文件,在C51 字段加入TDRV5=BINVDM51.DLL(“PROTEUS 6 EMULATOR”)并保存。不一定要用TDRV5,根據(jù)原來字段選用一個不重復(fù)的數(shù)值就可以。引號內(nèi)的名字隨意。 3、單擊“Project菜單/Options for Target”選項或者點擊工具欄的“option for ta rget”按鈕,彈出窗口,圖 4-4-1 仿真設(shè)置界面點擊“Debug”按鈕后,在出現(xiàn)的對話框里的右上欄Us

40、e后面的下拉菜單里選中“Proteus VSM Monitor一51 Driver”這一命令,此后還要點擊一下“Use”前面表明選中的小圓點。如圖4-4-2所示。圖 4-4-2 仿真設(shè)置再點擊“Setting”按鈕,此時需要設(shè)置通信的接口,在“Host”后面需要添上“127.0.0.1”,當(dāng)使用的不是同一臺電腦時,則需要在這里添上另一臺電腦的IP地址。在“Port”后面添加“8000”。設(shè)置好的情形如圖4-4-3所示,點擊“OK”按鈕即可。最后將工程編譯,進(jìn)入調(diào)試狀態(tài),并運(yùn)行。圖 4-4-3 通信接口設(shè)置4、Proteus的設(shè)置進(jìn)入Proteus的ISIS,左鍵單擊菜單“Debug”, 然后選

41、中“use romote debuger monitor”,這一命令,如圖4-4-4所示。此后,即可實現(xiàn)KeilC與Proteus的連接調(diào)試。 圖 4-4-4 選擇遠(yuǎn)程控制5、KeilC與Proteus連接仿真調(diào)試(1)單擊仿真運(yùn)行開始按鈕,開始仿真。仿真圖如下A所示 A.仿真開始時 (2)當(dāng)按下Set按鍵后,仿真如B圖所示 B.按下Set鍵 (3)當(dāng)按下UP鍵后,仿真如C所示 C.按下UP鍵 (4)當(dāng)按下DOWN鍵,仿真如D圖所示 D.按下DOWN鍵 (5)當(dāng)按下OK鍵,仿真如圖E圖所示 E.按下OK鍵總體的仿真效果如圖4-4-5所示。圖 4-4-5 仿真效果圖結(jié)束語本設(shè)計的課題任務(wù)是顯示實

42、際溫度值、設(shè)定溫度值,并對這兩個溫度進(jìn)行比較控制,使實際溫度始終保持在一定范圍內(nèi)。在實際工業(yè)生產(chǎn)中,設(shè)定溫度的范圍會比較廣泛,相應(yīng)的實際溫度范圍可能也比較寬泛,DS18B20溫度范圍窄有可能不適合,需要選用其他適合的溫度傳感器。生產(chǎn)中的溫度控制精度會比較高,需要使用先進(jìn)控制算法,比如模糊PID控制。本設(shè)計中報警系統(tǒng)采用了發(fā)光二極管,還可以加上蜂鳴器報警。顯示器也有使用溫度的限制,總之,對不同的要要選用合適的元器件。本設(shè)計初步實現(xiàn)了溫度的控制功能,在此基礎(chǔ)上可以提高控制精度及顯示精度,擴(kuò)大溫度控制范圍,實現(xiàn)更多的控制報警功能,并可根據(jù)本設(shè)計制作出硬件電路板。用單片機(jī)控制電熱爐的溫度是一種主流趨勢,并有可能在今后用嵌入式系統(tǒng)來進(jìn)行溫度控制,采用先進(jìn)控制算法來進(jìn)行設(shè)計。經(jīng)過半個多學(xué)期的學(xué)習(xí),基本完成

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論