水溫控制系統(tǒng)_第1頁(yè)
水溫控制系統(tǒng)_第2頁(yè)
水溫控制系統(tǒng)_第3頁(yè)
水溫控制系統(tǒng)_第4頁(yè)
水溫控制系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 設(shè)計(jì)報(bào)告1.設(shè)計(jì)原理 水溫控制系統(tǒng)以單片機(jī)作為控制核心,采用開關(guān)控制和控制算法相結(jié)合,通過(guò)控制單位時(shí)間內(nèi)加熱時(shí)間所占的比例(即控制波形占空比)來(lái)控制水的加熱速度,實(shí)現(xiàn)對(duì)水的全量程()內(nèi)的升溫、降溫功能的自動(dòng)控制。根據(jù)設(shè)計(jì)要求系統(tǒng)可劃分為控制模塊、溫度測(cè)量模塊、水溫調(diào)節(jié)模塊、鍵盤輸入模塊、顯示電路模塊等。系統(tǒng)原理圖如圖所示首先寫命令給開始轉(zhuǎn)換數(shù)據(jù),將轉(zhuǎn)換后的溫度數(shù)據(jù)送入進(jìn)行處理,處理后在液晶屏上實(shí)時(shí)顯示。并將實(shí)際測(cè)量溫度值與鍵盤設(shè)定值進(jìn)行比較,根據(jù)比較結(jié)果進(jìn)行溫度調(diào)節(jié),當(dāng)溫差比較大時(shí)采用開關(guān)量調(diào)節(jié),既全速加熱和制冷,當(dāng)溫差小時(shí)采用算法進(jìn)行調(diào)節(jié),最終達(dá)到溫度的穩(wěn)定控制。其中,加熱采用內(nèi)置(水中)

2、電加熱器實(shí)現(xiàn),熱量直接與水傳遞,加熱效果好,控溫方便;降溫采用半導(dǎo)體制冷片實(shí)現(xiàn)。其體積小,安裝簡(jiǎn)單,易于控制,價(jià)格便宜,可短時(shí)間內(nèi)反復(fù)啟動(dòng),但其制冷速率不高,所以設(shè)計(jì)中配套散熱風(fēng)扇以達(dá)到快速降溫的目的。溫度控制算法實(shí)際溫度控制系統(tǒng),常采用開關(guān)控制或數(shù)字控制方式。開關(guān)控制的特點(diǎn)是可以使系統(tǒng)以最快的素的向平衡點(diǎn)靠近,但在實(shí)際應(yīng)用卻很容易造成系統(tǒng)在平衡點(diǎn)附近震蕩,精度不高;而數(shù)字控制具有穩(wěn)態(tài)誤差小特點(diǎn),實(shí)用性廣泛的特點(diǎn),但誤差較大時(shí),系統(tǒng)容易出現(xiàn)積分飽和,從而份致系統(tǒng)出現(xiàn)很大的超調(diào)量,甚至出現(xiàn)失控現(xiàn)象。因此,本設(shè)計(jì)將開關(guān)控制,放積分飽和、防參數(shù)突變積分飽和等方法溶入控制算法組成復(fù)式數(shù)字控制方法,集各

3、種控制策略的優(yōu)點(diǎn),既改善了常規(guī)控制的動(dòng)態(tài)過(guò)程又保持了常規(guī)控制的穩(wěn)態(tài)特性。2.1控制算法的確定溫度控制過(guò)程為:當(dāng)水溫溫差大時(shí),采用開關(guān)控制方式迅速減小溫差,以縮短調(diào)節(jié)時(shí)間;當(dāng)溫差小于某一值后采用PID控制方式,以使系統(tǒng)快速穩(wěn)定并保持系統(tǒng)無(wú)靜態(tài)誤差。在這種控制方法中, PID控制在較小溫差時(shí)開始進(jìn)入,這樣可有效避免數(shù)字積分器的飽和。PID參數(shù)和被控制對(duì)象關(guān)系密切,要精確得到被控對(duì)象模型比較困難,為此,采用離線模糊整定的方法來(lái)確定PID參數(shù),即給出一組PID參數(shù)的初值,測(cè)得相應(yīng)的數(shù)據(jù),按使這個(gè)量減小的方向調(diào)節(jié)PID參數(shù),用整定后的參數(shù)控制該系統(tǒng),并根據(jù)輸出的調(diào)節(jié)時(shí)間、超調(diào)量及穩(wěn)態(tài)誤差,調(diào)節(jié)PID參數(shù)

