




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于PID的恒溫箱溫度控制系統(tǒng)設(shè)計(2008屆) 2008年6月摘 要本設(shè)計是恒溫箱溫度控制系統(tǒng)設(shè)計。可供各類實驗室、醫(yī)療機(jī)構(gòu)、食品加工、生產(chǎn)部門等使用。在周圍溫度不斷變化條件下,使用恒溫箱,可以使一定范圍的溫度恒定在特定溫度下,從而適應(yīng)生活和工作??刂频臏囟确秶鸀?0120。恒溫箱可以在線設(shè)定溫度,并對溫度進(jìn)行實時數(shù)碼顯示。設(shè)計內(nèi)容包括硬件和軟件兩個部分。硬件主要由AT89S52單片機(jī)、DS18B20數(shù)字溫度傳感器、8155片外存儲器、繼電器,LED數(shù)碼管和報警器等組成。電原理圖包括數(shù)據(jù)采集、溫度顯示、鍵盤設(shè)定、溫度控制和復(fù)位電路等幾個模塊。軟件部分主要對PID算法進(jìn)行了數(shù)學(xué)建模和編程。本設(shè)
2、計由鍵盤電路輸入設(shè)定溫度信號給單片機(jī),溫度信號采集電路采集現(xiàn)場溫度信號給單片機(jī),單片機(jī)根據(jù)輸入與反饋信號的偏差進(jìn)行PID計算,輸出控制信號給加溫控制電路,實現(xiàn)加溫和停止。當(dāng)實際溫度比設(shè)定溫度大2攝氏度以上時,則清P1.3輸出口,從而停止對電阻絲的加熱。當(dāng)實際溫度比設(shè)定溫度小2攝氏度以上時,取PID的最大值,實現(xiàn)全功率輸出。在它們之間時,實現(xiàn)PID算法控制,控制可控硅的接觸時間,調(diào)節(jié)電阻絲功率。顯示電路實現(xiàn)現(xiàn)場溫度的實時監(jiān)控。軟件部分 ,采用PID控制和時間最優(yōu)控制相結(jié)合的控制方案,實現(xiàn)了控制速度快、超調(diào)小、線性控制精度高和實現(xiàn)成本低等的優(yōu)點。硬件部分采用單片機(jī)來實現(xiàn)溫度控制,不僅具有控制方便、
3、簡單、靈活等優(yōu)點,而且可以大幅度的提高被控溫度的技術(shù)指標(biāo),從而大大提高產(chǎn)品的質(zhì)量。關(guān)鍵詞:恒溫控制,單片機(jī),數(shù)字PID算法ABSTRACTThe system of this design is the temperature controller of a constant temperature box.Can be provided as each kind of laboratory, medical treatment organization, food processing and produce the section etc. usage.Under the conditio
4、n that the surroundings temperature continuously change, the usage constant temperature box, can make the temperature maintaining of the certain scope settle under the particular temperature, thus adapt the life and works.The temperature scope of the control is 50-120, The constant temperature box c
5、an with on-line enactment temperature, and carry on the solid hour to the temperature figures manifestation.When be placed in to set the appearance, figures tube manifestation enactment temperature, circulate, manifestation actual temperature.Design content including hardware and software two parts.
6、 The hardware mainly by at89S52 monolithic integrated circuit, the DS18B20 digit temperature sensor, 8155 piece of external memory, the relay, the LED nixietube and the alarm apparatus and so on is composed. Electricity schematic diagram including data acquisition, temperature demonstration, keyboar
7、d hypothesis, temperature control and reset circuit and so on several modules. The software part mainly has carried on mathematics modelling and the programming to the PID algorithm.The circuit design of the keyboard input from the set temperature signal to the microcontroller, Temperature Signal Ac
8、quisition Circuit collect temperature signal to the microcontroller, According to SCM input and feedback signal, the error for PID, the output control signals to the heating control circuit, Heating and achieve stop. Show circuit scene of the real-time monitoring of temperature. When actual temperat
9、ure compares to set temperature big more than 2 degrees , then the pureexportation, thus stop to electric resistance silk of heating.When the actual temperature compares to set smaller than 2 degrees , taking the PID biggest value, carrying out the whole power exportation.among the two , carry out t
10、he PID calculate way control, control contact time that controvable silicon , regulate the electric resistance silk power. software part, the adoption PID control and the control project that time superior control combine together, carried out to control the speed quick, super adjust small, line con
11、trol the accuracy is high and carry out the cost advantage of low etc.The hardware part adopts a machine to carry out the temperature control, not only have the control convenience, simple, vivid etc. advantage, and can is control with the significant exaltation the technique index sign of the tempe
12、rature, raise the quantity of the product thus and consumedly.Keywords:Temperature,control,microcontroller,PID,algorithm, MATLAB目 錄緒論 把溫度作為被控參數(shù)進(jìn)行研究無論在工業(yè)生產(chǎn),還是在日常生活中,都已經(jīng)變得非常適用和廣泛了。在工業(yè)生產(chǎn)中,例如冶金工業(yè)、化工生產(chǎn)、電力工程、食品加工、機(jī)械制造、醫(yī)療以及科研研究室等,人們對需要對溫度進(jìn)行監(jiān)測和控制;而日常生活中的家用電器如電烤箱、微波爐、烘干箱、保溫箱等等,也是我們不可或缺的。因此,就恒溫箱的研究就有極其重要的現(xiàn)實意義
13、。本設(shè)計系統(tǒng)主要由AT89S52單片機(jī)、8155片外存儲器、繼電器、27128片外存儲器和DS18B20數(shù)字溫度傳感器等組成。電原理圖包括數(shù)據(jù)采集、BCD碼轉(zhuǎn)換和溫度顯示、鍵盤設(shè)定、溫度控制和復(fù)位電路等幾個模塊。通常,采用單片機(jī)系統(tǒng)來實現(xiàn)對溫度的控制,不僅具有控制方便、簡單、靈活等優(yōu)點,而且可以大幅度的提高被控溫度的技術(shù)指標(biāo)。 在本設(shè)計中,需要達(dá)到以下幾點技術(shù)要求:(1) 控制溫度范圍50-120,控制精度為2 。(2) 溫度采集數(shù)字量輸入。(3) 鍵盤按鍵輸入,具有設(shè)定功能。(4) 顯示功能,數(shù)碼管顯示設(shè)定值及當(dāng)前所測溫度值。(5) 具有超溫報警功能。本課題應(yīng)該解決的問題:在設(shè)計過程中,對硬
14、件選型時一定要注意控制精度。所選用的芯片必須達(dá)到我們設(shè)計任務(wù)書中的精度要求。顯然,恒溫箱的微機(jī)系統(tǒng)的設(shè)計是一個閉環(huán)控制系統(tǒng),雖然可以到達(dá)一定的精度,但是仍然有極限。核心設(shè)計內(nèi)容是硬件和軟件部分,硬件是基礎(chǔ),在軟件設(shè)計中,分析清楚各個功功能模塊,如主程序,中斷服務(wù)程序,以及包含在中斷程序中的數(shù)據(jù)采集, PID控制,溫度顯示子程序。第一章 方案設(shè)計分析 控制模塊的選擇,數(shù)字比較器與模擬控制器相比較,數(shù)字比較器具有以下幾個優(yōu)點: 1、模擬調(diào)節(jié)器調(diào)節(jié)能力有限,當(dāng)控制規(guī)律較為復(fù)雜時,就難以甚至無法實現(xiàn)。而數(shù)字控制器能實現(xiàn)復(fù)雜控制規(guī)律的控制。 2、計算機(jī)具有分時控制能力,可實現(xiàn)多回路控制。 3、數(shù)字控制器
15、具有靈活性。起控制規(guī)律可靈活多樣,可用一臺計算機(jī)對不同的回路實現(xiàn)不同的控制方式,并且修改控制參數(shù)或控制方式一般只可改變控制程序即可,使用起來簡單方便,可改善調(diào)節(jié)品質(zhì),提高產(chǎn)品的產(chǎn)量和質(zhì)量。 4、采用計算機(jī)除實現(xiàn)PID數(shù)字控制外,還能實現(xiàn)監(jiān)控、數(shù)據(jù)采集、數(shù)字顯示等其他功能。綜合考慮,本設(shè)計控制模塊采用數(shù)字PID調(diào)節(jié)器。本系統(tǒng)是一個恒溫箱的溫度控制器。其控溫范圍是50-120攝氏度??刂破骺梢栽诰€設(shè)定控制溫度,并對溫度進(jìn)行實時數(shù)碼顯示。當(dāng)系統(tǒng)處于設(shè)定狀態(tài)時,數(shù)碼管顯示設(shè)定溫度值,平時顯示實際溫度。當(dāng)實際溫度與設(shè)定溫度偏差達(dá)小于負(fù)2時,全功率加熱電阻絲,當(dāng)偏差值在正負(fù)2的范圍內(nèi)時,實行PID控制來達(dá)
16、到控制溫度的目的,當(dāng)偏差值大于2時,停止加熱,從而達(dá)到恒溫控制的目的。這樣的一閉環(huán)控制系統(tǒng),其控制速度快,超調(diào)小、線性控制精度高和實現(xiàn)成本低。根據(jù)上面分析,結(jié)合控制要求,總體方案確定如下為了使設(shè)計的成本低、抗干擾強(qiáng),系統(tǒng)動態(tài)性能與穩(wěn)態(tài)性能好的前提下,設(shè)計方案的總體結(jié)構(gòu)框圖如圖1.4所示:AT89S52單片機(jī)按 鍵LED 顯 示溫 度 采 集 EEPROM控制繼電器越 限 報 警圖1.4 設(shè)計總體結(jié)構(gòu)框圖此系統(tǒng)主要有單片機(jī)系統(tǒng)、用戶接口、溫度控制電路、傳感器等組成。單片機(jī)系統(tǒng)主要用來運行控制軟件,接受溫度設(shè)定和控制指令,輸入采樣溫度信息,輸出加熱控制信號、溫度顯示數(shù)據(jù)。(1)用戶接口包括溫度顯示
17、,報警和按鍵三部分。由于控溫范圍為50-120攝氏度,可以采用三位8段LED數(shù)碼管顯示。溫度超過一定的范圍報警。按鈕設(shè)置四個,分別為設(shè)定鍵、增鍵、減鍵和移位鍵。(2)DS18B20采集到的就是為數(shù)字信號。(3)繼電器的接通時間來控制電阻絲的加熱功率,而繼電器的接通時間又由P1.3上的觸發(fā)脈沖來控制。其中我主要負(fù)責(zé)按鍵、LED顯示、溫度采集第2章 恒溫控制系統(tǒng)硬件設(shè)計考慮到盡量降低成本和避免與復(fù)雜的電路,此系統(tǒng)所用到的元器件均為常用的電子器件。而主控器采用低功耗、高性能、片內(nèi)含8k byte可反復(fù)檫寫的Flash 、只讀程序器CMOS8位單片機(jī)AT89S52;溫度傳感器采用DALLAS公司生產(chǎn)的
18、單總線數(shù)字溫度傳感器DS18B20;采用控制端TTL電平,即可實現(xiàn)對繼電器的開關(guān),使用時完全可以用 NPN型三極管接成電壓跟隨器的形式驅(qū)動;單片機(jī)所需要的+5V工作電源是通過220V交流電壓通過變壓、整流、穩(wěn)壓、濾波得到。用DS18B20定時采集環(huán)境溫度存到EEPROM,通過三個LED實時顯示采集到的溫度值,并用此溫度與設(shè)定的溫度比較,通過單片機(jī)對偏差進(jìn)行PID運算,控制繼電器的通斷,加熱或斷開熱敏電阻,使溫度上升或下降,溫度達(dá)到時斷開繼電器,使溫度自然下降,不夠時接通繼電器加熱,控制顯示器、鍵盤并通過單片機(jī)來完成鍵盤掃描與輸出動態(tài)顯示。2.1 AT89S52單片機(jī)簡介2.1.1 AT89S5
19、2單片機(jī)資源簡介AT89S52的結(jié)構(gòu)如圖2.1所示。由于它的廣泛使用使得市面價格較8155、8255、8279要低,所以說用它是很經(jīng)濟(jì)的。該芯片具有如下功能:有1個專用的鍵盤/顯示接口;有1個全雙工異步串行通信接口;有2個16位定時/計數(shù)器。這樣,1個89S52,承擔(dān)了3個專用接口芯片的工作;不僅使成本大大下降,而且優(yōu)化了硬件結(jié)構(gòu)和軟件設(shè)計,給用戶帶來許多方便。89S52有40個引腳,有32個輸入端口(I/O),有2個讀寫口線,可以反復(fù)插除。所以可以降低成本。主要功能特性: (1)兼容MCS51指令系統(tǒng)(2)32個雙向I/O口線(3)3個16位可編程定時/計數(shù)器中斷(4)2個串行中斷口 (5)
20、2個外部中斷源(6)2個讀寫中斷口線(7)低功耗空閑和掉電模式(8)8k可反復(fù)擦寫(>1000次)Flash ROM(9)256x8 bit內(nèi)部RAM(10)時鐘頻率0-24MHz(11)可編程UART串行通道(12)共6個中斷源(13)3級加密位(14)軟件設(shè)置睡眠和喚醒功能2.1.2 AT89S52芯片2.1.3 AT89S52單片機(jī)時鐘和復(fù)位電路時鐘電路單片機(jī)內(nèi)部有一個高增益反向放大器,輸入端為芯片引腳,輸出端為引腳。而在芯片外部和 之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個穩(wěn)定的自激振蕩器。晶體震蕩頻率高,則系統(tǒng)的時鐘頻率也高,單片機(jī)運行速度也就快,但反過來運行速度快對存儲器的速
21、度要求就高,對印制電路板的工藝要求也高,所以,這里使用震蕩頻率為6MHz的石英晶體。震蕩電路產(chǎn)生的震蕩脈沖并不直接是使用,而是經(jīng)分頻后再為系統(tǒng)所用,震蕩脈沖經(jīng)過二分頻后才作為系統(tǒng)的時鐘信號。在設(shè)計電路板時,振蕩器和電容應(yīng)盡量靠近單片機(jī),以避免干擾。需要注意的是:電路板時,振蕩器和電容應(yīng)盡量安裝得與單片機(jī)靠近,以減小寄生電容的存在更好的保障振蕩器穩(wěn)定、可靠的工作電路圖如圖2.2所示復(fù)位電路單片機(jī)的復(fù)位電路分上電復(fù)位和按鍵復(fù)位兩種方式。(a)上電復(fù)位: 在加電之后通過外部復(fù)位電路的電容充電來實現(xiàn)的。當(dāng)?shù)纳仙龝r間不超過1ms,就可以實現(xiàn)自動上電復(fù)位,即接通電源就完成了系統(tǒng)的初始化電路原理圖。RST上
22、的電壓必須保證在斯密特觸發(fā)器的閥值電壓以上足夠長時間,滿足復(fù)位操作的要求。 (b) 按鍵復(fù)位:程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為了擺脫困境,也需按復(fù)位鍵以重新啟動。RST引腳是復(fù)位信號的輸入端,復(fù)位信號是高電平有效。按鍵復(fù)位又分按鍵脈沖復(fù)位(圖2.3)和按鍵電平復(fù)位。電平復(fù)位將復(fù)位端通過電阻與相連,按鍵脈沖復(fù)位是利用RC分電路產(chǎn)生正脈沖來達(dá)到復(fù)位的。(c) 注意:因為按鍵脈沖復(fù)位是利用RC微分電路產(chǎn)生正脈沖來達(dá)到復(fù)位的。所以電平復(fù)位要將復(fù)位端通過電阻與相連.如復(fù)位電路中R、C的值選擇不當(dāng),使復(fù)位時間過長,單片機(jī)將處于循環(huán)復(fù)位狀態(tài)。故本設(shè)計采用按鍵復(fù)位。.2DS18B20數(shù)字溫度傳感
23、器簡介2.2.1 DS18B20數(shù)字溫度傳感器資源簡介新的"一線器件"DS18B20體積更小、適用電壓更寬、更經(jīng)濟(jì)。 美國Dallas半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持 "一線總線"接口的溫度傳感器,在其內(nèi)部使用了在板(ON-B0ARD)專利技術(shù)。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。一線總線獨特而且經(jīng)濟(jì)的特點,使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念。現(xiàn)在,新一代的DS18B20體積更小、更經(jīng)濟(jì)、更靈活。使你可以充分發(fā)揮“一線總線”的優(yōu)點。目前D
24、S18B20批量采購價格僅10元左右。 DS18B20、DS1822 "一線總線"數(shù)字化溫度傳感器 同DS1820一樣,DS18B20也支持"一線總線"接口,測量溫度范圍為-55°C+125°C,在-10+85°C范圍內(nèi),精度為±0.5°C。DS1822的精度較差為±2°C?,F(xiàn)場溫度直接以"一線總線"的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如
25、:環(huán)境控制、設(shè)備或過程控制、測溫類消費電子產(chǎn)品等。與前一代產(chǎn)品不同,新的產(chǎn)品支持3V5.5V的電壓范圍,使系統(tǒng)設(shè)計更靈活、方便。而且新一代產(chǎn)品更便宜,體積更小。 DS18B20、DS1822的特性 DS18B20可以程序設(shè)定912位的分辨率,精度為±0.5°C??蛇x更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶設(shè)定的報警溫度存儲在EEPROM中,掉電后依然保存。DS18B20的性能是新一代產(chǎn)品中最好的!性能價格比也非常出色!DS1822與DS18B20軟件兼容,是DS18B
26、20的簡化版本。省略了存儲用戶定義報警溫度、分辨率參數(shù)的EEPROM,精度降低為±2°C,適用于對性能要求不高,成本控制嚴(yán)格的應(yīng)用,是經(jīng)濟(jì)型產(chǎn)品。繼"一線總線"的早期產(chǎn)品后,DS1820開辟了溫度傳感器技術(shù)的新概念。DS18B20和DS1822使電壓、特性及封裝有更多的選擇,讓我們可以構(gòu)建適合自己的經(jīng)濟(jì)的測溫系統(tǒng)。2.2.2 DS18B20數(shù)字溫度傳感器引腳介紹 DS18B20引腳定義: (1)DQ為數(shù)字信號輸入/輸出端; (2)GND為電源地; (3)VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。DS18B20電
27、路圖參考圖: DS18B20數(shù)字溫度傳感器的使用一、DS18B20的主要特性(1)適應(yīng)電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數(shù)據(jù)線供電(2)獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊(3)DS18B20支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫(4)DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi) (5)溫范圍55125,在-10+85時精度為±0.5(6)可編程的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5、0.
28、25、0.125和0.0625,可實現(xiàn)高精度測溫(7)在9位分辨率時最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快(8)測量結(jié)果直接輸出數(shù)字溫度信號,以"一線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強(qiáng)的抗干擾糾錯能力(9)負(fù)壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。 二、DS18B20的內(nèi)部結(jié)構(gòu) DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。存儲器和控制器64位ROM和是
29、單線接口溫度靈敏元件低溫觸發(fā)器高速緩存存儲器電源檢測高溫觸發(fā)器TH配置寄存器8位CRC生成器三、DS18B20工作原理 DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s減為750ms。 DS18B20測溫原理如圖3所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預(yù)置在55所對應(yīng)的一個基數(shù)值。計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計數(shù),當(dāng)計數(shù)器1的預(yù)置值減到0時,溫度寄存器
30、的值將加1,計數(shù)器1的預(yù)置將重新被裝入,計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖3中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預(yù)置值。DS18B20有4個主要的數(shù)據(jù)部件: (1)光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標(biāo)號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼(CRC
31、=X8+X5+X4+1)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20的目的。 (2)DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴(kuò)展的二進(jìn)制補碼讀數(shù)形式提供,以0.0625/LSB形式表達(dá),其中S為符號位。表1: DS18B20溫度值格式表LS byteBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0232221202-12-22-32-4LS byteBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8SSSSSS2
32、62524這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在18B20的兩個8比特的RAM中,二進(jìn)制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到實際溫度。 例如+125的數(shù)字輸出為07D0H,+25.0625的數(shù)字輸出為0191H,-25.0625的數(shù)字輸出為FF6FH,-55的數(shù)字輸出為FC90H。TEMPERATUREDIGITAL OUTPUTDIGITAL OUTPUT+1250000 0111 1101 000
33、007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.500000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90HThe power_on reset value of the
34、temperature register is +85(3)DS18B20溫度傳感器的存儲器 DS18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。 (4)配置寄存器該字節(jié)各位的意義如下:表3:配置寄存器結(jié)構(gòu)TMR1R011111低五位一直都是"1",TM是測試模式位,用于設(shè)置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設(shè)置為0,用戶不要去改動。R1和R0用來設(shè)
35、置分辨率,如下表所示:(DS18B20出廠時被設(shè)置為12位)表4:溫度分辨率設(shè)置表R1R0分辨率溫度最大轉(zhuǎn)換時間009位93.75ms0110位187.5 ms1011位375 ms1112位750 ms四、高速暫存存儲器 高速暫存存儲器由9個字節(jié)組成,其分配如表5所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補碼形式存放在高速暫存存儲器的第0和第1個字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后,數(shù)據(jù)格式如表1所示。對應(yīng)的溫度計算:當(dāng)符號位S=0時,直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時,先將補碼變?yōu)樵a,再計算十進(jìn)制值
36、。表5是對應(yīng)的一部分溫度值。第九個字節(jié)是冗余檢驗字節(jié)。表5:DS18B20暫存寄存器寄存器內(nèi)容字節(jié)地址溫度值低位(LS Byte)0溫度值高位(MS Byte)11高溫限值(TH)2低溫限值(TL)3配置寄存器4保留5保留6保留7CRC校驗值8根據(jù)DS18B20的通訊協(xié)議,主機(jī)(單片機(jī))控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,當(dāng)DS18B20收到信號后等待1660微秒左右,后發(fā)出60240微秒的存在低
37、脈沖,主CPU收到此信號表示復(fù)位成功。表6:ROM指令表指令約定代碼功能讀ROM33H讀DS18B20溫度傳感器ROM中的編碼(即64位地址)符合ROM55H發(fā)出此命令之后,接著發(fā)出64位ROM編碼,訪問單總線上與該編碼相對的DS18B20使之作出響應(yīng),為下一步對該DS18B20的讀寫作準(zhǔn)備搜索ROM0F0H用于確定掛接在同一總線上DS18B20的個數(shù)和識別64位ROM地址。為操作各器件作好準(zhǔn)備跳過ROM0CCH忽略64位ROM地址,直接向DS18B20發(fā)溫度變換命令,適用于單片機(jī)工作告警搜索命令0ECH執(zhí)行后只有溫度超過設(shè)定值上限或下限的片子才做出響應(yīng)。表6:RAM指令表指令約定代碼功能溫度
38、變換44H啟動DS18B20進(jìn)行溫度轉(zhuǎn)換,12位轉(zhuǎn)換時最廠為750MS(9位93.75MS)。結(jié)果存入內(nèi)部9字節(jié)ROM中讀暫存器0BEH讀內(nèi)部RAM中9字節(jié)的內(nèi)容寫暫存器4EH發(fā)出向內(nèi)部RAM的3、4字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)。復(fù)制暫存器48H將RAM中第3、4字節(jié)的內(nèi)容復(fù)制到EEPROM中重調(diào)EEPROM0B8H將EEPROM中內(nèi)容恢復(fù)到RAM中底第3、4字節(jié)讀供電方式0B4H讀DS18B20的供電模式,寄生供電時DS18B20發(fā)送“0”,外接電源供電DS18B20發(fā)送“1”。2.3 并行I/O接口芯片的選擇在單片機(jī)控制系統(tǒng)中,經(jīng)常利用I/O接口芯片來擴(kuò)張
39、CPU的并行I/O端口。這類I/O接口芯片的種類很多。在單片機(jī)系統(tǒng)中,廣泛應(yīng)用的I/O接口芯片是8155。 Intel81558155是Intel公司研制的通用I/O接口芯片。AT89S52芯片和8155相連不僅可為外設(shè)提供兩個八位I/O端口(A口和B口)和一個六位I/O端口(C口),而且也為CPU提供一個256字節(jié)的RAM存儲器和一個14位定時器/計數(shù)器。內(nèi)部結(jié)構(gòu)如下圖所示。圖2-4 8155芯片引腳圖 內(nèi)部結(jié)構(gòu)8155共有七部分電路組成,她們是雙線數(shù)據(jù)總線緩沖器、地址鎖存器、地址譯碼器和讀寫編碼盤、RAM存儲器、I/O寄存器、命令寄存器和狀態(tài)寄存器以及定時器/計數(shù)器等。雙向數(shù)據(jù)總線緩沖器:
40、該緩沖器是8位的,用于傳送CPU對RAM存儲器的讀寫數(shù)據(jù)。地址譯碼器:共八位,用于鎖存CPU送來的RAM單元地址和端口地址。地址譯碼器和讀寫控制器:地址譯碼器的三位地址由地址鎖存器輸出端送來,譯碼后可以選中命令/狀態(tài)寄存器、定時器/計數(shù)器和ABC三個I/O寄存器中的某個工作。讀寫控制其接收RD和WR線上的信息,實現(xiàn)對CPU和8155間所傳信息的控制。RAM存儲器,容量為256字節(jié),主要用于存放實時數(shù)據(jù)。存儲器存儲單元地址由地址鎖存器輸出端送來。I/O寄存器,分為ABC三個端口。A口和B口的I/O寄存器為8位,既可以存放外設(shè)的輸出數(shù)據(jù)又可以存放外設(shè)的輸入數(shù)據(jù);C口的I/O寄存器只有6位,用于存放
41、I/O數(shù)據(jù)或命令/狀態(tài)信息。8155在某一瞬間只能選中某個I/O寄存器工作,這有CPU送給8155的命令字決定。命令寄存器和狀態(tài)寄存器,皆為8位寄存器。命令寄存器存放CPU送來的命令字,狀態(tài)寄存器存放8155的狀態(tài)字。定時器/計數(shù)器,這是一個二進(jìn)制14位的減1計數(shù)器,計數(shù)器初值由CPU通過程序送來。定時器/計數(shù)器由T/N輸入線上脈沖減1,每當(dāng)計滿溢出時可在T/OUT線上輸出一個終止脈沖。 引腳功能(1)AD7-AD0(8條):AD7-AD0為地址/數(shù)據(jù)總線,常可和MCS-51的P0口相接,用于分時的傳送地址/數(shù)據(jù)信息。I/O總線(22條):PA7-PA0通用I/O線,用于傳送A口上的外設(shè)數(shù)據(jù),
42、數(shù)據(jù)外送方向由8155命令字決定。PB7-PB0為通用I/O線,用于傳送B口上的外設(shè)數(shù)據(jù),數(shù)據(jù)傳送的方向也是由8155命令字決定的。PC5-PC0為I/O數(shù)據(jù)/控制線,共6條,通用I/O方式下,用作傳送I/O數(shù)據(jù),在選通I/O方式下,用作傳送命令/狀態(tài)信息。(2)控制總線(8條)RESET:8155總清輸入線,在RESET線上輸入一個大于600ns寬的正脈沖時,8155立即處于總清狀態(tài),A、B、C三口也定義為輸入方式。CE和IO/M:CE為8155片輸入線,若CE=0,則CPU選中本8155工作;否則,本8155不工作。IO/M為I/O端口或RAM存儲器的選通輸入線;若IO/ M=0,則CPU
43、選中8155的RAM存儲器工作;若IO/M=1 ,則CPU選中8155內(nèi)某一寄存器工作。RD和WR:RD是8155的讀/寫命令輸入線,WR為寫命令線當(dāng)RD=0和WR=1時,8155處于讀出數(shù)據(jù)狀態(tài);當(dāng)RD=1和WR=0時,8155處于寫入數(shù)據(jù)狀態(tài)。ALE:為允許地址輸入線,高電平有效。若ALE=1,則8155允許AD7AD0上的地址鎖存道“地址鎖存器”;否則,8155的地址鎖存器處于封鎖狀態(tài)。8155的ALE常和MCS-51的同名端相連。T/IN和T/OUT:T/IN實計數(shù)器輸入線,其上脈沖用于對8155片內(nèi)14位計數(shù)器減1。T/OUT為計數(shù)器輸出線,當(dāng)14位計數(shù)器從計滿回零時就可以在該引線上
44、輸出脈沖波形,輸出脈沖的形狀和計數(shù)器工作方式有關(guān)。(3)電源線(2條):Vcc為+5V電源輸入線,Vss為接地線。第3章 恒溫控制系統(tǒng)模塊分析設(shè)計3.1 溫度的采集溫度測量轉(zhuǎn)換部分是整個系統(tǒng)的數(shù)據(jù)來源,直接影響系統(tǒng)的可靠性。傳統(tǒng)的溫度測量方法是:溫度傳感器例如AD590,將測量的溫度轉(zhuǎn)換成模擬電信號,再經(jīng)過A/D轉(zhuǎn)換器把模擬信號轉(zhuǎn)換成數(shù)字信號,單片機(jī)再對采集的數(shù)字信號進(jìn)行處理3。這種模擬數(shù)字混合電路實現(xiàn)起來比較復(fù)雜,濾波消噪難度大系統(tǒng)穩(wěn)定性不高,鑒于這些考慮,本設(shè)計采用數(shù)字式溫度傳感器DS18B20。DS18B20支持“一線總線”接口,測量溫度的范圍為-55°C+125°C
45、,現(xiàn)場溫度直接以“一線總線”的數(shù)字式傳輸,大大的提高了系統(tǒng)的抗干擾性。DS18B20為3引腳, DQ為數(shù)字信號輸入/輸出端;GND為電源地;VDD為外接供電電源輸入端。溫度采集電路模塊如圖2.4所示。DSB8B20的3腳接系統(tǒng)中單片機(jī)的P1.4口線,用于將采集到的溫度送入單片機(jī)中處理,2腳和3腳之間接一個4.7K上拉電阻,即可完成溫度采集部分硬件電路。DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴(kuò)展的二進(jìn)制補碼讀數(shù)形式提供,以0.0625/LSB
46、形式表達(dá),其中S為符號位。數(shù)據(jù)轉(zhuǎn)換如下表2.1。表2.1 DS18B20溫度數(shù)據(jù)轉(zhuǎn)換表LS ByteBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0232221202-12-22-32-4MS ByteBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8SSSSS262524這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在18B20的兩個8比特的RAM中,二進(jìn)制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到實際溫度。例如+125
47、的數(shù)字輸出為07D0H,+25.0625的數(shù)字輸出為0191H,-25.0625的數(shù)字輸出為FF6FH,-55的數(shù)字輸出為FC90H。DS18B20采集到的溫度數(shù)字量存在31H(高位),30H(低位3.2鍵盤和顯示電路的設(shè)計 按鍵設(shè)置本系統(tǒng)中,采用四個按鍵實現(xiàn)溫度的設(shè)定,分別為設(shè)定鍵、增鍵、減鍵和移位鍵,溫度值有三個位,通過移位鍵可以方便的設(shè)定溫度值。并接在8155PC口中。PC為讀入口表2.2 按鍵功能按鍵鍵名功能SET鍵設(shè)定鍵或退出鍵使系統(tǒng)產(chǎn)生中斷,進(jìn)入設(shè)置狀態(tài)或退出+ 鍵增鍵按一次當(dāng)前值加1- 鍵減鍵按一次當(dāng)前值減1MOV鍵移位鍵按一次移動到另一位設(shè)置電路參考圖2.7(在下面)3.2.2
48、 LED數(shù)碼管顯示原理顯示電路實行LED顯示。這里采用八段共陽LED。A口字段口,B為在字位口。LED數(shù)碼管結(jié)構(gòu)簡單,價格便宜。八段LED顯示管有八只發(fā)光二極管組成,編號分別為a、b、c、d、e、f、gS、P,分別和同名管相連。八段LED數(shù)碼顯示管原理簡單,是通過同名管腳上所加電壓高低來控制發(fā)光二極管是否點亮而顯示不同的字形的。例如,若在共陽LED管的SP、g、f、e、d、c、b、a管腳上分別加上80H控制電平(即SP上為TTL高電平,不亮,其余為0伏,亮),則LED顯示管顯示字形“8”。80H是按照SP、g、f、e、d、c、b、a順序排列后的十六進(jìn)制編碼(0為TTL低電平,1為TTL高電平)
49、,常稱為字形碼。因此,LED上顯示字形不同,相應(yīng)字形碼也不一樣。 LED管的顯示可以分為靜態(tài)顯示和動態(tài)顯示兩種。(1)靜態(tài)顯示的特點是各個LED管能穩(wěn)定地同時顯示各自字形;動態(tài)顯示是指各LED輪流地一遍一遍顯示各自字符,人們因視覺氣管惰性而看到的是各LED似乎在同時顯示不同字形。但是靜態(tài)顯示所需的硬件開鎖大,CPU也無法預(yù)先知道什么時候需要改變LED的被顯示字符。為了減少硬件開鎖,提高系統(tǒng)可靠性和降低成本,單片機(jī)控制控制系統(tǒng)通常采用動態(tài)掃描顯示。在本電路圖中,8031通過8155對三只共陽LED的接口電路;A口和所有LED的a、b、c、d、e、f、g、SP 引線相連,各LED控制端G和8155
50、C口相連,故B口為字形口和C口為字形口,因為CPU可以通過C口控制各LED是否點亮。(2) 動態(tài)顯示采用軟件法把欲顯示十六進(jìn)制(或BCD碼)轉(zhuǎn)換為相應(yīng)的字形碼,故它通常需要在RAM區(qū)建立一個顯示緩沖區(qū)。顯示緩沖區(qū)內(nèi)包含的存儲單元個數(shù)常和系統(tǒng)中LED的個數(shù)相等。顯示緩沖區(qū)的起始很重要,它決定了顯示緩沖區(qū)在RAM中的位置。在本系統(tǒng)程序中,設(shè)置了70H,71H,72H三個顯示緩沖區(qū)。 LED接口電路顯示采用3位共陽LED動態(tài)顯示方式,顯示內(nèi)容有溫度值的百位、十位、個位,按鍵并接在8155PC口中,PC為讀入口。顯示電路實行LED顯示,A口字段口,B口為在位選口,LED用動態(tài)顯示,這里采用八段共陽LE
51、D。模塊電路如下圖2.7所示: 圖2.7 顯示接口電路第4章 恒溫控制系統(tǒng)各功能和軟件設(shè)計4.1 工作流程恒溫箱在復(fù)位后處于停止加熱的狀態(tài),此時,系統(tǒng)默認(rèn)顯示設(shè)定溫度值為50攝氏度。我們可以通過用設(shè)定鍵改變預(yù)設(shè)定溫度,也可以直接啟動運行。在運行的過程中,系統(tǒng)不斷的檢測當(dāng)前溫度,并送往顯示器顯示,超過設(shè)定溫度值允許的范圍后停止加熱,當(dāng)溫度下降到上限(比設(shè)定溫度大2度時)啟動加熱,實行PID計算達(dá)到控制溫度的目的。當(dāng)下降到下限(比設(shè)定溫度小2以上)時,實行全功率控制??焖龠_(dá)到加熱到設(shè)定溫度的目的。這樣不斷的重復(fù)上述的過程,使溫度保持在與設(shè)定的溫度范圍內(nèi)。當(dāng)然,運行過程中,也可以隨時地改變設(shè)定溫度,
52、溫度設(shè)定好之后運行,系統(tǒng)按新設(shè)定的溫度運行。4.2 主程序設(shè)計主程序應(yīng)該包括各個的初始化工作,T0初始化,開中斷、溫度顯示和鍵盤的掃描以及看門狗子程序。其相應(yīng)的程序框圖以及程序見附錄。T0 初始化時,設(shè)定T0的計數(shù)器方式為2,初值為06H,故它的溢出中斷時間為250個過零同步觸發(fā)脈沖。而T1中斷服務(wù)程序的執(zhí)行時間必須滿足T0的這一時間要求,因為T1 的中斷是嵌套在T0中斷之中的。其中有LED顯示子程序,按鍵溫度設(shè)定子程序。主程序設(shè)計基本框圖;主程序匯編:MAIN:MOVA,#03H;初始化8155 A,B輸出,C輸入(方式控制字03H)MOV DPTR,#8000H MOVX DPTR,AMO
53、V TMOD,#56H ;定義T0為定時器計數(shù)方式2,T1為方式1(01010110) MOV TL0,#06H ;裝入定時初值 MOV TH0,#06H CLRPT0;T0為低中斷優(yōu)選 MOV IE,#82H ;開T0中斷(10000010) SETB TR0 ;啟動T0計數(shù)MIAN1:ACALL LED_DISPACALLBUTTONAJMPMIAN14.2.1 LED顯示子程序LED采用動態(tài)顯示,先由PA口送段選碼,PB口送位選碼,延時1MS,指向下一單元,判斷是否3位顯示完,完了返回,沒完,位選碼左移,繼續(xù)顯示。;動態(tài)顯示匯編子程序:LED_DISP: MOVR0,#00HMOVR1,
54、#00HMOVA,#03H ;A口輸出,B輸出 C輸入MOVDPTR,#8000H ;命令狀態(tài)字MOVXDPTR,AMOVR0,LED_NUM1 ;顯示存儲首址送R0MOVR1,0FEH ;LED1位選(字位碼始址送R1)MOVA,R1LED_1: MOVDPTR,#8002H ;位選碼送B口MOVXDPTR,AMOVA,R0 ;取顯示數(shù)據(jù)MOVDPTR,#LED_TAB ;字型碼表首址MOVCA,A+DPTRMOVDPTR,#8001H ;A口地址MOVXDPTR,AACALL DELAYINC R0 ;指向下一顯示單元MOVA,R1JNBACC.2,LED_2;顯示完一遍,則跳轉(zhuǎn)RLAMOVR1,AAJMPLED_1LED_2:RETLED_TAB:DB0C0H,0F9H,0A4H,0B0H,99H DB92H, 82H, 0F8H,80H, 90H DB88H, 83H, 0C6H,0A1H,86H DB8EH, 0FFH,0CH, 89H, 7FH DB0BFH4.2.2 按鍵溫度設(shè)定子程序本設(shè)計中,安排四個按鍵,分別
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 橋梁架設(shè)知識培訓(xùn)課件
- 畜禽養(yǎng)殖合作合同范本
- 成都公司轉(zhuǎn)讓合同范本
- 監(jiān)制服務(wù)合同書
- 網(wǎng)絡(luò)直播老師合同范本
- 物業(yè)車棚維修合同范本
- 房產(chǎn)代理中介合同范本
- 工廠出租設(shè)備合同范本
- 撲火隊基本知識培訓(xùn)課件
- 包裝承攬合同范例范例
- 國開電大軟件工程形考作業(yè)3參考答案
- 通用電子嘉賓禮薄
- 2021年無與倫比的班級凝聚力團(tuán)結(jié)就是力量主題班課件
- 部編版小學(xué)語文五年級下冊第4單元基礎(chǔ)知識檢測卷-(含答案)
- Unit 5 Understanding ideas Nature in architecture -高中英語外研版(2019)選擇性必修第三冊
- 王陽明心學(xué)課件
- GB/T 11982.2-2015聚氯乙烯卷材地板第2部分:同質(zhì)聚氯乙烯卷材地板
- 消化性潰瘍理論知識試題含答案
- 學(xué)校食堂廉政風(fēng)險責(zé)任書
- 中國石油大學(xué)(華東)PPT模板
- 河流納污能力計算
評論
0/150
提交評論