版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、-課程設(shè)計題目:單片機恒溫箱溫度控制系統(tǒng)的設(shè)計本課程設(shè)計要求:本溫度控制系統(tǒng)為以單片機為核心,實現(xiàn)了對溫度實時監(jiān)測和控制,實現(xiàn)了控制的智能化。設(shè)計恒溫箱溫度控制系統(tǒng),配有溫度傳感器,采用DS18B20數(shù)字溫度傳感器,無需數(shù)模擬數(shù)字轉(zhuǎn)換,可直接與單片機進展數(shù)字傳輸,采用了PID控制技術(shù),可以使溫度保持在要求的一個恒定圍,配有鍵盤,用于輸入設(shè)定溫度;配有數(shù)碼管LED用來顯示溫度。技術(shù)參數(shù)和設(shè)計任務(wù):1、利用單片機AT89C2051實現(xiàn)對溫度的控制,實現(xiàn)保持恒溫箱在最高溫度為110。2、可預置恒溫箱溫度,烘干過程恒溫控制,溫度控制誤差小于±2。3、預置時顯示設(shè)定溫度,恒溫時顯示實時溫度,采
2、用PID控制算法顯示準確到0.1。4、溫度超出預置溫度±5時發(fā)出聲音報警。5、對升、降溫過程沒有線性要求。6、溫度檢測局部采用DS18B20數(shù)字溫度傳感器,無需數(shù)模擬數(shù)字轉(zhuǎn)換,可直接與單片機進展數(shù)字傳輸7、人機對話局部由鍵盤、顯示和報警三局部組成,實現(xiàn)對溫度的顯示、報警。一、本課程設(shè)計系統(tǒng)概述1、系統(tǒng)原理選用AT89C2051單片機為中央處理器,通過溫度傳感器DS18B20對恒溫箱進展溫度采集,將采集到的信號傳送給單片機,在由單片機對數(shù)據(jù)進展處理控制顯示器,并比較采集溫度與設(shè)定溫度是否一致,然后驅(qū)動恒溫箱的加熱或制冷。2、系統(tǒng)總構(gòu)造圖總體設(shè)計應該是全面考慮系統(tǒng)的總體目標,進展硬件初步
3、選型,然后確定一個系統(tǒng)的草案,同時考慮軟硬件實現(xiàn)的可行性。總體方案經(jīng)過反復推敲,確定了以美國Atmel公司推出的51系列單片機為溫度智能控制系統(tǒng)的核心,并選擇低功耗和低本錢的存儲器、數(shù)碼顯示器等元件,總體方案如以下圖:圖1系統(tǒng)總體框圖二、硬件各單元設(shè)計1、單片機最小系統(tǒng)電路單片機選用Atmel公司的單片機芯片AT89C2051 ,完全可以滿足本系統(tǒng)中要求的采集、控制和數(shù)據(jù)處理的需要。單片機的選擇在整個系統(tǒng)設(shè)計中至關(guān)重要,該單片機與MCS-51系列單片機高度兼容、低功耗、可以在接近零頻率下工作等諸多優(yōu)點,而廣泛應用于各類計算機系統(tǒng)、工業(yè)控制、消費類產(chǎn)品中。AT89C2051是AT89系列單片機中
4、的一種精簡產(chǎn)品。它是將AT89C51的P0口、P2口、EA/Vpp、ALE/PROG、PSEN口線省去后,形成的一種僅20引腳的單片機,相當于早期Intel8031的最小應用系統(tǒng)。這對于一些不太復雜的控制場合,僅有一片AT89C2051就足夠了,是真正意義上的“單片機。AT89C2051為很多規(guī)模不太大的嵌入式控制系統(tǒng)提供了一種極佳的選擇方案,使傳統(tǒng)的51系列單片機的體積、功耗大、可選模式少等諸多弱點不復存在。該型號單片機包括: 1一個8位的微處理器(CPU)。2片有2K字節(jié)的程序存儲器(ROM)和128/256字節(jié)RAM。315條可編程雙向I/O口線。4兩個16位定時器/計數(shù)器都可以設(shè)置成計
5、數(shù)方式,用以對外部事件進展計數(shù),也可設(shè)置成定時方式,并可以根據(jù)計數(shù)或定時的結(jié)果實現(xiàn)計算機控制。5五個中斷源的中斷控制系統(tǒng)。6一個全雙工UATR(通用異步接收發(fā)送器)的串行I/0口,用于實現(xiàn)單片機之間或單片機與微機之間的串行通信。7片含模擬比較器。8低功耗的閑置和掉電模式。圖2 最小系統(tǒng)電路AT89C2051是一個20腳的雙列直插封裝(DIP)芯片。最小系統(tǒng)電路包括晶體振蕩電路和手動復位電路,如圖2。本設(shè)計使用一片AT89C2051就代替了原來的8031、EPROM2732和地址鎖存器74LS373,因為AT89C2051部的2KB EPROM和128B的RAM,對智能化溫度傳感器測試系統(tǒng)已能滿
6、足設(shè)計要求,而且降低了本錢,構(gòu)造設(shè)計也較精巧。2、溫度傳感器采用數(shù)字溫度傳感器DS18B20,與傳統(tǒng)的熱敏電阻相比, 他能夠直接讀出被測溫度并且可根據(jù)實際要求通過簡單的編程實現(xiàn)912位的數(shù)字值讀數(shù)方式。可以分別在93.75ms和750ms完成9位和12位的數(shù)字量, 并且從DS18B20讀出的信息或?qū)懭隓S18B20的信息僅需要一根口線( 單線接口) 讀寫, 溫度變換功率來源于數(shù)據(jù)總線, 總線本身也可以向所掛接的DS18B20供電, 而無需額外電源。因而使用DS18B20可使系統(tǒng)構(gòu)造更趨簡單,可靠性更高,本錢更低。測量溫度圍為55+125。C,在一10+85。C圍,精度為±0.5。DS
7、1822的精度較差為±2?,F(xiàn)場溫度直接以“一線總線的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。其引腳分布如圖3所示圖3 DS18B20引腳圖(1)引腳功能如下:NC(1 、2 、6 、7 、8腳) :空引腳,懸空不使用。VDD(3腳):可選電源腳,電源電壓圍35.5V。DQ(4腳):數(shù)據(jù)輸入/輸出腳,漏極開路,常態(tài)下高電平。(2) DS18B20測溫原理DS18B20的測溫原理如圖4所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度存放器被預置在-55所對
8、應的一個基數(shù)值。計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進展減法計數(shù),當計數(shù)器1的預置值減到0時,溫度存放器的值將加1,計數(shù)器1的預置將重新被裝入,計數(shù)器1重新開場對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進展計數(shù),如此循環(huán)直到計數(shù)器2 計數(shù)到0時,停頓溫度存放器值的累加,此時溫度存放器中的數(shù)值即為所測溫度。斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預置值。DS18B20在正常使用時的測溫分辨率為0.5,如果要更高的精度,則在對DS18B20測溫原理進展詳細分析的根底上,采取直接讀取DS18B20部暫存存放器的方法,將DS18B20的測溫分辨率提高到0.10.01。圖4 測溫原理圖
9、(3) DS18B20與單片機接口電路P1.3口和DSl8B20的引腳DQ連接,作為單一數(shù)據(jù)線。U2即為溫度傳感芯片DSl8B20,本設(shè)計雖然只使用了一片DSl8B20 ,但由于不存在遠程溫度測量的考慮,所以為了簡單起見,采用外部供電的方式,如圖2.6所示。測溫電纜采用屏蔽4芯雙絞線,其中一對線接地線與信號線,另一對接VCC和地線,屏蔽層在電源源端單點接地。圖5 DS18B20與單片機接口電路3、 鍵盤顯示電路LED與控制器的連接有并行和串行方式。由于串行方式占用較少接口,因此得到廣泛應用。顯示電路中選用MA*7219作為LED驅(qū)動芯片。MA*7219是一個高集成化的串行輸入/輸出的共陰極LE
10、D驅(qū)動顯示器。每片可驅(qū)動8位7段加小數(shù)點的共陰極數(shù)碼管。片包括BCD譯碼器、多路掃描控制器、字和位驅(qū)動器和8×8靜態(tài)RAM。外部只需要一個電阻設(shè)置所有LED顯示器字段電流。MA*7219和控制器只需要三根導線連接,每位顯示數(shù)字有一個地址由控制器寫入。允許使用者選擇每位是BCD譯碼或不譯碼。使用者還可以選擇停機模式、數(shù)字亮度控制、從18位選擇掃描位數(shù)和對所有LED顯示器的測試模式。(1) 引腳功能 MA*7219是24引腳芯片,它的引腳排列如圖2.7所示。各引腳功能如下:1) DIN(1腳):串行數(shù)據(jù)輸入端,當CLK為上升沿時數(shù)據(jù)被載入16位部移位存放器。2) CLK13腳:串行時鐘脈
11、沖輸入端,最大工作頻率可達10MHz。3) LOAD12腳:片選端,當LOAD為低電平時,芯片接收來自DIN的數(shù)據(jù),接收完畢,LOAD回到高電平,接收的數(shù)據(jù)將被鎖定。4) DIG0DIG72、3、5、6、7、8、10、11腳:吸收顯示器共陰極電流的位驅(qū)動線,最大值可達500mA。圖6 MA*7219引腳圖5) SEGASEGG、SEGDP14、15、16、17、20、21、22、23腳:驅(qū)動顯示器7段及小數(shù)點的輸出電流,一般為40mA,可編程調(diào)整。6) ISET18腳:硬件亮度調(diào)節(jié)端。7) DOUT24腳:串行數(shù)據(jù)輸出端;V,正電源。8) GND9腳:接地。(2)MA*7219與單片機和LED
12、及鍵盤的接口電路1 MA*7219的3個輸入端DIN、CLK和LOAD與單片機的三個I/O口連接,DIG0DIG7分別與八個共陰極LED的公共端連接,SEGASEGG、SEGDP分別與每個LED七段動和小數(shù)點驅(qū)動端相連。電路圖如圖7所示。2鍵盤功能介紹 采用獨立式按鍵設(shè)計,如圖上圖所示。 由于只有四個按鍵,因此按鍵接口電路的設(shè)計比較簡單,單片機P1.4P1.7端口設(shè)定為輸入狀態(tài),平時通過電阻上拉到Vcc,按鍵按下時,對應的端口的電平被拉到低電平。這樣就可以通過查詢P1的高4位來判斷有門有按鍵按下按鍵各接一根輸入線,一根輸入線的按鍵工作狀態(tài)不會影響其他輸入線上的工作狀態(tài)。通過讀I/O口,判斷各I
13、/O口的電平狀態(tài),即可識別出按下的按鍵。4個按鍵定如下:A、P1.4:S1功能鍵,按此鍵則開場鍵盤控制。B、P1.5:S2加,按此鍵則溫度設(shè)定加1度。C、P1.6:S3減,按此鍵則溫度設(shè)定減1度。D、P1.7:S4發(fā)送,按此鍵將傳感器的溫度傳送到上位機。圖7 MA*7219與單片機和LED及鍵盤的接口電路. z-4、 驅(qū)動控制電路(1) 熱電制冷介紹熱電制冷原理:半導體熱電偶由N型半導體和P型半導體組成。當電流的極性如圖8所示時,電子從電源負極出發(fā),經(jīng)連接片、P型半導體、連接片、N型半導體,最后回到電源正極。N型材料有多余的電子,有負溫差電勢。P型材料電子缺乏,有溫差電勢;當電子從P型穿過結(jié)點
14、至N型時,其能量必然增加,而且增加的能量相當于結(jié)點所消耗的能量。這一點可用溫差降低來證明。相反,當電子從N型流至P型材料時,結(jié)點的溫度就會升高。直接接觸的熱電偶電路在實際的引用中不可用,所以用圖8的連接方式來代替,實驗證明,在溫差電路中引入銅連接片和導線,不會改變電路的特性。簡單地說當一塊N型半導體材料和一塊P型半導體材料聯(lián)結(jié)成電偶對時,在這個電路中接通直流電流后,就能產(chǎn)生能量的轉(zhuǎn)移,電流由N型元件流向P型元件的接頭吸收能量,成為冷端;由P型元件流向N型元件的接頭釋放熱量,成為熱端。吸收和放熱的大小是通過電流的大小以及半導體材料N、P的元件對數(shù)來決定。圖8 半導體制冷原理圖(2) 驅(qū)動控制電路
15、光耦合雙向可控硅驅(qū)動器是一種單片機輸出與雙向可控硅之間較理想的接口器件,它由入和輸出兩局部組成,輸入局部為砷化鎵發(fā)光二極管,該二極管在5mA15mA正向電流作用下發(fā)出足夠強度的紅外光,觸發(fā)輸出局部。連接電路如圖9所示。輸出局部為硅光敏雙向可控硅,在紅外線作用下可雙向?qū)?。光電耦合器是以光為媒介傳輸電信號的一種“電-光-電轉(zhuǎn)換器件。它由發(fā)光源和受光器兩局部組成。把發(fā)光源和受光器組裝在同一殼體,彼此間用透明絕緣體隔離。發(fā)光源的引腳為輸入局部,受光器的引腳為輸出端,常見的發(fā)光源為發(fā)光二極管,受光器為光敏二極管、光敏三極管等。在光電耦合器輸入端加電信號使發(fā)光源發(fā)光,光的強度取決于鼓勵電流的大小,此光照
16、射到封裝在一起的受光器上后,因光電效應而產(chǎn)生了光電流,由受光器輸出端引出,這樣就實現(xiàn)了“電-光-電轉(zhuǎn)換。在光電耦合器的部,由于發(fā)光管和受光器之間的耦合電容很小,使用共模輸入電壓通過極間耦合電容對輸出電流的影響很小,因而共模抑制比很高。在發(fā)光二極管上提供一個偏置電流,再把信號電壓通過電阻耦合到發(fā)光二極管上,這樣光電晶體管接收到的是在偏置電流上增、減變化的光信號,其輸出電流將隨輸入的信號電壓作線性變化。光電耦合器也可工作在開關(guān)狀態(tài),傳輸脈沖信號。在傳輸脈沖信號是,輸入信號和輸出信號之間存在一定的延時,不同構(gòu)造的光電耦合器輸入、輸出延時時間相差很大。圖9 加熱降溫驅(qū)動控制電路5、看門狗和上位機通信電
17、路(1) 串口通信功能實現(xiàn)在實際的工作中,計算機的CPU與外部設(shè)備之間常常要進展信息交換,一臺計算機與其他計算機之間也往往要交換信息,所有這些信息交換均可稱為通信。串行通信是指:數(shù)據(jù)是一位一位按順序傳送的通信方式。它的突出優(yōu)點是只需一對傳輸線(利用線就可以作為傳輸線),這樣就大大降低了本錢,特別適用與遠距離通信;其缺點是傳送速度低。(2)MA*232與單片機接口電路設(shè)計 圖10為MA*232與單片機接口電路;通過它可以把單片機和計算機連接起來,實現(xiàn)遠程通訊功能。(3)看門狗與電源監(jiān)控芯片介紹由于工業(yè)現(xiàn)場對控制系統(tǒng)可能造成很強的干擾,為保證控制器在任何干擾條件下都能正常工作,就必須對單片機的運行
18、進展監(jiān)控,防止死機、程序跑飛或進入死循環(huán)。采用看門狗電路則可以大大提高整個系統(tǒng)的抗干擾能力態(tài)。本系統(tǒng)選用MA*813L,該芯片能夠監(jiān)控電源電壓、電池故障和微控制器的工作狀態(tài)。MA*813L引腳功能如下:1)MR(1腳):手動復位輸入,低電平有效。2)PRI(4腳) 、PFO(5腳):分別為電源故障輸入和電源故障輸出。3)WDI(6腳)、WDO(8腳):分別為看門狗輸入和看門狗輸出。4)RESET(7腳):復位輸出。MA*813L芯片主要特點:1)復位輸出:系統(tǒng)上電、掉電以及供電電壓降低時,第7腳產(chǎn)生復位脈沖,復位脈沖寬度的典型值為200ms,高電平有效,復位門限值為4.65V。2)看門狗電路輸
19、出:如果在1.6s沒有觸發(fā)該電路,則第8腳輸出一個低電平信號。3)手動復位輸入:低電平有效,即第1腳輸入一個低電平,則地7腳產(chǎn)生復位輸出。4)第4腳輸入電壓為1.25V時,第5腳輸出一個低電平信號。(5) MA*813L與單片機的連接MA*813L的典型應用電路如圖10所示,在軟件設(shè)計中,P3.7不斷的輸出脈沖信號。如果因*種原因進入死循環(huán),則P3.7無脈沖輸出,于是1.6s后在MA*813L的第8腳輸出低電平。該低電平加到1腳,使MA*813L產(chǎn)生復位輸出,使單片機有效復位,擺脫死循環(huán)。另外,當電源電壓低于限制值4.65V時,MA*813L也會產(chǎn)生復位輸出,使單片機處于復位狀態(tài),不執(zhí)行任何指
20、令,知道電壓電壓恢復正常,以有效防止因電源電壓較低使單片機產(chǎn)生錯誤的動作。圖10 MA*232與單片機接口電路6、電源電路圖11 電源電路電源電路雖然簡單,但需要功能可靠,要有CBB電容和高品質(zhì)的ELNA電容做退藕,設(shè)計所用的電源都是直流電源+5V,所用采用三端集成穩(wěn)壓器7805,可以方便的實現(xiàn)此功能,電路如圖11所示7、PID控制算法(1) PID的數(shù)學模型PID控制是一種比較成熟的控制理論,它通過比例、積分、微分三局部的合理組合可以用比較簡單的方法獲得令人滿意的控制效果。PID的數(shù)學模型如圖12表示:圖12 PID數(shù)學模型給定值R(t)與實際值Y(t)構(gòu)成控制誤差: Et=Rt-Yt式2-
21、1PID控制器根據(jù)E(t)將誤差的比例(P)、積分(I)、和微分(D)通過線性組合構(gòu)成控制量,對受控對象進展控制,其控制規(guī)律如式2所示:U(t)=KPe(t)+ 式2-2U(t)控制器輸出函數(shù);E(t)控制器誤差函數(shù);KP比例系數(shù);Ti積分時間常數(shù);Td微分時間常數(shù)。一個最簡單的控制器可以只有比例局部,它能夠產(chǎn)生與輸入信號成比例的輸出信號,所以誤差一旦產(chǎn)生,控制器立即就有控制作用,使被控制量朝著減小誤差的方向變化,控制作用的強弱取決于比例系數(shù)KP。比例控制的缺點是不能在設(shè)置點和反響點之間產(chǎn)生零誤差(靜差),為了產(chǎn)生有限的輸出信號,必須保持這種靜差。加大KP可以減小靜差,但是KP過大會導致動態(tài)性
22、能變壞,甚至會使閉環(huán)系統(tǒng)不穩(wěn)定。為了消除這種靜差,可以引入積分控制環(huán)節(jié),積分環(huán)節(jié)能對誤差進展記憶并積分,即使只存在很小的偏差,也可以將其積分后作用于操作局部,有利于消除靜差。但是積分作用具有滯后特性,它總是滯后于偏差的存在,這樣會使系統(tǒng)易于振蕩,結(jié)果往往超調(diào),使被控變量波動很大。積分控制常用于補償高精度的控制系統(tǒng)。微分控制能對誤差進展微分,敏感出誤差的變化趨勢,將預期的動作作用于操作局部,增大微分控制作用可以加快系統(tǒng)的響應,使超調(diào)量減小,增加系統(tǒng)的穩(wěn)定性。缺點是微分控制對干擾同樣敏感,使系統(tǒng)抑制干擾的能力降低。微分控制可用于補償快速變化的控制系統(tǒng)。(2) PID控制規(guī)律的離散化為了用計算機實現(xiàn)
23、PID控制,必須將式表示PID控制規(guī)律的連續(xù)形式變成離散形式,才能通過編程實現(xiàn)。假設(shè)設(shè)溫度采樣周期為T,第n次采樣得到的輸入偏差為en,輸出為Un。微分用差分代替式2-3積分用求和代替式2-4 這樣PID控制器控制算法的離散形式改寫為式2-5這種算法的缺點是,由于是全量輸出,所以每次輸出均與過去的狀態(tài)有關(guān),計算時要對E(n)進展累加,所以計算機工作量大。而且,因為計算機輸出的U(n)對應的是執(zhí)行機構(gòu)的實際位置,如果計算機出現(xiàn)故障,u(n)的大幅度變化會引起執(zhí)行機構(gòu)位置的大幅度變化,這種情況往往是生產(chǎn)實踐中不允許的,在*些場合,可能造成重大的生產(chǎn)事故,因此產(chǎn)生了增量式PID控制的控制算法。所謂增
24、量式PID控制算法是指數(shù)字控制器的輸出只是控制量的增量U(n)。當執(zhí)行機構(gòu)需要的是控制量的增量時,可由式導出提供增量的PID控制算法。根據(jù)遞推規(guī)律得:式2-6用式2-5減去式2-6可得:式2-7改寫成: =式2-8事實證明,對于PID這樣簡單的控制器,能夠適用于廣泛的工業(yè)和民用對象,并以其很高的性價比在市場中占主導地分反映了PID控制,但在工業(yè)控制過程中經(jīng)常會碰到大滯位,充后、時變的、非線性的復雜系統(tǒng),其中有的是非線性系統(tǒng);有的帶有延時和隨機干擾;有的無法獲得較準確的數(shù)學模型或者模型非常粗燥。對于以上這些系統(tǒng),如果采用常規(guī)的PID控制器,則難以整定PID參數(shù),因此比較難以到達預期的控制效果。同
25、時,在實際生產(chǎn)現(xiàn)場,由于受到參數(shù)整定方法繁雜的困擾,常規(guī)PID控制器參數(shù)往往整定不良、性能欠佳,對運行工礦的適用性很差。三、軟件設(shè)計1、溫度傳感器DS18B20模塊軟件設(shè)計DS18B20上電后處于空閑狀態(tài),需要控制器發(fā)能完成溫度轉(zhuǎn)換。DS18B20的單線通訊功能是分時完成的,具有嚴格的時序要求,而AT89C2051單片機并不支持單線傳輸,必須采用軟件的方法來模擬單線的協(xié)議時序。DS18B20的操作必須嚴格按照協(xié)議進展。工作協(xié)議流程為:主機發(fā)復位脈沖初始化DS18B20DS18B20發(fā)響應脈沖主機發(fā)ROM操作指令主機發(fā)存儲器操作指令數(shù)據(jù)傳輸。對DS18B20操作時,首先要將它復位。復位時,DQ線
26、被拉為低電平,時間為480960us;接著將數(shù)據(jù)線拉為高電平,時間為1560us;最后DS18B20發(fā)出60240us的低電平作為應答信號,這時主機才能進展讀寫操作。進展寫操作時,將數(shù)據(jù)線從高電平拉至低電平,產(chǎn)生寫起始信號。從DQ線的下降沿起計時,在15us到60us這段時間對數(shù)據(jù)線進展檢測,如數(shù)據(jù)線為高電平則寫1;假設(shè)為低電平,則寫0,完成了一個寫周期。在開場另一個寫周期前,必須有1us以上的高電平恢復期。每個寫周期必須要進展寫操作時,將數(shù)據(jù)線從高電平拉至低電平,產(chǎn)生寫起始信號。從DQ線的下降沿起計時,在15us到60us這段時間對數(shù)據(jù)線進展檢測,如數(shù)據(jù)線為高電平則寫1;假設(shè)為低電平,則寫0
27、,完成了一個寫周期。在開場另一個寫周期前,必須有1us以上的高電平恢復期。每個寫周期必須要有60us以上的持續(xù)期。讀操作時,主機將數(shù)據(jù)線從高電平拉至低電平1us以上,再使數(shù)據(jù)線升為高電平,從而產(chǎn)生讀起始信號。從主機將數(shù)據(jù)線從高電平拉至低電平起15us至60us,主機讀取數(shù)據(jù)。每個讀周期最短的持續(xù)期為60us,周期之間必須有1us以上的高電平恢復期。溫度轉(zhuǎn)換讀取溫度數(shù)值程序流程如圖13所示圖13溫度轉(zhuǎn)換讀取溫度數(shù)值程序流程2、顯示程序設(shè)計MA*7219上電時,譯碼方式、亮度調(diào)節(jié)、掃描位數(shù)、待機開關(guān)和顯示檢測5個控制存放器全部清零。對于MA*7219,串行數(shù)據(jù)以16位數(shù)據(jù)包的形式從DIN腳串行輸入
28、,在CLK的每一個上升沿一位一位的送入芯片部16位移位存放器,而不管LOAD腳的狀態(tài)如何。LOAD腳必須在第16個上升沿出現(xiàn)的同時或之后,但在下一個CLK上升沿之前變?yōu)楦唠娖?,否則移入的數(shù)據(jù)將喪失。3、鍵盤程序設(shè)計在按鍵的軟件設(shè)計時考慮了按鍵去抖動技術(shù)問題。因為按鍵的無操作抖動很可能影響單片機對按鍵的判斷,因此必須考慮去抖動問題。鍵盤的程序流程圖如圖14圖14鍵盤的程序流程4、PID控制程序設(shè)計由式2-8可以改寫成:P(K)=P(K-1)+KPE(K)-E(K-1)+KI·E(K)+KDE(K)-2E(K-1)+E(K-2) =P(K-1)+PP+PI+PD 式3-1根據(jù)式3-1編程
29、,相應的程序框圖如圖15所示:圖15PID算法程序流程圖5、主程序流程圖及程序設(shè)計(1)系統(tǒng)主程序流程圖如圖16所示。有了各個功能塊的軟件實現(xiàn)方法,軟件的總體設(shè)計就變得簡單了,軟件設(shè)計中一個重要的思想就是采用模塊化設(shè)計,把一個大的任務(wù)分解成假設(shè)干個小任務(wù),分別編制實現(xiàn)這些小任務(wù)的子程序,然后將子程序按照總體要求組裝起來,就可以實現(xiàn)這個大任務(wù)了。這種思路對于可重復使用的子程序顯得尤為優(yōu)越,因為不僅程序構(gòu)造清晰,而節(jié)約程序存儲空間。圖16主程序流程圖(2)主程序設(shè)計*include “AT89C2051.h*include<intrins.h>sbit TSOR=P17; /溫度測試端
30、sbit DIN=P12; /MA*7219串行數(shù)據(jù)輸入sbit LOAD=P11; /MA*7219裝載數(shù)據(jù)輸入sbit LCK=P10; /MA*7219時鐘輸入sbit SCL=P32; /AT24C32信號線sbit SDA=P33; / AT24C32數(shù)據(jù)線sbit OUT0=P34; /控制制冷光耦sbit OUT1=P35; /控制加熱光耦sbit weidog=P37; /看門狗/* 全局變量 */*define uchar unsigned chau;*define uint unsigned uint;uchar temp1,temp2; /溫度的整數(shù)和小數(shù)uchar se
31、tb,sets,setg,set*;/預設(shè)定溫度的百、十、個位和小數(shù)位uchar *ianb,*ians,*iang,*ian*;/顯示溫度的百、十、個位和小數(shù)位uchar add_1,add_10;/ uchar count; /T0中斷計數(shù)uchar pid; /PID數(shù)值bit outflag;/升溫降溫標志位bit alert;/* 函數(shù)聲明 */void InitInterupt ();/*鍵盤掃描 */uchar key (); /* MA*7219子程序 */void send(uchar add,dat)/* 溫度傳感器子程序 */void Delay15(); /延時15us
32、void Delay60(); /延時60usvoid Delay100ms(); /延時100msvoid Write0TS(); /寫DS18B20數(shù)據(jù)位0void Write1TS(); /寫DS18B20數(shù)據(jù)位1void ReadTS(); /讀DS18B20數(shù)據(jù)位void ResetTS(); /復位DS18B20void WriteBTS(); / 寫1字節(jié)void ReadBTS(); /讀1字節(jié)void InitTS(); / 初始化DS18B20void GetTempTS(); / 讀取測得的溫度/* 比較程序 */Void pare();/*主程序 */void main
33、() uchar i,j; uchar aa;/ PID值sp=0*50;TSOR=1;/ 1wire總線釋放Delay(500);/ 延時500msInitInterupt();/ 初始化中斷設(shè)置setb=O*00;sets=O*02;setg=O*03set*=O*05; /預設(shè)值23.5°Ccount=0;P1=0*ff;InitTS();/初始化DS18B20 send(O*0c;O*01);/設(shè)定停機方式 send(O*0b;O*07);/掃描7位 send(O*0a;O*f5);/亮度等級 send(O*09;O*ff);/譯碼方式 while(1) GetTempTS(
34、);/讀取測得的溫度 i=temp1; if(i>=0i<=100) *ianb=i/100;j=i%100;*ians=j/10;*iang=j%10O*80;*in*=temp2;send(O*01;*ianb);/ send(O*02;*ians);/ send(O*03;*iang);/ send(O*04;*ian*);/顯示測得的溫度 send(O*05;setb);/ send(O*06;sets);/Send(O*07;setg);/ send(O*08;set*);/顯示預設(shè)定的溫度 else alert=1;警告 void key(); /調(diào)按鍵掃描 void pare(); /調(diào)比較程序 if(outflag=1) pid=_a_func
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度商鋪物業(yè)管理服務(wù)合同參考2篇
- 偵探柯南介紹
- 二零二五年度婚介公司婚姻法律援助合同3篇
- 山東省棗莊市市中區(qū)2024-2025學年八年級上學期期末生物試題(含答案)
- 二零二五年度單車租賃與保險合作合同2篇
- Unit 6 Exploring the Topic Grammar in Use說課稿 -2024-2025學年仁愛科普版七年級英語上冊
- 江蘇省蘇州市姑蘇區(qū)2024-2025學年七年級上學期期末質(zhì)量監(jiān)測歷史卷(含答案)
- 黑龍江牡丹江市(2024年-2025年小學六年級語文)統(tǒng)編版能力評測(下學期)試卷及答案
- 貴州盛華職業(yè)學院《影視動畫制作》2023-2024學年第一學期期末試卷
- 貴州黔南經(jīng)濟學院《產(chǎn)品符號與語意》2023-2024學年第一學期期末試卷
- 【MOOC】思辨式英文寫作-南開大學 中國大學慕課MOOC答案
- 期末測試卷(試題)-2024-2025學年五年級上冊數(shù)學北師大版
- 2024年下半年中國石油大連石化分公司招聘30人易考易錯模擬試題(共500題)試卷后附參考答案
- 國有企業(yè)品牌建設(shè)策略方案
- 家政培訓講師課件
- 廣東省深圳市龍華區(qū)2023-2024學年八年級下學期期中數(shù)學試題
- 視頻監(jiān)控方案-高空瞭望解決方案
- 完整液壓系統(tǒng)課件
- 2024-2030年中國通信工程行業(yè)發(fā)展分析及發(fā)展前景與趨勢預測研究報告
- 雙梁橋式起重機小車改造方案
- 2022年福建省職業(yè)院校技能大賽中職組“現(xiàn)代物流綜合作業(yè)”賽項規(guī)程
評論
0/150
提交評論