4、,如此反復(fù),求得一組使系統(tǒng)性能最優(yōu)的PID參數(shù)。復(fù)合PID控制系統(tǒng)方框圖如圖所示。2.2PID控制算法根據(jù)設(shè)計(jì)要求,系統(tǒng)對(duì)1L凈水進(jìn)行加熱或降溫處理,根據(jù)水的對(duì)象特性,會(huì)出現(xiàn)慣性溫度誤差問題,原因如下:溫度控制器采用發(fā)熱絲對(duì)水進(jìn)行加熱。發(fā)熱絲通電加熱時(shí),內(nèi)部溫度很高。當(dāng)容器內(nèi)水溫升高至設(shè)定溫度時(shí),溫度控制器發(fā)出信號(hào)停止加熱。但這時(shí)發(fā)熱絲的溫度會(huì)高于設(shè)定溫度,發(fā)熱絲還將繼續(xù)對(duì)對(duì)水進(jìn)行加熱,導(dǎo)致水的溫度還會(huì)繼續(xù)上升幾度,然后才開始下降。當(dāng)水溫下降到設(shè)定溫度的下限時(shí),溫度控制器又發(fā)出加熱信號(hào),開始加熱,但發(fā)熱絲要把溫度傳遞到被加熱器件需要一定的時(shí)間,導(dǎo)致水溫會(huì)繼續(xù)下降幾度。所以,為了對(duì)水溫實(shí)現(xiàn)精確控

5、制,使溫度測(cè)量誤差在±0.5 內(nèi),必須采用PID模糊控制算法,通過(guò)Pvar、Ivar、Dvar(比例、積分、微分)三方面的結(jié)合形成一個(gè)模糊控制來(lái)解決慣性溫度誤差問題。利用數(shù)值逼近方法,在采樣時(shí)刻t=iT(T為采樣周期,i為正整數(shù))時(shí),PID調(diào)節(jié)規(guī)律可通過(guò)下式近似計(jì)算。則增量式PID算法的輸出量為:式中,ei、ei-1、ei-2分別為第n次、n-1次和n-2次的偏差值,Kp、Ti、Td分別為比例系數(shù)、積分系數(shù)和微分系數(shù),T為采樣周期。單片機(jī)每隔固定時(shí)間 T將現(xiàn)場(chǎng)溫度與用戶設(shè)定目標(biāo)溫度的差值帶入增量式PID算法公式,由公式輸出量決定PWM方波的占空比,后續(xù)加熱電路根據(jù)此PWM方波的占空比

6、決定加熱功率?,F(xiàn)場(chǎng)溫度與目標(biāo)溫度的偏差大則占空比大,加熱電路加熱功率增大,使溫度的實(shí)測(cè)值與設(shè)定值的偏差迅速減少;反之,二者的偏差小則占空比減小,加熱電路加熱功率減少,直至目標(biāo)值與實(shí)測(cè)值相等,達(dá)到自動(dòng)控制的目的。 2.3PID參數(shù)的確定PID參數(shù)的選擇是設(shè)計(jì)成敗的關(guān)鍵,它決定了溫度控制的準(zhǔn)確度。由于溫度系統(tǒng)是一個(gè)具有較大滯后性的系統(tǒng),所以本系統(tǒng)的采樣周期定為10秒,加熱周期定為1秒鐘,根據(jù)一些文獻(xiàn)提供的經(jīng)驗(yàn)值,初步確定Kp=2,Ti=2,Td=0.5,根據(jù)公式Ki= Kp*T/ TI ;Kd = Kp * TD /T;計(jì)算得出Ki=1,Kd=1;然后,由按鍵對(duì)系統(tǒng)設(shè)定一個(gè)溫度值,在線應(yīng)用工程整定

