單片機溫度控制系統(tǒng)_第1頁
單片機溫度控制系統(tǒng)_第2頁
單片機溫度控制系統(tǒng)_第3頁
單片機溫度控制系統(tǒng)_第4頁
單片機溫度控制系統(tǒng)_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

題目單片機溫度控制系統(tǒng)溫度是工業(yè)控制中主要的被控參數(shù)之一,特別是在冶金、化工、建材、食品、機械、石油等工業(yè)中,具有舉足重輕的作用。隨著電子技術(shù)和微型計算機的迅速發(fā)展,微機測量和控制技術(shù)得到了迅速的發(fā)展和廣泛的應(yīng)用。單片機具有處理能強、運行速度快、功耗低等優(yōu)點,應(yīng)用在溫度測量與控制方面,控制簡單方便,測量范圍廣,精度較高。本文介紹了一種基于STC89C52單片機的溫度控制系統(tǒng)。該系統(tǒng)可實現(xiàn)對工業(yè)電熱爐溫度的測量,并能根據(jù)設(shè)定值對電熱爐溫度進行控制。本系統(tǒng)通過熱點偶加溫度傳感器的形式,利用集成溫度測量芯片max6675轉(zhuǎn)換將單片機無法測量的溫度信號轉(zhuǎn)換為可測量的電信號,然后再將溫度值在數(shù)碼管上顯示出來,其次就是借助此溫度值利用定時器中斷控制電熱絲的加熱時間,以此達到反饋溫度并控制溫度的目的??刂扑惴ɑ跀?shù)字PID算法。 關(guān)鍵詞:單片機;溫度控制;溫度傳感器;數(shù)碼管;PID算法。 issystemthroughthehotspotincreasestemperaturesensor,usinganintegratedtemperaturemeasurementchipm2006級自動化專業(yè)畢業(yè)設(shè)計任務(wù)書 -1-摘要 -3-abstract -4-第1章緒論 -8-第2章系統(tǒng)設(shè)計方案 -10-2.1設(shè)計主要思想 -10-2.2設(shè)計思想論證 -11-第3章元器件介紹 -12-3.1STC89C52單片機簡介 -12-3.1.1STC89C52單片機概述 -12-3.1.2STC89C52單片機特性 -13-?低功耗閑置和掉電模式 -13-3.1.3STC89C52單片機引腳功能 -13-3.2MAX6675特性 -15-3.2.1K型熱電偶變換器簡介 -15-3.2.2K型熱電偶變換器特性 -15-3.2.3K型熱電偶變換器引腳功能 -16-3.2.4K型熱電偶變換器內(nèi)部介紹 -16-3.3高性能晶閘管三相移相觸發(fā)集成芯片TC787 -17-3.3.1TC787簡介 -17-3.3.2TC787引腳排列、引腳功能 -18-第4章溫度控制系統(tǒng)硬件設(shè)計 -21-4.1系統(tǒng)工作原理 -21-4.2溫度傳感器電路 -22-4.2.1溫度傳感器電路圖 -22-4.2.2測溫流程圖 -23-4.3顯示電路 -24-4.4鍵盤電路 -25-4.5脈沖觸發(fā)電路 -26-4.6光電耦合電路 -27-第5章單片機溫度控制軟件設(shè)計 -28-5.1.PID調(diào)節(jié)器控制原理 -28-5.2位置式PID算法 -29-5.3數(shù)字PID參數(shù)的整定 -29-PID參數(shù)對系統(tǒng)性能的影響如下: -30-5.4PID計算程序 -30-第6章系統(tǒng)仿真 -33-6.1RTWJ-1微機接口技術(shù)操作臺介紹 -33-6.1.1操作臺組成 -33-6.1.2專用開發(fā)工具 -35-6.2仿真介紹 -35-本系統(tǒng)的仿真主要基于一下仿真內(nèi)容: -35-6.3溫度控制系統(tǒng)仿真 -36-6.4PID仿真 -39-6.4.1穩(wěn)定邊界法整定PID參數(shù) -39-總結(jié) -43-參考資料 -45-致謝 -46-附錄一 -47-系統(tǒng)程序: -47-附錄二 -54-附錄三 -55-英文翻譯: -55-中文翻譯: -59-溫度是一個和人們生活環(huán)境有著密切關(guān)系的物理量,也是一種在生產(chǎn)、科研、生活中需要測量和控制的重要物理量,是國際單位制七個基本量之一。溫度的變化會給我們的生活、工作、生產(chǎn)等帶來重大影響,因此對溫度的測量和控制至關(guān)重要。然而在工業(yè)領(lǐng)域溫度的控制常由單片機控制。冶金、化工、建材、機械、食品、石油溫度是工業(yè)對象中的一個重要的被控參數(shù)。然而所采用的測溫元件和測量方法也不相同;產(chǎn)品的工藝不同,控制溫度的精度也不相同。因此對數(shù)據(jù)采集的精度和采用的控制方法也不相同。本系統(tǒng)所使用的加熱器件是電爐絲,功率為五十千瓦,要求溫度在400~800℃。單片機具有集成度高,通用性好,功能強,特別是體積小,重量輕,耗能低,可靠性高,抗干擾能力強和使用方便等獨特優(yōu)點,在數(shù)字、智能化方面有廣泛的用途。因而單片機控制系統(tǒng)在各個領(lǐng)域尤其是工業(yè)領(lǐng)域有著十分廣泛的應(yīng)用,而單片機溫度控制系統(tǒng)是單片機控制系統(tǒng)最為常見的控制類型之一。隨著單片機技術(shù)的飛速發(fā)展,通過單片機對被控對象進行控制日益成為自動控制領(lǐng)域的一個重要發(fā)展方向,電流,電壓,壓力,流速,流量和開關(guān)量都是常用的被控參數(shù)。例如:在化工生產(chǎn),冶金工業(yè),電力工程,造紙行業(yè),機械制造和食物加工等領(lǐng)域中,人們都需要對各種加熱爐,熱處理爐,反應(yīng)爐和鍋爐中的溫度進行檢測和控制。本設(shè)計使用STC89C52單片機作為核心進行控制,不僅具有控制方便,組態(tài)靈活和簡單等優(yōu)點,而且可以大幅提高被控溫度的技術(shù)指標,從而可以大大提高控制效率,因此單片機控制技術(shù)是工業(yè)生產(chǎn)中經(jīng)常用到的控制技術(shù),本文以單片機溫度控制為例講述了單片機的基本功能和應(yīng)用。該溫度控制系統(tǒng)是以STC89C52單片機,TC787脈沖觸發(fā)電路為控制核心設(shè)計的,系統(tǒng)主要由溫度傳感器電路、顯示電路、鍵盤電路、脈沖觸發(fā)電路、脈沖變壓器電路、光電隔離電路組成。本設(shè)計說明書分別講述了該系統(tǒng)的軟件實現(xiàn)和硬件組成及具體的控制方法,又進一步從該系統(tǒng)的方案簡介,單片機的選型和主芯片的選擇,主芯片的介紹,溫度采集和溫度控制等層面展開詳細敘述。2.1設(shè)計主要思想該系統(tǒng)以STC89C52單片機為控制核心,由溫度采集,信號放大,濾波,溫度控制和溫度調(diào)節(jié)等環(huán)節(jié)組成。在系統(tǒng)中,溫度和時間的設(shè)置、溫度值顯示、控制參數(shù)得設(shè)置、運行、暫停及復(fù)位等功能由鍵盤及顯示電路完成。通過熱點偶加溫度傳感器的形式,利用具有冷端補償?shù)膯纹琄型熱電偶數(shù)字轉(zhuǎn)換器max6675轉(zhuǎn)換將單片機無法測量的溫度信號轉(zhuǎn)換為可測量的電信號,然后再將溫度值在數(shù)碼管上顯示出來,其次就是借助此溫度值根據(jù)相應(yīng)的PID控制算法利用單片機控制電熱絲的加熱時間,以此達到反饋溫度并控制溫度的目的。其中主電路采用三相交流晶閘管調(diào)壓電路,晶閘管觸發(fā)脈沖由集成觸發(fā)芯片TC787供給。單片機控制電熱絲加熱與否的過程實際上也就是觸發(fā)芯片TC787是否給三項交流晶閘管調(diào)壓電路供給觸發(fā)脈沖的過程。單片機溫度控制系統(tǒng)控制框圖如下所示:

信號放大信號放大單片機濾波溫度控制溫度采集溫度調(diào)節(jié)圖2.1控制系統(tǒng)方框圖如上圖中,溫度采集是溫度傳感器將溫度信息變換為模擬電壓信號的過程。信號放大是將溫度采集所獲得的模擬電壓信號放大到單片機可以處理的范圍內(nèi)。濾波是經(jīng)過低通濾波,濾掉干擾信號。溫度控制和溫度調(diào)節(jié)是單片機將檢測到的溫度信息與設(shè)定值進行比較,如果不相符,數(shù)字調(diào)節(jié)程序根據(jù)給定值與測得值的差值按PID控制算法設(shè)計控制量,觸發(fā)程序根據(jù)控制量控制執(zhí)行單元。如果檢測值高于設(shè)定值,則停止加熱系統(tǒng),降低電熱絲溫度;如果檢測值低于設(shè)定值,則啟動加熱系統(tǒng),提高電熱絲溫度,達到控制溫度的目的。其中溫度采集,信號放大和濾波環(huán)節(jié)由集成芯片max6675和熱電偶完成。2.2設(shè)計思想論證無論是工農(nóng)業(yè)生產(chǎn)中,還是日常生活中,對溫度的檢測和控制都是必不可少的,對于溫度的檢測通常是采用熱敏電阻在通過A/D(模/數(shù))轉(zhuǎn)換得到數(shù)字信號,但由于信號的采集對整個系統(tǒng)的影響很大,如果采樣精度不高,會使這個系統(tǒng)準確性下降。因此本次設(shè)計采用高精度的具有冷端補償?shù)膯纹琄型熱電偶數(shù)字轉(zhuǎn)換器。這種數(shù)字轉(zhuǎn)換器是MAXIM公司推出的具有冷端補償?shù)膯纹琄型熱電偶數(shù)字轉(zhuǎn)換器。而對于溫度控制的方法也有很多:如單片機控制、PLC控制、模擬PID調(diào)節(jié)器和數(shù)字PID調(diào)節(jié)器等等。綜合各方面的意見,本設(shè)計采用單片機來實現(xiàn)溫度的控制。由于單片機具有集成度高,通用性好,功能強,特別是體積小,重量輕,耗能低,可靠性高,抗干擾能力強和使用方便等獨特優(yōu)點,所以采用單片機進行溫度的控制操作比較簡便運行起來也比較安全可靠。3.1STC89C52單片機簡介 3.1.1STC89C52單片機概述STC89C52單片機是由美國設(shè)計生產(chǎn)的一種低電壓,高性能CMOS8位單片機,40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時3個16位可編程定時計數(shù)器,2個全雙工串行通信口。片內(nèi)含8kbytes的可反復(fù)擦寫的Flash只讀程序存儲器和256bytes的隨機存取數(shù)據(jù)存儲器(RAM),可以按照常規(guī)方法進行編程,也可以在線編程。STC89C51單片機的結(jié)構(gòu)與80C51單片機的結(jié)構(gòu)基本相同,不同之處有:(1)具有CHMOS工藝的節(jié)能運行方式;(2)增加了一個16位的定時器;(3)ROM類型屬于flash存儲器;(4)中斷源由5個增加到6個;(5)片內(nèi)ROM增加到8K;(6)片內(nèi)RAM從128字節(jié)增加到256字節(jié);3.1.2STC89C52單片機特性STC89C52單片機的主要特性如下:?壽命達1000寫/擦循環(huán)?數(shù)據(jù)保留時間:10年?全靜態(tài)工作:0Hz-24MHz?三級程序存儲器鎖定?256bytes內(nèi)部RAM?32可編程I/O線?3個16位定時器/計數(shù)器?6個中斷源?可編程串行通道?低功耗閑置和掉電模式3.1.3STC89C52單片機引腳功能STC89C52單片機引腳排列如圖3.1.3所示,引腳功能如下:圖3.1.3VCC(40):+5VVSS(20):接地P0口(39-32):P0口為8位漏極開路雙向I/O口,每個引腳可吸收8個TTL門電流。P1口(1-8):P1口是從內(nèi)部提供上拉電阻器的8位雙向I/O口,P1口緩沖器能接收和輸出4個TTL門電流。P2口(21-28):P2口為內(nèi)部上拉電阻器的8位雙向I/O口,P2口緩沖器可接收和輸出4個TTL門電流。P3口(10-17):P3口是8個帶有內(nèi)部上拉電阻器的雙向I/O口,可接收和輸出4個TTL門電流,P3口也可作為AT89C51的特殊功能口。RST(9):復(fù)位輸入。當振蕩器復(fù)位時,要保持RST引腳2個機器周期的高電平時間。ALE/PROG(30):當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié),在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6,它可用作對外部輸出的脈沖或用于定時目的,要注意的是,每當訪問外部數(shù)據(jù)存儲器時,將跳過1個ALE脈沖。PSEN(29):外部程序存儲器的選通信號。在由外部程序存儲器取值期間,每個機器周期2次PSEN有效,但在訪問外部數(shù)據(jù)存儲器時,這2次有效的PSEN信號將不出現(xiàn)。EA/VPP(31):當EA保持低電平時,外部程序存儲器地址為(0000H-FFFFH)不管是否有內(nèi)部程序存儲器。FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1(19):反向振蕩器放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2(18):來自反向振蕩器的輸出。3.2MAX6675特性3.2.1K型熱電偶變換器簡介K型熱電偶是工業(yè)生產(chǎn)中最常用的溫度傳感器,具有結(jié)構(gòu)簡單、制造容易、使用方便、測溫范圍寬等特點。目前,在以K型熱電偶為測溫元件的工業(yè)測溫系統(tǒng)中,熱電偶輸出的熱電勢信號必須經(jīng)過中間轉(zhuǎn)換環(huán)節(jié),才能輸入基于單片機的嵌入式系統(tǒng)。中間轉(zhuǎn)換環(huán)節(jié)包括信號放大、冷端補償、線性化及數(shù)字化等幾個部分,實際應(yīng)用中,由于中間環(huán)節(jié)較多,調(diào)試較為困難,系統(tǒng)的抗干擾性能往往也不理想。在該溫度控制系統(tǒng)中,采用了MAXIM公司新近推出的MAX6675,它是一個集成了熱電偶放大器、冷端補償、A/D轉(zhuǎn)換器及SPI串口的熱電偶放大器與數(shù)字轉(zhuǎn)換器,可以直接與單片機接口,大大簡化系統(tǒng)的設(shè)計,保證了溫度測量的快速、準確。3.2.2K型熱電偶變換器特性MAX6675是具有冷端補償和A/D轉(zhuǎn)換功能的單片集成K型熱電偶變換器,測溫范圍0℃~1024℃,主要功能特點如下:?