7、法中的經(jīng)驗(yàn)法對(duì)P,I,D各參數(shù)進(jìn)行調(diào)整,經(jīng)驗(yàn)法是一種湊試法,它通過(guò)模擬或閉環(huán)運(yùn)行,觀察調(diào)節(jié)過(guò)程的響應(yīng)曲線,如果曲線不夠理想,則按某種程序?qū)?shù)反復(fù)湊試,直到調(diào)節(jié)質(zhì)量滿意為止。湊試程序通常是先比例后積分,最后加入微分。湊試法整定PID參數(shù)的步驟是:1)首先進(jìn)行P整定。將參數(shù)Kp由小而大慢慢變化,直至得到反應(yīng)快,超調(diào)小的響應(yīng)曲線。若無(wú)靜差或靜差在允許范圍內(nèi)且響應(yīng)曲線滿意,整定結(jié)束,否則繼續(xù)下步。2)進(jìn)行PI整定。略小于Kp值,將Ti由大而小緩慢變化,在保持系統(tǒng)動(dòng)態(tài)性能良好的前提下,消除靜差或是靜差允許范圍內(nèi)。反復(fù)改變Kp,Ti值以求得較好效果,若效果滿意,則整定結(jié)束,否則繼續(xù)下去。3)進(jìn)行PID整

8、定。略改變Kp,Ti的值,使Td由小而大緩慢變化,以求得較好的響應(yīng)曲線和較小的靜差。逐步反復(fù)的試湊,直至獲得滿意效果為止。 對(duì)于一定的系統(tǒng),合理的參數(shù)組并不唯一,根據(jù)一些文獻(xiàn)的實(shí)踐經(jīng)驗(yàn),在具體實(shí)施PID參數(shù)整定時(shí),以下幾個(gè)結(jié)論比較實(shí)用:1)比例系數(shù)Kp是PID調(diào)節(jié)中最關(guān)鍵的一個(gè)參數(shù),Kp增大,系統(tǒng)穩(wěn)定性增加,但調(diào)節(jié)靈敏度減弱,一般曲線振蕩頻繁時(shí),要增大Kp,而曲線飄浮繞大彎時(shí),要減小Kp.2)積分時(shí)間常數(shù)Ti主要起消除靜差的作用,減小Ti,消除靜差快,但穩(wěn)定性減小,一般曲線偏離恢復(fù)慢時(shí),減小Ti,而曲線波動(dòng)周期長(zhǎng)時(shí),再增大Ki。3)微分時(shí)間常數(shù)Td是加速過(guò)程的有力調(diào)節(jié),在加速過(guò)渡過(guò)程,應(yīng)增加T

9、d,Td不宜過(guò)小,也不宜太大,Td一般選Ti的四分之一為最佳。根據(jù)以上調(diào)節(jié)的步驟及調(diào)節(jié)的方法及經(jīng)驗(yàn),經(jīng)過(guò)反復(fù)的試驗(yàn)做后得到最終的P,I,D的參數(shù)為Kp=30,Ki=5,Kd=0.3.硬件電路設(shè)計(jì)水溫控制系統(tǒng)的硬件電路主要包括:主控電路、溫度采集電路、溫控電路和顯示電路等,下面依次對(duì)各部分進(jìn)行設(shè)計(jì)。3.1主控電路主控電路采用STC89C52單片機(jī)作為系統(tǒng)控制器,結(jié)合數(shù)字PID算法完成對(duì)溫度測(cè)量信號(hào)的接收、處理,控制加熱器和制冷片,使水溫控制達(dá)到設(shè)計(jì)要求。主控電路包括STC89C52最小系統(tǒng)和鍵盤電路兩部分,STC89C52最小系統(tǒng)在上一章中已介紹,這里不再贅述。本設(shè)計(jì)鍵盤采用RF-X1開發(fā)板上的

10、6個(gè)獨(dú)立按鍵中的4個(gè),各按鍵經(jīng)上拉電阻分別接到單片機(jī)的P3.2、P3.3、P3.4、P3.5口上,起到確認(rèn)、選擇、上調(diào)和下調(diào)的作用,每按上調(diào)或下調(diào)鍵一次,設(shè)定溫度值加1或減1。電路圖如圖所示。3.2溫度采集電路本系統(tǒng)采用DS18B20單總線可編程溫度傳感器來(lái)實(shí)現(xiàn)溫度的采集和轉(zhuǎn)換,溫度以912位數(shù)字量讀出,可以直接與單片機(jī)進(jìn)行連接,無(wú)需外部器件和電源,大大簡(jiǎn)化了電路的復(fù)雜度。DS18B20應(yīng)用廣泛,測(cè)溫范圍為-55+125oC,溫度數(shù)字量轉(zhuǎn)換快,性能可以滿足題目的設(shè)計(jì)要求。DS18B20的測(cè)溫電路如圖所示。3.3溫度控制電路溫度控制電路采用加熱器和制冷片對(duì)1L水實(shí)現(xiàn)加熱和降溫,具體電路如圖12-