直接將熱電偶信號轉(zhuǎn)換為數(shù)字信號?

具有冷端補償功能?

簡單的SPI串行接口與單片機通訊?

12位A/D轉(zhuǎn)換器、0.25℃分辨率?

單一+5V的電源電壓?

熱電偶斷線檢測?

工作溫度范圍-20℃~+85℃3.2.3K型熱電偶變換器引腳功能MAX6675采用SO-8封裝形式,有8個引腳,腳1(GND)接地,腳2(T-)接熱電偶負極,腳3(T+)接熱電偶正極,腳4(VCC)電源端,腳5(SCK)串行時鐘輸入端,腳6(CS)片選端,使能啟動串行數(shù)據(jù)通訊,腳7(SO)串行數(shù)據(jù)輸出端,腳8(NC)未用。在VCC和GND之間接0.1μF電容。MAX6675的引腳如下圖一所示。3.2.4K型熱電偶變換器內(nèi)部介紹MAX6675是一復(fù)雜的單片熱電偶數(shù)字轉(zhuǎn)換器,其內(nèi)部結(jié)構(gòu)如圖二所示。主要包括:低噪聲電壓放大器A1、電壓跟隨器A2、冷端溫度補償二極管、基準電壓源、12位AD轉(zhuǎn)換器、SPI串行接口、模擬開關(guān)及數(shù)字控制器。在數(shù)字控制器的控制下,ADC首先將U1、U2轉(zhuǎn)換成數(shù)字量,即獲得輸出電壓U0的數(shù)據(jù),該數(shù)據(jù)就代表測量點的實際溫度值T。這就是MAX6675進行冷端溫度補償和測量溫度的原理。3.3高性能晶閘管三相移相觸發(fā)集成芯片TC7873.3.1TC787簡介TC787是采用先進IC工藝設(shè)計制作的單片集成電路,可單電源工作,亦可雙電源工作,主要適用于三相晶閘管移相觸發(fā)電路和三相三極管脈寬調(diào)制電路,以構(gòu)成多種調(diào)壓調(diào)速和變流裝置。與目前流行的KC系列電路相比,具有功耗小、功能強、輸入阻抗高、抗干擾性能好、移相范圍寬,外接元件少等優(yōu)點;而且裝調(diào)簡便,使用可靠。3.3.2TC787引腳排列、引腳功能TC787是標準雙列直插式18引腳的集成電路,它的引腳排列如圖3.3.2所示。圖3.3.2TC787各引腳的名稱、功能及用法如下:(1)同步電壓輸入端:引腳1(Vc)、引腳2(Vb)及引腳10(Va)分別為三相同步輸入電壓連接端,應(yīng)用中分別接經(jīng)輸入濾波后的同步電壓,同步電壓的峰值應(yīng)不超過TC787的工作電源電壓VDD。(2)脈沖輸出端:在半控單脈沖工作模式下,引腳8(C)、引腳18(B)、引腳16(A)分別為與三相同步電壓正半周對應(yīng)的同相觸發(fā)脈沖輸出端,而引腳7(-B)、引腳9(-A)、引腳17(-C)分別為與三相同步電壓負半周對應(yīng)的反相觸發(fā)脈沖輸出端。當TC787被設(shè)置為全控雙窄脈沖工作方式時,引腳8為與三相同步電壓中C相正半周及B相負半周對應(yīng)的兩個脈沖輸出端,引腳16為與三相同步電壓中A相正半周及C相負半周對應(yīng)的兩個脈沖輸出端,引腳17為與三相同步電壓中C相負半周及B相正半周對應(yīng)的兩個脈沖輸出端,引腳9為與三相同步電壓中A相同步電壓負半周及C相電壓正半周對應(yīng)的兩個脈沖輸出端,引腳7為與三相同步電壓中B相電壓負半周及A相電壓正半周對應(yīng)的兩個脈沖輸出端,引腳18為與三相同步電壓中B相正半周及A相負半周對應(yīng)的兩個脈沖輸出端,應(yīng)用中均接脈沖功率放大環(huán)節(jié)或脈沖變壓器。(3)控制端①引腳5(Pi)為輸出脈沖禁止端。該端用來進行故障狀態(tài)下封鎖TC787的輸出,高電平有效,應(yīng)用中接保護電路的輸出。②引腳14(Cb)、引腳13(Cc)、引腳12(Ca)分別為對應(yīng)三相同步電壓的鋸齒波電容連接端。該端連接的電容值大小決定了移相鋸齒波的斜率和幅值,應(yīng)用中分別通過一個相同容量的電容接地。③引腳6(Pc)為TC787工作方式設(shè)置端。當該端接高電平時,TC787輸出雙脈沖;而當該端接低電平時,輸出單脈沖。④引腳4(Vr)為移相控制電壓輸入端。該端輸入電壓的高低,直接決定著TC787輸出脈沖的移相范圍,應(yīng)用中接給定環(huán)節(jié)輸出,其電壓幅值最大為TC787的工作電源電壓VDD。⑤引腳15(Cx)。該端連接的電容Cx的容量決定著TC787輸出脈沖的寬度,電容的容量越大,則脈沖寬度越寬。(4)電源端:TC787可單電源工作,亦可雙電源工作。單電源工作時引腳3(VSS)接地,而引腳11(VDD)允許施加的電壓為8-18V。雙電源工作時,引腳3(VSS)接負電源,其允許施加的電壓幅值為-4~-9V,引腳11(VDD)接正電源,允許施加的電壓為+4~+9V。3.3.3TC787主要參數(shù)(1)工作電源電壓VDD:8~18V;(2)輸入同步電壓有效值:≤(1/2√2)VDD;(3)輸入控制信號電壓范圍:0~VDD;(4)輸出脈沖電流最大值:20mA;(5)鋸齒波電容取值范圍:0.1μF~0.15μF;(6)脈寬電容取值范圍:3300pF~0.01μF;(7)移相范圍:0~177°;(8)工作溫度范圍:0~+55℃。第4章溫度控制系統(tǒng)硬件設(shè)計4.1單片機溫度控制系統(tǒng)是以STC89C52單片機,TC787脈沖觸發(fā)電路為控制核心設(shè)計的,系統(tǒng)主要由溫度傳感器電路、顯示電路、鍵盤電路、脈沖觸發(fā)電路、脈沖變壓器電路、光電隔離電路組成。MAX6675是一復(fù)雜的單片熱電偶數(shù)字轉(zhuǎn)換器,其內(nèi)部主要包括:低噪聲電壓放大器A1、電壓跟隨器A2、冷端溫度補償二極管、基準電壓源、12位AD轉(zhuǎn)換器、SPI串行接口、模擬開關(guān)及數(shù)字控制器。它將采集到的溫度信號直接轉(zhuǎn)換成相應(yīng)的數(shù)字信號并和單片機直接相連,單片機根據(jù)設(shè)定溫度值和采集到的溫度值進行比較,運用PID控制,從而改變單片機輸出高低電平脈沖序列的占空比來改變移相電壓,此時三相移相觸發(fā)集成芯片TC787獲得移相電壓,然后TC787再將此移相電壓和積分電容上獲得的電壓比較從而決定是否給三相晶閘管負載電路發(fā)射觸發(fā)脈沖,進而決定是否給電熱絲加熱,從而達到恒溫控制的目的。 本系統(tǒng)工作原理圖解如下:圖4.1工作原理圖解 4.2溫度傳感器電路4.2.1溫度傳感器電路圖圖4.2.1溫度傳感器電路K型熱電偶產(chǎn)生的熱電勢,經(jīng)過低噪聲電壓放大器A1和電壓跟隨器A2放大、緩沖后,得到熱電勢信號U1,再經(jīng)過S4送至ADC。。對于K型熱電偶,電壓變化率為(41μV/℃),電壓可由如下公式來近似熱電偶的特性。U1=(41μV/℃)×(T-T0)(4-1)上式中,U1為熱電偶輸出電壓(mV),T是測量點溫度;T0是周圍溫度。在將溫度電壓值轉(zhuǎn)換為相應(yīng)的溫度值之前,對熱電偶的冷端溫度進行補償,冷端溫度即是MAX6675周圍溫度與0℃實際參考值之間的差值。通過冷端溫度補償二極管,產(chǎn)生補償電壓U2經(jīng)S4輸入ADC轉(zhuǎn)換器。U2=(41μV/℃)×T0(4-2)4.2.2測溫流程圖讀溫度讀溫度初始化溫度傳感器掃描鍵盤選定所需芯片選定所需芯片進行溫度轉(zhuǎn)換讀取溫度調(diào)試顯示子程序子程序返回圖4.2.2測溫流程圖4.3顯示電路圖4.3顯示電路此顯示電路采用并行接法,有兩塊74HC573鎖存器控制,第一塊為段選鎖存器,第二塊為位選鎖存器,皆為高電平有效,三位顯示器第幾位顯示有位選鎖存器的WE1,WE2,WE3決定,當WE1為高電平時,第一位顯示器被選中顯示,其余兩位同理。每位顯示器要顯示的數(shù)值則由第一塊段鎖存器控制,各個數(shù)字的相應(yīng)段如上圖所示。4.4鍵盤電路圖4.3鍵盤電路此鍵盤電路采用矩陣式接法,矩陣式鍵盤的列線接+5V,當鍵盤上沒有鍵閉合時,所有的行線和列線是斷開的,列線均呈高電平。當鍵盤上某一鍵閉合時,該鍵所對應(yīng)的行線和列線短接,此時該列線的電平將由被短接的行線電平?jīng)Q定,因此,可以采用以下方法完成是否有鍵按下及按下的是哪一鍵的判斷:判有無鍵按下。將行線和列線分別于單片機相接,首先使所有行線為低電平,然后讀列線狀態(tài),若列線都為高電平,則沒有鍵按下;若讀出的列線不全為高電平,則可以判定有鍵按下。判斷按下的是哪一鍵。先讓P2.0這一行為低電平,其余行線為高電平,讀列線狀態(tài),如列線狀態(tài)不全為“1”,則說明所按鍵在該行,否則不在該行,然后讓P2.1行為低電平,其他行為高電平,判斷P2.1行有無鍵按下。其余行列推。這樣就可以找到所按鍵的行列位置。同理,當+5V電源接行線是,檢測原理相同。4.5脈沖觸發(fā)電路圖4.4脈沖觸發(fā)電路該電路首先將三相電壓經(jīng)同步變壓器變壓后輸入TC787同步電壓輸入端:引腳1(Vc)、引腳2(Vb)及引腳18(Va)分別為三相同步輸入電壓連接端,應(yīng)用中分別接經(jīng)輸入濾波后的同步電壓,同步電壓的峰值應(yīng)不超過TC787或TC788的工作電源電壓VDD。TC787再將Vr口獲得的移相電壓與積分電容Ca,Cb,Cc上的電壓比較從而決定是否發(fā)射觸發(fā)脈沖。4.6光電耦合電路5.1.PID調(diào)節(jié)器控制原理圖5.1PID控制系統(tǒng)原理框圖 PID控制器是一種線性控制器,一種它根據(jù)給定值rin(t)與實際輸出值yout(t)構(gòu)成控制偏差: Error(t)=rin(t)-yout(t)(5-1) PID控制就是對偏差信號進行比例、積分、微分運算后,形成一種控制規(guī)律。即,控制器的輸出為:(5-2)或?qū)懗蓚鬟f函數(shù)的形式:(5-3)式中,微分控制:Gc(s)=KpTds5.2位置式PID算法基本PID控制器的理想算式為(5-4)式中u(t)——控制器(也稱調(diào)節(jié)器)的輸出;e(t)——控制器的輸入(常常是設(shè)定值與被控量之差,即e(t)=r(t)-c(t));Kp——控制器的比例放大系數(shù);Ti——控制器的積分時間;Td——控制器的微分時間。設(shè)u(k)為第k次采樣時刻控制器的輸出值,可得離散的PID算式 (5-5)式中, 。由于計算機的輸出u(k)直接控制執(zhí)行機構(gòu)(如閥門),u(k)的值與執(zhí)行機構(gòu)的位置(如閥門開度)一一對應(yīng),所以通常稱式(5-4)式為位置式PID控制算法。位置式PID控制算法的缺點:當前采樣時刻的輸出與過去的各個狀態(tài)有關(guān),計算時要對e(k)進行累加,運算量大;而且控制器的輸出u(k)對應(yīng)的是執(zhí)行機構(gòu)的實際位置,如果計算機出現(xiàn)故障,u(k)的大幅度變化會引起執(zhí)行機構(gòu)位置的大幅度變化。5.3數(shù)字PID參數(shù)的整定PID控制器的參數(shù)整定是控制系統(tǒng)設(shè)計的核心內(nèi)容。它是根據(jù)被控過程的特性確定PID控制器的比例系數(shù)、積分時間和微分時間的大小。PID控制器參數(shù)整定的方法很多,概括起來有兩大類:一是理論計算整定法。它主要是依據(jù)系統(tǒng)的數(shù)學(xué)模型,經(jīng)過理論計算確定控制器參數(shù)。這種方法所得到的計算數(shù)據(jù)未必可以直接用,還必須通過工程實際進行調(diào)整和修改。二是工程整定方法,它主要依賴工程經(jīng)驗,直接在控制系統(tǒng)的試驗中進行,且方法簡單、易于掌握,在工程實際中被廣泛采用。本設(shè)計采用PID歸一整定法把對控制的三個參數(shù)(Kc、Ti、Td,)轉(zhuǎn)換為一個參數(shù),從而使問題明顯簡化。以達到控制器的特性與被控過程的特性相匹配,滿足某種反映控制系統(tǒng)質(zhì)量的性能指標。PID參數(shù)對系統(tǒng)性能的影響如下:P(比例)作用:加快調(diào)節(jié),減少穩(wěn)態(tài)誤差。缺點:穩(wěn)定性下降,甚至造成系統(tǒng)的不穩(wěn)定。I(積分)作用:因為有誤差,積分調(diào)節(jié)就進行,直至無差.消除穩(wěn)態(tài)誤差,提高無差度。缺點:加入積分調(diào)節(jié)可使系統(tǒng)穩(wěn)定性下降,動態(tài)響應(yīng)變慢。積分作用常與另兩種調(diào)節(jié)規(guī)律結(jié)合,組成PI調(diào)節(jié)器或PID調(diào)節(jié)器。D(微分)作用:反映系統(tǒng)偏差信號變化率,具有預(yù)見性,能預(yù)見偏差變化的趨勢,因此能產(chǎn)生超前的控制作用??梢詼p少超調(diào),減少調(diào)節(jié)時間。缺點:微分作用對噪聲干擾有放大作用,因此過強的加微分調(diào)節(jié),對系統(tǒng)抗干擾不利。微分作用不能單獨使用,需要與另外兩種調(diào)節(jié)規(guī)蓄料目結(jié)合,組成PD或PID控制。Kp、Ti、Td,對系統(tǒng)的性能影響如表5.3所示:表5.3Kp、Ti和Td對系統(tǒng)的影響影響KpTiTd穩(wěn)態(tài)性能可以減少靜差,消除靜差,配合比例控制,但不能消除但不能太大可以減少靜差動態(tài)性能加快系統(tǒng)速度,太小會不穩(wěn)定,太大和太小都會引起但會引起震蕩太大會影響性能超調(diào)量大,過渡時間長。5.4PID計算程序PID調(diào)節(jié)規(guī)律的基本輸入輸出關(guān)系可用微分方程表示為:(5-6)式中為調(diào)節(jié)器的輸入誤差信號,且(5-7)為給定值,為被控變量;為調(diào)節(jié)器的輸出控制信號;為比例系數(shù);為積分時間常數(shù);微分時間常數(shù)。計算機只能處理數(shù)字信號,若采樣周期為T第n次采樣的輸入誤差為,且,輸出為,PID算法用的微分由差分代替,積分由代替,于是得到(5-8)+△=不少行之有效的參數(shù)整的PID歸一調(diào)整法,調(diào)整參式中=0.2,=1.25[8]PID控制程序見附表。6.1RTWJ-1微機接口技術(shù)操作臺介紹6.1.1操作臺組成操作臺由基礎(chǔ)板和功能擴展模塊板組成。操作臺采用臺式結(jié)構(gòu),外形美觀大方、操作方便。1基礎(chǔ)板基礎(chǔ)板是本仿真裝置的基礎(chǔ)仿真模塊的集成體,是針對理論實驗和基礎(chǔ)知識所專門設(shè)計的。本仿真平臺包括多個功能模塊,操作平臺如下圖6.1.1所示:圖6.1.1RTWJ-1微機接口技術(shù)操作它由以下25個模塊組成:微處理器監(jiān)控模塊;1K~12MHZ外部時鐘源模塊;32K字節(jié)SRAM外部數(shù)據(jù)存儲器擴展模塊(2個);64K字節(jié)EEPROM外部程序存儲器;32K字節(jié)FlashROM擴展模塊;8155可編程并行I/O擴展模塊;8255可編程并行I/O擴展模塊;8279鍵盤顯示接口擴展模塊;4*4矩陣鍵盤模塊;獨立式鍵盤模塊;自鎖按鍵模塊;發(fā)光二極管陣列模塊;8*8發(fā)光管點陣屏模塊;動態(tài)掃描數(shù)碼管顯示模塊;靜態(tài)串行數(shù)碼管顯示模塊;16*2字符液晶顯示模塊;語音模塊;RS232接口模塊;波形信號發(fā)生器模塊;總線鎖存和驅(qū)動模塊;通用邏輯器件GAL模塊;芯片自由擴展模塊(2個);常用器件實驗?zāi)K;±5V、±12V電源模塊;接口轉(zhuǎn)換模塊;2分立的功能模塊功能模塊的實驗內(nèi)容緊密結(jié)合了單片機系統(tǒng)在實際中的各種應(yīng)用,它包括以下實驗?zāi)K:AD0809、V/F轉(zhuǎn)換模塊;DA0832、F/V轉(zhuǎn)換模塊;復(fù)雜可編程邏輯器件CPLD模塊;交通燈模塊;微型打印機模塊;RS485模塊;RS232-RS485無源轉(zhuǎn)換模塊;I2C總線日歷時鐘實驗?zāi)K;X25045模塊(具有WDT、SPI串行EEPROM);IC卡讀寫實驗?zāi)K;溫度測量與控制模塊;繼電器驅(qū)動控制模塊;步進電機模塊;直流電機模塊;單片機最小系統(tǒng)板1、2(用于通訊);6.1.2專用開發(fā)工具51系列單片機仿真器;單片機燒錄器;匯編、C51編譯器;IDE集成開發(fā)環(huán)境;與CPLD接口模塊配套的MAXPLUS軟件及JTAG下載電纜;6.2仿真介紹本系統(tǒng)的仿真主要基于一下仿真內(nèi)容:(1)輸出輸入類內(nèi)容①串行靜態(tài)數(shù)碼管顯示②矩陣式鍵盤輸入(2)數(shù)/模、模/數(shù)類內(nèi)容①8位D/A轉(zhuǎn)換器接口設(shè)計②8位D/A轉(zhuǎn)換器接口設(shè)計③溫度測量④溫度PWM方式自動控制溫度自動控制系統(tǒng):該系統(tǒng)是一個邏輯上完整的控制系統(tǒng)。包括模塊:溫度控制、溫度測量、單片機、顯示,以及矩陣鍵盤等模塊。溫度發(fā)熱對象屬于各種溫度控制器件的小型模擬。要使用的模塊:①單片機最小系統(tǒng)與仿真儀②LED顯示③溫度控制單元④溫度測量單元⑤矩陣鍵盤。6.3溫度控制系統(tǒng)仿真(1)仿真設(shè)備①單片機最小系統(tǒng)與仿真器②溫度測量控制實驗?zāi)K③獨立式鍵盤實驗?zāi)K④RS232接口模塊(2)仿真要求綜合以上實驗?zāi)K,構(gòu)成滿足以下要求的溫度自動控制測量系統(tǒng):①顯示當前溫度和設(shè)置溫度(單位為℃)②具有3個功能按鍵:1個“升溫鍵”,按下后“設(shè)置溫度”加1;1個“降溫鍵”,按下后“設(shè)置溫度”減1。一個“開始/停止”鍵,用來啟動/停止溫度自動控制。③在“開始/停止”鍵第一次按下后,溫度自動測量控制功能啟動;從這時開始,系統(tǒng)開始以一定的時間間隔讀取溫度傳感器的“測量溫度”,并送LED顯示器進行顯示;比較“測量溫度”和“設(shè)置溫度”,根據(jù)比較的結(jié)果,調(diào)整輸出的脈沖序列的占空比(通過軟件進行調(diào)制),從而實現(xiàn)溫度自動控制。再次按下該鍵,停止自動測量控制功能。(3)仿真原理①硬件邏輯結(jié)構(gòu):如圖6.3所示,該系統(tǒng)是一個閉環(huán)溫度控制系統(tǒng)。顯示屏顯示屏單片機系統(tǒng)溫度控制加熱元件與對象溫度測量矩陣式鍵盤圖6.3.1硬件示意圖硬件電路圖如圖6.3所示,使用P1.5端口輸出脈沖序列,該脈沖序列經(jīng)過光電隔離和脈沖觸發(fā)芯片加到單向可控硅上控制溫度加熱元件。溫度測量使用P1.2端口,使用MAX6675器件,顯示使用P1口。開始開始初始化有按鍵按鍵處理模塊讀取溫度和溫度處理模塊溫度處理模塊顯示模塊溫度控制模塊圖6.3.2軟件設(shè)計流程圖仿真程序見附錄。6.4PID仿真運行SIMULINK,進入SIMULINK環(huán)境,在元件庫中找到所需要元件并選擇,用鼠標將各元器件連接起來,得到一個完整方框圖,如下圖6-1所示。圖6-1系統(tǒng)仿真方框圖6.4.1穩(wěn)定邊界法整定PID參數(shù)使用邊界法整定PID參數(shù)分為一下幾個步驟:將積分系數(shù)Ki和Kd設(shè)為0,Kp置較小的值,使系統(tǒng)投入穩(wěn)定運行。若系統(tǒng)不能穩(wěn)定運行,則采用其它校正方式。逐漸增大比例系數(shù)Kp,直到系統(tǒng)出現(xiàn)等幅振蕩,即所謂臨界振蕩過程。記錄此時臨界振蕩增益Kp和振蕩周期T。按照下表6-2所指示的經(jīng)驗公式和校正裝置類型整定相應(yīng)的PID參數(shù),然后再進行仿真。表6-2穩(wěn)定邊界參數(shù)的計算公式KpKiKdP0.5KpPI0.455Kp0.535Kp/TPID0.6Kp1.2Kp/T0.075KpT在SIMULINK下可以如下實現(xiàn):先取較大的Kp1,使系統(tǒng)出現(xiàn)不溫度的增幅振蕩;然后采取折半取中的辦法尋找臨界增益。當Kp1=2.5時系統(tǒng)放散;而當Kp1=2是系統(tǒng)收斂;因此,只要當Kp1處于2~2.5之間時,系統(tǒng)會出現(xiàn)臨界振蕩。當KP1=2.36時系統(tǒng)出現(xiàn)臨界振蕩,有如圖6-3所示的等幅振蕩的階躍響應(yīng)曲線圖6-3等幅振蕩的階躍響應(yīng)曲線此時Kp1=2.36,從上圖可以讀出曲線兩峰值之間的距離約為2s多一點,因此取T=2.1s。下一步即可算出按穩(wěn)定邊界法整定的PID參數(shù)了。在MATLABCommandWindow下鍵入以下代碼:%臨界增益Kp=2.36;%臨界振蕩周期T=2.1Kd=0.075×Kp1×TKi=1.2×Kp1/TKp=0.6Kp其中等式左邊的Kp1均為臨界增益時的Kp1,此時的PID參數(shù)為Kd=0.075×Kp1×T=0.075×2.36×2.1=0.3717Ki=1.2×Kp1/T=1.2×2.36/2.1=1.348Kp=0.6Kp1=0.6×2.36=1.416系統(tǒng)的階躍響應(yīng)曲線如圖6-4所示.圖6-4穩(wěn)定邊界法整定的系統(tǒng)階躍響應(yīng)曲線由于該系統(tǒng)的響應(yīng)曲線調(diào)節(jié)時間為8s就,具有快速性,可超調(diào)量大于60%,通過對系統(tǒng)參數(shù)的調(diào)節(jié),可以得到表格如表6-5,如表所示,系統(tǒng)的動態(tài)和穩(wěn)態(tài)性能:表6-5PID參數(shù)與系統(tǒng)性能之間的關(guān)系PID參數(shù)系統(tǒng)性能KpKiKdess抖動次數(shù)1.81.7140.473系統(tǒng)不穩(wěn)定1.4161.3480.37206.5s70%21.21.1430.31507s58%210.9530.26308s48%30.60.5710.178010s39%30.30.2860.158015s30%30.10.0270.093025s10%20.060.0570.093025s5%10.030.0290.008030s無0從表6-5可以得到系統(tǒng)PID調(diào)節(jié)的參數(shù),當Kp=0.03,Ki=0.029,Kd=0.008時,系統(tǒng)無超調(diào)量,準確性高且調(diào)節(jié)時間為30s具有快速性。在MATLAB中SIMULINK環(huán)境下仿真的結(jié)果如圖6-6所示:圖6-6PID調(diào)節(jié)后系統(tǒng)階躍響應(yīng)曲線Kp=0.03,Ki和Kd仍是由穩(wěn)定邊界法整定得到的。從圖6-6中可以看出,系統(tǒng)的超調(diào)量都有所降低,滿足控制要求。時間過得很快,轉(zhuǎn)眼間為期一個學(xué)期的畢業(yè)設(shè)計已經(jīng)接近尾聲,這也就意味著我四年的大學(xué)生活即將結(jié)束,回首這四年的生活,我感覺自己在四年當中學(xué)到了許多,明白了許多,尤其是在這一個學(xué)期的時間里我學(xué)到了更多知識和技能。我的設(shè)計課題是“單片機溫度控制”,剛拿到這個課題真的很茫然,根本就不知道從那下手,但是后來在蘇海濱老師的指導(dǎo)下,我漸漸對這個課題有了一定的了解,并且最終基本上達到了設(shè)計的要求。作為一名自動化專業(yè)的本科生,我在大學(xué)四年的學(xué)習(xí)生活中,系統(tǒng)地學(xué)習(xí)了控制專業(yè)及其相關(guān)的課程。我們的課程以控制理論、數(shù)字電子技術(shù)、模擬電子技術(shù)為基礎(chǔ),進一步又學(xué)習(xí)了傳感器原理及應(yīng)用、電力電子技術(shù)、電氣控制與PLC應(yīng)用、微機控制技術(shù)以及智能控制技術(shù)等專業(yè)課程。這些所學(xué)的課程都對自己的設(shè)計有很大幫助。本文介紹了一種基于STC89C52單片機的溫度控制系統(tǒng)。該系統(tǒng)可實現(xiàn)對工業(yè)電熱爐溫度的測量,并能根據(jù)設(shè)定值對電熱爐溫度進行控制。本系統(tǒng)通過熱點偶加溫度傳感器的形式,利用集成溫度測量芯片max6675轉(zhuǎn)換將單片機無法測量的溫度信號轉(zhuǎn)換為可測量的電信號,然后再將溫度值在數(shù)碼管上顯示出來,其次就是借助此溫度值利用定時器中斷控制電熱絲的加熱時間,以此達到反饋溫度并控制溫度的目的。通過這次畢業(yè)設(shè)計使我掌握了做設(shè)計的基本方法和思路,為今后的工作打下了基礎(chǔ),現(xiàn)將感受總結(jié)如下:首先,我學(xué)會了對相關(guān)科技文獻的檢索,一切科學(xué)研究都是建立在前人研究的基礎(chǔ)之上的。因此,對于相關(guān)文獻資料的檢索顯得尤為重要。在現(xiàn)代社會中,隨著計算機的普及以及網(wǎng)絡(luò)技術(shù)的發(fā)展,對于文獻的檢索已經(jīng)從圖書館的紙質(zhì)資料轉(zhuǎn)移到網(wǎng)絡(luò)平臺下的電子文檔。通過畢業(yè)設(shè)計,我詳細的學(xué)習(xí)并掌握IEEE、中國知網(wǎng)、萬方數(shù)據(jù)庫、維普等數(shù)據(jù)庫的檢索與使用。其次,對于外文資料的翻譯與理解。由于我國科技水平的限制以及英語在世界范圍內(nèi)的普及,前沿的科技文獻都是用英語給出的,給我們非英語國家造成了一定的不便。這就要求我們在科研工作中必須能夠快速準確的閱讀理解并翻譯英文文獻資料。在這次畢業(yè)設(shè)計中,我所接觸的文獻資料有相當一部分是由英文給出的,這在很大程度上鍛煉了我對外文資料的閱讀理解水平,從一定程度上提高了我對外文資料的翻譯能力。第三,通過這次畢業(yè)設(shè)計強化了我對大學(xué)期間所學(xué)的基礎(chǔ)課以及專業(yè)課的認識和理解,鞏固了我的知識體系結(jié)構(gòu),為今后的工作打下了理論基礎(chǔ)。同時我所感受最深的就是:實踐跟理論是有差別的。想真正掌握書上的知識,那只有親自動手去實踐,才能發(fā)現(xiàn)自己的不足,從而全面的獲取知識。第四,對于各種工具軟件的熟練使用也是畢業(yè)設(shè)計所必不可少的。在這次畢業(yè)設(shè)計中,我主要使用的是PROTELDXP2004這一工具軟件,PROTELDXP2004不是單純的PCB(印制電路板)設(shè)計工具,而是由多個模塊組成的系統(tǒng)工具,分別是SCH(原理圖)設(shè)計、SCH(原理圖)仿真、PCB(印制電路板)設(shè)計、AutoRouter(自動布線器)和FPGA設(shè)計等,覆蓋了以PCB為核心的整個物理設(shè)計。該軟件將項目管理方式、原理圖和PCB圖的雙向同步技術(shù)、多通道設(shè)計、拓樸自動布線以及電路仿真等技術(shù)結(jié)合在一起,為電路設(shè)計提供了強大的支持??梢哉f學(xué)好了PROTELDXP2004對今后的學(xué)習(xí)、工作都有很大的幫助。最后,通過這次畢業(yè)設(shè)計還使我了解了科技論文的寫作規(guī)范,熟悉了offic系列軟件在文字處理與排版等方面的使用。總之,這次畢業(yè)設(shè)計不是簡簡單單的完成了一個課題,而是使我初步的掌握了科學(xué)研究的步驟與方法,鞏固了我的專業(yè)知識,練習(xí)了我的實際操作能力,鍛煉了我分析解決問題的能力,為今后的工作、學(xué)習(xí)打下了堅實的基礎(chǔ)。參考資料[1]康華光,陳大欽.模擬電子電路[M].北京:高教育出版社,2004.5[2]黃禎祥,鄧懷雄,郭延文,周書.基于MCS-51單片機溫度控制系統(tǒng)[J].現(xiàn)代電子技,2006(06)[3]黃堅,自動控制原理及其應(yīng)用[M].北京:高等教育出版社,2004:246-273.[4]歐陽黎明,MATLAB控制系統(tǒng)設(shè)計[M].北京:國防科技大學(xué)出版社,2001.何立民,單片機高級教程[M].北京:北京航空航天大學(xué)出版社.2004.7.[M].哈爾濱:[M].北京:機械工業(yè)出版社,2002.8[M].北京:機械工業(yè)出版社2008.1 致謝我思緒萬千,心情久久不能平靜。之中抽出時間對我的畢業(yè)設(shè)計給予了詳細的指導(dǎo)和細心的修改。在他們的幫助下,我的課題的設(shè)計任務(wù)得以順利完成。系統(tǒng)程序:#include<reg52.h>#include<intrins.h>