11、5所示。當(dāng)實(shí)測(cè)溫度高于設(shè)定溫度時(shí),單片機(jī)P0.2腳輸出低電平,光耦管導(dǎo)通輸出高電平,進(jìn)入LM393管腳比較整形,濾除高次諧波,輸出高電平,進(jìn)入Q3和Q4組成的推挽電路,Q3導(dǎo)通Q4截止,輸出低電平,晶閘管導(dǎo)通,驅(qū)動(dòng)制冷片降溫。當(dāng)實(shí)測(cè)溫度低于設(shè)定溫度時(shí),P0.3腳輸出低電平,驅(qū)動(dòng)加熱器對(duì)水溫進(jìn)行加熱,工作原理與降溫驅(qū)動(dòng)相同。3.4顯示電路顯示電路采用LCD12864液晶模塊顯示系統(tǒng)的設(shè)定溫度和實(shí)測(cè)溫度。LCD12864液晶共有20個(gè)引腳,管腳名稱及功能如表12-1所示。本系統(tǒng)選用單片機(jī)P1口作為數(shù)據(jù)輸出端與LCD12864的數(shù)據(jù)端(DB0DB7)相連,進(jìn)行水溫?cái)?shù)據(jù)傳輸;P20接串并行模式方式位R

12、S;P21接并行的讀寫方式位R/W;P22接并行使能端口E;P23接并/串行接口選擇位PSB;P24接復(fù)位端口RST。具體電路圖如圖所示。4.軟件設(shè)計(jì)系統(tǒng)的軟件設(shè)計(jì)應(yīng)用C語(yǔ)言,采用模塊化對(duì)單片機(jī)進(jìn)行編程實(shí)現(xiàn)各項(xiàng)功能。主要包括:PID控制程序、按鍵子程序、溫度采集子程序、溫度比較子程序和液晶顯示程序。4.1主程序設(shè)計(jì)系統(tǒng)上電初始化后,首先進(jìn)行按鍵掃描,若有按鍵按下,則讀取按鍵值,更新設(shè)定溫度。將實(shí)測(cè)溫度與設(shè)定溫度進(jìn)行比較,若實(shí)測(cè)溫度與設(shè)定溫度差值大于2ºC,則對(duì)水進(jìn)行全速加熱或降溫;若實(shí)測(cè)溫度與設(shè)定溫度差值小于2ºC,則調(diào)用PID子程序,對(duì)水溫進(jìn)行微調(diào),達(dá)到設(shè)計(jì)要求。系統(tǒng)主程

13、序流程圖如圖所示. 附錄: PID控制程序PID控制就是按設(shè)定值與測(cè)量值之間偏差的比例、偏差的積累和偏差變化的趨勢(shì)進(jìn)行控制。它根據(jù)采樣時(shí)刻的偏差值計(jì)算輸出控制量的增量,調(diào)節(jié)控制信號(hào)的導(dǎo)通時(shí)間來(lái)控制加熱電路和冷卻電路的工作。當(dāng)采樣周期相當(dāng)短時(shí),可以用求和代替積分,用差商代替微分。PID控制子程序如下:/*PID算法*/unsigned int PIDCalc( struct PID *pp, unsigned int NextPoint ) unsigned int dError,Error; Error = pp->SetPoint - NextPoint; / 偏差pp->Sum

14、Error += Error; / 積分dError = pp->LastError - pp->PrevError; / 當(dāng)前微分pp->PrevError = pp->LastError; pp->LastError = Error; return (pp->Proportion * Error/比例+ pp->Integral * pp->SumError /積分項(xiàng)+ pp->Derivative * dError); / 微分項(xiàng)/*/按鍵子程序本系統(tǒng)采用四個(gè)按鍵,完成溫度的設(shè)定。當(dāng)選擇鍵K1每按下一次,K1num加1,根據(jù)K1num

15、值選擇對(duì)溫度值的百位(預(yù)留)、十位、個(gè)位進(jìn)行數(shù)值調(diào)節(jié)。每按一次按鍵K2,對(duì)應(yīng)位數(shù)值加1,每按一次按鍵K1,對(duì)應(yīng)位數(shù)值減1,并將設(shè)定溫度值寫到液晶顯示器的相應(yīng)位置。按鍵子程序如下:/*按鍵子程序*/void sheding()if(k1=0)delay1(10);if(k1=0) /按鍵K1按下while(!k1);/按鍵K1抬起write_com(0x0f);write_com(0x94);k1num+;switch(k1num)case 1:write_com(0x0f);write_com(0x94);/液晶顯示位置,十位break;case 2:write_com(0x95);/液晶顯示

16、位置,個(gè)位break;case 3:write_com(0x96);/液晶顯示位置,小數(shù)位break;case 4:k1num=0;write_com(0x0c);/清零break;if(k1num!=0)/返回/溫度值加處理:if(k2=0) /按鍵K2按下delay1(10);if(k2=0) while(!k2);switch(k1num)case 1:shi+;if(shi=10)shi=0;a=shi;/十位加1,到10清零write_com(0x94);write_date(tableshi);write_com(0x94);break;case 2:ge+;if(ge=10)ge

17、=0;b=ge;/個(gè)位加1,到10清零 write_com(0x95);write_date(tablege);write_com(0x95);break;case 3:xs+;if(xs=10)xs=0;c=xs;/小數(shù)位加1,到10清零write_com(0x96);write_date('.');write_date(tablexs);write_com(0x96);/在液晶對(duì)應(yīng)位置畫點(diǎn)break;/溫度值減處理:if(k3=0) delay1(10);if(k3=0)while(!k3);switch(k1num)case 1:shi-;if(shi=-1)shi=9;

18、a=shi;write_com(0x94);write_date(tableshi);write_com(0x94);break;case 2:ge-;if(ge=-1)ge=9;b=ge; write_com(0x95); write_date(tablege);write_com(0x95);break;case 3:xs-;if(xs=-1)xs=9;c=xs; write_com(0x96);write_date('.');write_date(tablexs);write_com(0x96);break;/*/DS18B20溫度采集子程序系統(tǒng)采用DS18B20對(duì)1L水

19、的溫度進(jìn)行采集。首先根據(jù)DS18B20的工作時(shí)序?qū)ζ溥M(jìn)行初始化,并對(duì)DS18B20內(nèi)部寄存器讀寫操作進(jìn)行定義。系統(tǒng)工作時(shí),單片機(jī)讀取DS18B20內(nèi)部寄存器的二進(jìn)制數(shù)值,將其轉(zhuǎn)化為十進(jìn)制的真實(shí)溫度值。DS18B20溫度采集子程序如下:/* DS18B20溫度采集子程序*/void init_DS18B20()/初始化uchar x=0;DS18B20 = 1; /DQ復(fù)位delay(8); /稍做延時(shí)DS18B20 = 0; /單片機(jī)將DQ拉低delay(80); /精確延時(shí) 大于 480usDS18B20 = 1; /拉高總線delay(14);x=DS18B20; /稍做延時(shí)后 如果x=0

20、則初始化成功 x=1則初始化失敗delay(20);uchar read_onechar()/讀一個(gè)字節(jié)uchar i=0;uchar date = 0;for (i=8;i>0;i-)DS18B20 = 0; date>>=1; /寄存器右移DS18B20 = 1; if(DS18B20)date|=0x80;delay(4);return(date);void write_onechar(uchar date)/寫一個(gè)字節(jié)uchar i=0;for (i=8; i>0; i-)DS18B20 = 0;DS18B20 = date&0x01;delay(5);

21、DS18B20 = 1;date>>=1;uint read_temp()/讀取溫度uchar a=0;uchar b=0;uint t=0;float tt=0;init_DS18B20();write_onechar(0xcc); / 跳過(guò)讀序號(hào)列號(hào)的操作write_onechar(0x44); / 啟動(dòng)溫度轉(zhuǎn)換init_DS18B20();write_onechar(0xcc); /跳過(guò)讀序號(hào)列號(hào)的操作write_onechar(0xbe); /讀取溫度寄存器a=read_onechar(); /連續(xù)讀兩個(gè)字節(jié)數(shù)據(jù) /讀低8位 b=read_onechar(); /讀高8位t

22、=b;t<<=8;t=t|a; /兩字節(jié)合成一個(gè)整型變量。tt=t*0.0625; /得到真實(shí)十進(jìn)制溫度值,因?yàn)镈S18B20可以精確到0.0625度,所以讀回?cái)?shù)據(jù)的最低位代表的是0.0625度/temper12=tt*10;t= tt*10+0.5; /放大10倍,這樣做的目的將小數(shù)點(diǎn)后第一位也轉(zhuǎn)換為可顯示數(shù)字,同時(shí)進(jìn)行一個(gè)四舍五入操作。return(t);void manage_DS18B20()uint num;num=read_temp();shi=num/100;delay(5);ge=num%100/10;delay(5);xs=num%10;delay(5);temp