#include<math.h>

#include<string.h>

structPID{

unsignedintSetPoint;/*設(shè)定目標DesiredValue*/

unsignedintProportion;/*比例常數(shù)ProportionalConst*/

unsignedintIntegral;/*積分常數(shù)IntegralConst*/

unsignedintDerivative;/*微分常數(shù)DerivativeConst*/

unsignedintLastError;/*Error[-1]*/

unsignedintPrevError;/*Error[-2]*/

unsignedintSumError;/*SumsofErrors*/

};

structPIDspid;/*PIDControlStructure*/

unsignedintrout;/*PIDResponse(Output)*/

unsignedintrin;/*PIDFeedback(Input)*/

sbitdata1=P1^0;

sbitclk=P1^1;

sbitplus=P2^0;

sbitsubs=P2^1;

sbitstop=P2^2;

sbitoutput=P3^4;

sbitDQ=P3^3;

unsignedcharflag,flag_1=0;

unsignedcharhigh_time,low_time,count=0;/*占空比調(diào)節(jié)參數(shù)*/

unsignedcharset_temper=35;

unsignedchartemper;

unsignedchari;

unsignedcharj=0;

unsignedints;/***********************************************************

復(fù)位子程序

***********************************************************/

unsignedcharreset()

{

unsignedcharpresence;

EA=0;

DQ=0;/*拉低DQ總線開始復(fù)位*/

delay(30);/*保持低電平480us*/

DQ=1;/*釋放總線*/

delay(3);

presence=DQ;/*獲取應(yīng)答信號*/

delay(28);/*延時以完成整個時序*/

EA=1;

return(presence);/*返回應(yīng)答信號,有芯片應(yīng)答返回0,無芯片則返回1*/

}/***********************************************************

獲取溫度子程序

***********************************************************/

voidget_temper()

{

unsignedchari,j;

do

{

i=reset();/*復(fù)位*/

}while(i!=0);/*1為無反饋信號*/

i=0xcc;/*發(fā)送設(shè)備定位命令*/

write_byte(i);

i=0x44;/*發(fā)送開始轉(zhuǎn)換命令*/

write_byte(i);

delay(180);/*延時*/

do

{

i=reset();/*復(fù)位*/

}while(i!=0);

i=0xcc;/*設(shè)備定位*/

write_byte(i);

i=0xbe;/*讀出緩沖區(qū)內(nèi)容*/

write_byte(i);

j=read_byte();

i=read_byte();

i=(i<<4)&0x7f;

s=(unsignedint)(j&0x0f);

s=(s*100)/16;

j=j>>4;

temper=i|j;/*獲取的溫度放在temper中*/

}

/********************************************************************

PID計算部分

********************************************************************/

unsignedintPIDCalc(structPID*pp,unsignedintNextPoint)

{

unsignedintdError,Error;

Error=pp->SetPoint-NextPoint;/*偏差*/pp->SumError+=Error;/*分*/dError=pp->LastError-pp->PrevError;/*當前微分*/pp->PrevError=pp->LastError;

pp->LastError=Error;

return(pp->Proportion*Error/*比例項*/pp->Integral*pp->SumEror/*積分項*/+pp->Derivative*dError);/*微分項*/

/***********************************************************

溫度比較處理子程序

***********************************************************/

compare_temper()

{

unsignedchari;

if(set_temper>temper)

{

if(set_temper-temper>1)

{

high_time=100;

low_time=0;

}

else

{

for(i=0;i<10;i++)

{get_temper();

rin=s;/*ReadInput*/

rout=PIDCalc(&spid,rin);/*PerformPIDInteration*/

}

if(high_time<=100)

high_time=(unsignedchar)(rout/800);

else

high_time=100;

low_time=(100-high_time);

}

}

elseif(set_temper<=temper)

{

if(temper-set_temper>0)

{

high_time=0;

low_time=100;

}

else

{

for(i=0;i<10;i++)

{get_temper();

rin=s;/*ReadInput*/

rout=PIDCalc(&spid,rin);/*PerformPIDInteration*/

}

if(high_time<100)

high_time=(unsignedchar)(rout/10000);

else

high_time=0;

low_time=(100-high_time);

}

}

//else

//{}

}

/*****************************************************

顯示子程序

******************************************************/

voiddisplay()

{

unsignedcharcodenumber[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};

unsignedchardisp_num[6];

unsignedintk,k1;

k=high_time;

k=k%1000;

k1=k/100;

if(k1==0)

disp_num[0]=0;

else

disp_num[0]=0x60;

k=k%100;

disp_num[1]=number[k/10];

disp_num[2]=number[k%10];

k=temper;

k=k%100;

disp_num[3]=number[k/10];

disp_num[4]=number[k%10]+1;

disp_num[5]=number[s/10];

disp_1(disp_num);

}

/***********************************************************

主程序

***********************************************************/

main()

{

unsignedcharz;

unsignedchara,b,flag_2=1,count1=0;

unsignedcharphil[]={2,0xce,0x6e,0x60,0x1c,2};;

TMOD=0x21;

TH0=0x2f;

TL0=0x40;

SCON=0x50;

PCON=0x00;

TH1=0xfd;

TL1=0xfd;

PS=1;

EA=1;

EX1=0;

ET0=1;

ES=1;

TR0=1;

TR1=1;

high_time=50;

low_time=50;

PIDInit(&spid);/*InitializeStructure*/

spid.Proportion=10;/*SetPIDCoefficients*/

spid.Integral=8;

spid.Derivative=6;

spid.SetPoint=100;/*SetPIDSetpoint*/

while(1)

{

if(plus==0)

{

EA=0;

for(a=0;a<5;a++)

for(b=0;b<102;b++){}

if(plus==0)

{

set_temper++;

flag=0;

}

}

elseif(subs==0)

{

for(a=0;a<5;a++)

for(b=0;a<102;b++){}

if(subs==0)

{

set_temper--;

flag=0;

}

}

elseif(stop==0)

{

for(a=0;a<5;a++)

for(b=0;b<102;b++){}

if(stop==0)

{

flag=0;

break;

}

EA=1;

}

get_temper();

b=temper;

if(flag_2==1)

a=b;

if((abs(a-b))>5)

temper=a;

else

temper=b;

a=temper;

flag_2=0;

if(++count1>30)

{

display();

count1=0;

}

compare_temper();

}

TR0=0;

z=1;

while(1)

{

EA=0;

if(stop==0)

{

for(a=0;a<5;a++)

for(b=0;b<102;b++){}

if(stop==0)

disp_1(phil);

break;

}:AT89C51TheAT89C51isalow-power,high-performanceCMOS8-bitmicrocomputerwith4KbytesofFlashprogrammableanderasablereadonlymemory(PEROM)and128bytesofdatarandom-accessmemory(RAM).ThedeviceismanufacturedusingATMELCo.’shigh-densitynonvolatilemeiningaversatile8-bitCPUwithFlashonamonolithicchip,theATMELCo.’sAT89C51isapowerfulmicrocomputerwhichprovidesahighly-flexibleandcost-effectivesolutiontomanyembeddedcontrolapplications.FunctionCharacteristicDescription:TheAT89C51providesthefollowingstandardfeatures:4KbytesofFlashmemory,128bytesofRAM,32I/Olines,two16-bittimer/counters,afivevectortwo-levelinterruptarchitecture,afullduplexserialport,on-chiposcillatorandclockcircuitry.Inaddition,theAT89C51isdesignedwithstaticlogicforoperationdowntozerofrequencyandsupportstwosoftwareselectablepowersavingmodes.TheIdleModestopstheCPUwhileallopfunctionsuntilthenexthardwarereset.PinDescription:·VCC:Supplyvoltage·GND:Ground·Port0:Port0isan8-bitopen-drainbi-directionalI/Oport.Asanoutputport,eachpincansinkeightTTLinputs.When1sarewrittentoport0pins,thepinscanbeusedashighimpedanceinputs.·Port1:Port1isan8-bitbidirectionalI/Oportwithinternalpullups.ThePort1outputbufferscansink/sourcefourTTLinputs.When1sarewrittentoPort1pinstheyarepulledhighbytheinternalpullupsandcanbeusedasinputs.Asinputs,Port1pinsthatareexternallybeingpulledlowwillsoupullups.ThePort3outputbufferscansink/sourcefourTTLinputs.When1sarewrittentoPort3pinstheyarepulledhighbytheinternalpullupsandcanbeusedasinputs.Asinputs,Port3pinsthatareexternallybeingpulledlowwillsourcecurrent(IIL)becauseofthepullups.·RST:Resetinput.Ahighonthispinfortwomachinecycleswhiletheoscillatorisrunningresetsthedevice.·ALE/:AddressLatchEnableoutputpulseforlatchingthelowbyteoftheaddressduringaccessestoexternalmemory.Thispinisalsotheprogrampulseinput()duringFlashprogramming.InnormaloperationALEisemittedataconstantrateof1/6theoscillatorfrequency,andmaybeusedforexternaltimingorclockingpurposes.Note,however,thatoneALEpulseisskippedduringeachaccesstoexternalDataMemory.·:ProgramStor-voltVPP.·XTAL1:Inputtotheinvertingoscillatoramplifierandinputtotheinternalclockoperatingcircuit.·XTAL2:Outputfromtheinvertingoscillatoramplifier.·Ready/:TheprogressofbyteprogrammingcanalsobemonitoredbytheRDY/outputsignal.P3.4ispulledlowafterALEgoeshighduringprogrammingtoindicateBUSY.P3.4ispulledhighagainwhenprogrammingisdonetoindicateREADY.OscillatorCharacteristics:XTAL1andXTAL2aretheinputandoutput,respectively,ofaninvertingamplifierwhichcanbeconfiguredforuse

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論