23、er=shi*10+ge+0.1*xs;/*/溫度比較子程序系統(tǒng)將DS18B20采集到的實(shí)際測(cè)量溫度值與鍵盤設(shè)定值進(jìn)行比較,根據(jù)比較結(jié)果對(duì)水溫進(jìn)行調(diào)節(jié)。若設(shè)置溫度大于實(shí)際溫度,并且溫差在2度以上,則驅(qū)動(dòng)加熱器對(duì)水溫進(jìn)行全速加熱;當(dāng)溫差在0.8到2度之間時(shí),則停止加熱,開始降溫;當(dāng)溫差小于0.8度時(shí),則啟用PID計(jì)算,控制溫差逐漸趨近設(shè)定值,最終達(dá)到穩(wěn)態(tài)。若設(shè)置溫度小于實(shí)際溫度,系統(tǒng)驅(qū)動(dòng)制冷片開始全速降溫。當(dāng)實(shí)際溫度下降到低于設(shè)定溫度時(shí),則馬上開啟PID計(jì)算,控制溫差逐漸趨近設(shè)定值,最終達(dá)到穩(wěn)態(tài)。/*溫度比較處理子程序*/ void compare_temper() unsigned char

24、i; if(set_temper>temper) /是否設(shè)置的溫度大于實(shí)際溫度 if(set_temper-temper>2) /設(shè)置的溫度比實(shí)際的溫度是否是大于2度 high_time=100; /如果是,則全速加熱low_time=0; else /如果是在0.8到2度范圍,則開始降溫 if(set_temper-temper>0.8)high_time=0; low_time=100;else /如果溫差小于0.8度,運(yùn)行PID計(jì)算for(i=0;i<10;i+) s=read_temp(); rin = s; / Read Input rout = PIDCal

25、c ( &spid,rin ); / Perform PID Interation if (high_time<=100) high_time=(unsigned char)(rout/1000); elsehigh_time=100; low_time= (100-high_time); else if(set_temper<=temper) /是否設(shè)置的溫度小于實(shí)際溫度 if(set_temper-temper<0) high_time=0; low_time=100; /全速降溫 else /實(shí)際溫度大于設(shè)定溫度,馬上開啟PID計(jì)算 for(i=0;i<1

26、0;i+) s=read_temp(); rin = s; / Read Input rout = PIDCalc ( &spid,rin ); / Perform PID Interation if (high_time<100) high_time=(unsigned char)(rout/10000); elsehigh_time=0; low_time= (100-high_time); /*/液晶顯示程序液晶顯示器用于顯示水溫的實(shí)際溫度和設(shè)定溫度。首先對(duì)LCD12864進(jìn)行初始化,并讀取控制器當(dāng)前狀態(tài),判斷是否準(zhǔn)備好(空閑)。然后向液晶模塊寫入指令代碼,進(jìn)行顯示準(zhǔn)備,將

27、要水溫以十六進(jìn)制代碼的形式送入液晶顯示緩沖區(qū),最后利用讀顯示數(shù)據(jù)指令控制液晶模塊在相應(yīng)位置顯示水溫?cái)?shù)據(jù)。液晶顯示程序如下:/*LCD12864初始化*/void init_lcd()/lcd_psb=1;write_com(0x34);/擴(kuò)充指令集delay1(2);write_com(0x30);/基本指令集delay1(2);write_com(0x02);/顯示歸位delay1(2);write_com(0x01);/清屏顯示delay1(2);write_com(0x0c);/顯示狀態(tài)開關(guān)delay1(2);write_com(0x06);/顯示光標(biāo)移動(dòng)設(shè)置delay1(2);/*寫數(shù)據(jù)*/void write_date(uchar date)read_busy();lcd_rs=1;delay(5);lcd_rw=0;delay(5);lcd_date=date;lcd_en=0;delay(5);lcd_en=1;delay(5);lcd_en=0;delay(5);/*寫指令*/void write_com(uchar com)read_busy();lcd_rs=0;delay(5);lcd_rw=0;delay(5);lcd_date=com;lcd_en=0;delay(5);lcd_en=1;delay(5);l

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論