版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、題目名稱 水溫監(jiān)控及水位越限報(bào)警系統(tǒng)( 本科E題)摘要:本系統(tǒng)采用嵌入式微處理器作為核心部件,采用DS18B20集成溫度傳感器對(duì)溫度進(jìn)行實(shí)時(shí)采樣,通過(guò)對(duì)采集到的溫度值與人工設(shè)定的值進(jìn)行比例積分微分算法并運(yùn)用脈寬調(diào)制技術(shù),控制電熱器的加熱功率和自動(dòng)注入冷水來(lái)實(shí)現(xiàn)溫度控制,并顯示當(dāng)前值與設(shè)定值。對(duì)于水位越限報(bào)警局部,那么采用電接觸式液位控制,通過(guò)插入液體中的三根電極實(shí)現(xiàn)上下位報(bào)警,當(dāng)超出設(shè)定的液位范圍時(shí),電路就會(huì)發(fā)出報(bào)警,同時(shí)單片機(jī)通過(guò)水泵控制抽水和放水,使液位到達(dá)規(guī)定范圍。測(cè)試結(jié)果說(shuō)明,該系統(tǒng)具有良好的可靠性、穩(wěn)定性及溫控能力。關(guān)鍵詞: 微控制器;溫度測(cè)量;PID控制;脈沖調(diào)寬技術(shù); Abstr
2、act: This system takes core part by monolithic integrated circuit STC89C52. Regarding water temperature monitoring part,it uses DS18B20 to carry on the real-time sampling to the temperature and programed with the software which cllected on the temperature and artificial set of values PID processing
3、to control the generation of PWM wave, then control the heating or electric heater to the cold water into the container to realize temperature control, and on the real-time use display of equipment to display the two temperature Value . Regarding the warning part of water level overstep, uses the el
4、ectrode to make the height fluid position examination. When the liquid level exceeded the set range, the circuit will issue a report to the police, at the same time through the single-chip control of pumps and pumping water, so that the liquid level up to the required range.The test result indicated
5、 that this system has the good reliability, the stability and controls ability warm.Keyword: MCU;Temperature measurement ;PID control ; PWM; 目錄前言4 TOC o 1-3 h z u HYPERLINK l _Toc113951468 1 方案論證與比擬4 HYPERLINK l _Toc113951469 1.1 溫度采樣方法方案論證4 HYPERLINK l _Toc113951470 1.2 水位越限報(bào)警的選擇方案論證4 HYPERLINK l _
6、Toc113951471 1.3 顯示方法方案論證5 HYPERLINK l _Toc113951474 2 系統(tǒng)設(shè)計(jì)5 HYPERLINK l _Toc113951475 2.1 總體設(shè)計(jì)5 HYPERLINK l _Toc113951476 2.2 單元電路設(shè)計(jì)7 HYPERLINK l _Toc113951477 2.2.1 測(cè)溫控制電路設(shè)計(jì)7 HYPERLINK l _Toc113951478 2.2.2 液位報(bào)警電路設(shè)計(jì)8 HYPERLINK l _Toc113951479 2.2.3 數(shù)碼管顯示電路設(shè)計(jì)9 HYPERLINK l _Toc113951481 3 軟件設(shè)計(jì)9 HYPE
7、RLINK l _Toc113951482 4系統(tǒng)調(diào)試及功能12 HYPERLINK l _Toc113951483 5 設(shè)計(jì)總結(jié)12 HYPERLINK l _Toc113951484 參考文獻(xiàn):12 HYPERLINK l _Toc113951485 附錄:13 HYPERLINK l _Toc113951488 附1:電路圖圖紙13 HYPERLINK l _Toc113951489 附2:程序清單14前 言水溫監(jiān)控及水位越限報(bào)警系統(tǒng)在工業(yè)及日常生活中應(yīng)用廣泛,分類較多。不同水溫控制系統(tǒng)的控制方法也不盡相同,其中以PID控制法最為常見。單片機(jī)控制局部采用STC89C52單片機(jī)為核心,采用
8、軟件編程,實(shí)現(xiàn)用PID算法來(lái)控制PWM波的產(chǎn)生,進(jìn)而控制電熱器的加熱來(lái)實(shí)現(xiàn)溫度控制。然而,單純的PID算法無(wú)法適應(yīng)不同的溫度環(huán)境,在某個(gè)特定場(chǎng)合運(yùn)行性能非常良好的溫度控制器,到了新環(huán)境往往無(wú)法很好勝任,甚至使系統(tǒng)變得不穩(wěn)定,需要重新改變 PID 調(diào)節(jié)參數(shù)值以取得好性能,因此需要擴(kuò)展EEPROM來(lái)存儲(chǔ)不斷整定的參數(shù)。水位控制的方式也多種多樣,如電容式、差壓式、電磁式、差壓式等,在選用方式時(shí)根據(jù)具體情況而論,本系統(tǒng)采用一種簡(jiǎn)單的電接觸式。方案論證與比擬1.1 溫度采樣方法比擬與選擇方案1:采用熱敏電阻??蓾M足35-95的測(cè)量范圍,但熱敏電阻精度、重復(fù)性和可靠性都比擬差,對(duì)于檢測(cè)精度小于1的溫度信號(hào)
9、是不適用的。 方案2:采用溫度傳感器AD590。AD590具有體積小、質(zhì)量輕、線形度好、性能穩(wěn)定等優(yōu)點(diǎn)。其測(cè)量范圍在-50- +150,滿刻度范圍誤差為,當(dāng)電源電壓在510V之間,穩(wěn)定度好,其各方面特性都滿足此系統(tǒng)的設(shè)計(jì)要求。此外AD590是溫度-電流傳感器,對(duì)于提高系統(tǒng)抗干擾能力有很大的幫助。但增加程序的長(zhǎng)度,占用大量CPU的時(shí)間。方案3:采用溫度傳感器DS18B20。它是一種數(shù)字式的溫度傳感器,直接將被測(cè)溫度轉(zhuǎn)換成串行數(shù)字信號(hào),具有微型化,低功耗,高性能,抗干擾能力強(qiáng)等優(yōu)點(diǎn)。從微處理器到DS18B20僅需連接一條信號(hào)線和地線。它可以實(shí)現(xiàn)912位的溫度讀數(shù),測(cè)量范圍為-55+125,在-10
10、+85范圍內(nèi)誤差為0.5 ,將12位的溫度值轉(zhuǎn)換為數(shù)字量所需時(shí)間不超過(guò)750ms。讀寫和執(zhí)行溫度變換所需的電源可以由數(shù)據(jù)線本身提供,而不需要外部電源。經(jīng)上述比擬,方案3明顯優(yōu)于1、2,應(yīng)選用方案3。1.2 水位越限報(bào)警的選擇方案論證方案1:利用浮球在上下限的受力變化經(jīng)過(guò)放大器放大控制電機(jī)開啟水泵和放水閥的開閉。由于采用模擬控制及浮球作液位傳感器,系統(tǒng)受環(huán)境的影響大,不能實(shí)現(xiàn)復(fù)雜的控制算法,也不能使控制精度做得較高,而且不能用數(shù)碼顯示和鍵盤設(shè)定。方案2:采用超聲波液位傳感器。雖然可以實(shí)現(xiàn)非接觸測(cè)量,但它對(duì)被測(cè)液體的純潔度,容器的選擇要求較高,并且適合遠(yuǎn)距離測(cè)量,最短測(cè)量距離為20cm, 本系統(tǒng)中
11、的水容量?jī)H為1左右,不適合用此類傳感器。方案3:采用電接觸式液位控制。因?yàn)樗菍?dǎo)電液體,將一根導(dǎo)線放入水中,另兩根導(dǎo)線分別置于容器的上下限水位處。當(dāng)水位低于下限值時(shí)下限電路截止,單片機(jī)對(duì)應(yīng)控制端口收到低電平信號(hào),立即控制水泵進(jìn)水和發(fā)出報(bào)警;當(dāng)水高于上限值時(shí),上限電路導(dǎo)通,經(jīng)運(yùn)放為單片機(jī)對(duì)應(yīng)控制端口送入低電平,單片機(jī)立即控制水閥放水并發(fā)出越限警告。綜上考慮,方案3的各方面性能較好,應(yīng)選擇方案3。1.3 顯示方法方案論證方案1:采用1602液晶。體積扁平、輕巧,但編程較復(fù)雜,且顯示屏幕太小,不適合遠(yuǎn)距離觀測(cè)。 方案2:采用點(diǎn)陣LED。LED顯示屏可以顯示變化的數(shù)字、文字、圖形圖像,亮度高、工作電壓
12、低、壽命長(zhǎng)、耐沖擊和性能穩(wěn)定。但本系統(tǒng)要求顯示的內(nèi)容較少,只需能顯示數(shù)字就行。方案3:采用數(shù)碼管??刂坪?jiǎn)單,只需選中相應(yīng)的段碼和位碼就能顯示。亮度好,適合遠(yuǎn)距離觀測(cè)。從經(jīng)濟(jì)方面考慮,也較方案1和方案2好。因此,對(duì)于顯示方法那么采用方案三的數(shù)碼管來(lái)顯示。2 系統(tǒng)設(shè)計(jì)2.1 總體設(shè)計(jì)根據(jù)控制要求,本水溫監(jiān)控及水位越限報(bào)警系統(tǒng)主要由STC89C52單片機(jī)最小控制系統(tǒng)、測(cè)溫控制電路、液位報(bào)警電路、鍵盤及顯示電路和PC控制電路五大局部組成,其總體設(shè)計(jì)框圖如下列圖所示。圖1 總體設(shè)計(jì)框圖1用鍵盤設(shè)定水溫,范圍是4090,用溫度傳感器DS18B20檢測(cè)水的實(shí)時(shí)溫度,單片機(jī)對(duì)兩溫度進(jìn)行比擬,根據(jù)差值輸出一脈沖
13、信號(hào)控制固態(tài)繼電器對(duì)水進(jìn)行加熱,加熱時(shí)間的長(zhǎng)短取決于兩溫度的差,差值越大,加熱時(shí)間越長(zhǎng),通過(guò)PID調(diào)節(jié)使實(shí)際溫度最終與設(shè)定值一致,水溫控制的結(jié)構(gòu)框圖如圖二所示圖2 水溫控制結(jié)構(gòu)框圖2用數(shù)碼管實(shí)時(shí)顯示當(dāng)前的水溫值。3為防止容器中的水燒干或溢出,即實(shí)現(xiàn)水位越限報(bào)警功能,用三根導(dǎo)線組成電極放入水中,一根放到水底部,另外兩根分別至于上下水位限處,當(dāng)水位低于下限位時(shí),下限位報(bào)警器報(bào)警,單片機(jī)輸出一信號(hào)控制水泵抽水;同樣,當(dāng)水位高于上限位時(shí),上限位報(bào)警器報(bào)警,單片機(jī)輸出一信號(hào)控制水泵放水。4用串口實(shí)現(xiàn)單片機(jī)與上位機(jī)之間的通信。串口將數(shù)據(jù)發(fā)送給上位機(jī)后,上位機(jī)接收到數(shù)據(jù)并將信息反映出來(lái)。 水溫控制的關(guān)鍵點(diǎn)在
14、于采用PID算法來(lái)控制PWM波的輸出。其中P為比例控制,I為積分控制,D為微分控控制,PID控制即比例積分微分控制,這是一種較理想的控制規(guī)律。它是在比例的根底上引入積分,可以消除余差,再參加微分作用,又能提高系統(tǒng)的穩(wěn)定性,它適用于控制通道時(shí)間常數(shù)或容量滯后較大、控制要求較高的場(chǎng)合,如此題中的水溫控制。數(shù)字PID的控制算法 將積分與微分項(xiàng)分別改寫成差分方程,得 式中T為采樣周期,k為采樣序號(hào),e(k-1)、e(k)分別為第k-1和第k次采樣所得的偏差信號(hào) ,由此可得k時(shí)刻的控制增量為式中 Kc是比例增益,值為;Ki是積分增益,值為;Kd是微分增益,值為采用增量型PID算式,第k時(shí)刻的實(shí)際輸出為,
15、 由式可知,計(jì)算和u(k)也僅需用到第k-1、(k-2)時(shí)刻的歷史數(shù)據(jù) e(k-1)、e(k-2)和u(k-1),編程序簡(jiǎn)單,占用存儲(chǔ)單元少,運(yùn)算速度快,因此本系統(tǒng)采用增量型PID算式。設(shè)PWM波的周期為400ms, 通過(guò)改變它的占空比來(lái)改變加熱時(shí)間,當(dāng)PWM輸出低電平時(shí),固態(tài)繼電器接通,給水加熱;當(dāng)PWM輸出高電平時(shí),固態(tài)繼電器斷開,不給水加熱。假設(shè)一個(gè)時(shí)刻u(k)的最大值為AK,此時(shí)PWM的低電平為整個(gè)周期,即對(duì)水進(jìn)行全功率加熱,計(jì)算第k時(shí)刻的實(shí)際輸出u(k)與AK的比值,再乘以周期,所得的值就是 PWM輸出低電平的時(shí)間,即對(duì)水進(jìn)行脈沖式加熱的時(shí)間。此后PWM輸出高電平,直到下一個(gè)周期的到
16、來(lái)。2.2 單元電路設(shè)計(jì)測(cè)溫控制電路設(shè)計(jì) 圖3 DS18B20的接法 圖4 固態(tài)繼電器的驅(qū)動(dòng)電路如上圖的圖3所示是DS18B20在Protel的原理圖,它是8引腳SOIC的封裝,但有5個(gè)是空引腳,所以圖中只畫有用的三腳。DS18B20采用單線技術(shù),單根信號(hào)線即可傳輸時(shí)鐘,又能傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,這需要一定的協(xié)議來(lái)對(duì)讀寫數(shù)據(jù)提出嚴(yán)格的時(shí)序要求。當(dāng)主機(jī)操作單線器件DS18B20必須遵循下面的順序:初始化ROM操作命令內(nèi)存操作命令數(shù)據(jù)處理。它采用的是單線技術(shù),單線協(xié)議由復(fù)位脈沖、應(yīng)答脈沖、寫1、寫0、讀1和讀0幾種信號(hào)類型組成。 圖4是固態(tài)繼電器的驅(qū)動(dòng)電路,通過(guò)單片機(jī)的IO口輸出一信號(hào)來(lái)
17、驅(qū)動(dòng)固態(tài)繼電器工作,實(shí)現(xiàn)對(duì)水進(jìn)行加熱,為滿足題目中要求到達(dá)的快速性,應(yīng)選用功率大些的,本系統(tǒng)所用的功率為1850W。液位報(bào)警電路設(shè)計(jì)圖5 液位檢測(cè)圖6 越限報(bào)警 圖7 液位檢測(cè)報(bào)警電路圖5、圖6、圖7實(shí)現(xiàn)了液位超限報(bào)警的功能,三根金屬絲放水中形成三個(gè)電極,通過(guò)水的導(dǎo)電性能將兩信號(hào)通過(guò)電壓比擬器進(jìn)行比擬,以此來(lái)驅(qū)動(dòng)發(fā)光二級(jí)管的亮滅以及蜂鳴器報(bào)警。 數(shù)碼管顯示電路設(shè)計(jì)圖8 數(shù)碼管顯示采用兩個(gè)四位八段共陰的數(shù)碼管實(shí)現(xiàn)實(shí)時(shí)溫度及PID參數(shù)的顯示。由于是共陰型,單片機(jī)輸出的電流缺乏以驅(qū)動(dòng)數(shù)碼管工作,因此,在單片機(jī)的I/O端增加一PNP三極管,將電流放大,就可使數(shù)碼管正常工作。當(dāng)顯示溫度時(shí),前四位顯示的是
18、實(shí)際的溫度值,后兩位顯示的是設(shè)定的溫度值,由此可以直觀的比擬出兩者的偏差。另外,當(dāng)配合按鍵使用時(shí),數(shù)碼管還可顯示出PID的參數(shù)值。3 軟件設(shè)計(jì)本系統(tǒng)的主控制芯片為STC89C52單片機(jī),采用C語(yǔ)言編程,軟件流程圖主要分為:主程序、按鍵的外部中斷、定時(shí)器中斷、串口中斷。主程序中只是對(duì)一些系統(tǒng)的初始化和顯示函數(shù)的處理,根據(jù)要求,理清編程思路。 以上兩外部中斷的按鍵程序流程圖實(shí)現(xiàn)加1和減1的功能。將其設(shè)為外部中斷可使系統(tǒng)快速響應(yīng)中斷,到達(dá)實(shí)時(shí)控制的目的。通過(guò)按鍵可以設(shè)定溫度的初始值,調(diào)整PID參數(shù),功能切換等。定時(shí)中斷流程圖如上圖所示,實(shí)現(xiàn)20ms的定時(shí),等時(shí)間采樣溫度,同時(shí)對(duì)加熱時(shí)間進(jìn)行嚴(yán)格的控制
19、,以使實(shí)際與設(shè)定溫度的誤差減小。單片機(jī)與上位機(jī)之間通訊時(shí),單片機(jī)按以上的通信流程圖進(jìn)行。在編程時(shí)應(yīng)注意模塊化編程,將各子功能模塊編好后,再整合為一完整程序代碼。注意區(qū)分各變量之間的關(guān)系,分清局部和全局變量。系統(tǒng)調(diào)試及功能在系統(tǒng)調(diào)試之前,應(yīng)先把硬件做好,并保證系統(tǒng)的穩(wěn)定性和可靠性,防止浪費(fèi)時(shí)間和精力。本系統(tǒng)調(diào)試的關(guān)鍵在于PID參數(shù)的整定,取適宜的PID參數(shù),可使系統(tǒng)到達(dá)良好的性能。經(jīng)屢次試驗(yàn),每次試驗(yàn)后,仔細(xì)分析 PID參數(shù)的變化對(duì)系統(tǒng)的影響效果,總結(jié)變換規(guī)律,并在此根底上進(jìn)行計(jì)算,最終找到適宜的值。經(jīng)過(guò)屢次調(diào)試比擬,本系統(tǒng)根本上完成了題目的所有功能要求,由于系統(tǒng)架構(gòu)設(shè)計(jì)合理,功能電路實(shí)現(xiàn)較好,
20、系統(tǒng)性能優(yōu)良、穩(wěn)定,較好地到達(dá)了題目要求的各項(xiàng)指標(biāo)。設(shè)計(jì)總結(jié)參加此次電子設(shè)計(jì)大賽,讓我們受益匪淺,真正領(lǐng)悟到了,學(xué)有所為,學(xué)以致用。在本次設(shè)計(jì)的過(guò)程中,遇到了一些突發(fā)事件和各種困難,但通過(guò)仔細(xì)分析和不斷調(diào)適解決了問(wèn)題。大家各方面能力有了進(jìn)一步的提高,在這個(gè)過(guò)程中我們深刻的體會(huì)到共同協(xié)作和團(tuán)隊(duì)精神的重要性,提高了自己解決問(wèn)題的能力,在以后的日子里,我們也會(huì)更加努力地提高自己、充實(shí)自己。參考文獻(xiàn):1 童詩(shī)白, 華成英著 .模擬電子技術(shù)根底.北京: 高等教育出版社,2003年2 閻石著.數(shù)字電子技術(shù)根底. 北京:高等教育出版社, 2003年3 邵裕森,戴先中著.過(guò)程控制工程.機(jī)械工業(yè)出版社4 程鵬主
21、編.自動(dòng)控制原理.高等教育出版社5 張毅剛主編.單片機(jī)原理附錄:附1:電路圖圖紙附2:程序清單#include#include#include#define uint unsigned int#defineucharunsignedchar uint time=25,heattime=1,cooltime=0;uchartplsb,tpmsb;/保存溫度的上下字節(jié) uint xs;ucharsum,shi,ge,xs1,xs2;/定義溫度十位個(gè)位小數(shù)點(diǎn)的存儲(chǔ)單元uchardigbit;/定義數(shù)碼管顯示字位ucharnum1,num2,num3,num4;/定義設(shè)定溫度存儲(chǔ)單元 ucharnum
22、=40;/設(shè)定溫度的初值為50ucharcount;/定義檢測(cè)溫度循環(huán)次數(shù)uinttime1;/定義定時(shí)器1的初值存儲(chǔ)單元ucharKc=9000,Ki=10,Kd=1000;/設(shè)定PID參數(shù) uint cnt=20,count1; uintsjtemp,sdtemp,diftemp,ek1=0,ek2=0,ek3=0,uk_1=0,difuk; unsigned long AK=100000; signed long difek=0,uk=0;sbitup=P32;/上鍵的控制位sbitdown=P33;/下鍵的控制位 sbit enter=P34; /確定鍵的控制位sbitchange=P
23、35;sbitheat=P25;/PWM開/關(guān)控制位sbitDQ=P20;/溫度傳感器的數(shù)據(jù)通信位sbitwaterL=P21; /當(dāng)P21為低電平那么水位低于設(shè)定下限sbitwaterH=P37;/當(dāng)P37為低電平那么水位高于設(shè)定上限sbitalarm=P24;/超限報(bào)警 sbit Inwater=P27; sbit Outwater=P26;bitshowflag;/定義數(shù)碼管顯示標(biāo)志位bitheatflag;/定義是否加熱標(biāo)志位bittempcmpflag;/定義是否進(jìn)行比擬的標(biāo)志位 bit flag;bitupflag1,upflag2;bitdownflag1,downflag2;b
24、itenterflag1,enterflag2;ucharcodetable=0 xeb,0 x28,0 xb3,0 xba,0 x78,0 xda,0 xdb,0 xa8,0 xfb,0 xfa,0 x00;/數(shù)碼管的段碼void delay1ms(uint t)/延時(shí)大約1ms子程序uinti;while(t-)for(i=0;i125;i+);void delay(uint t)/延時(shí)大約1ms子程序uinti;while(t-)for(i=0;i0)i-;DQ=1;/產(chǎn)生上升沿;i=4;while(i0)i-;voidRxwait(void)/等待應(yīng)答脈沖;uinti;while(DQ
25、);while(DQ);/檢測(cè)到應(yīng)答脈沖? i=4;while(i0)i-;bitRdbit(void)/讀取數(shù)據(jù)的一位,滿足讀時(shí)隙要求;uinti;bitb;DQ=0;i+;/保持低至少一微秒;DQ=1;i+;i+;/延時(shí)15微秒以上;b=DQ;i=8;while(i0)/讀時(shí)隙不低于60微秒;i-;return(b);ucharRdbyte(void)/讀取數(shù)據(jù)的一個(gè)字節(jié);uchari,j,b;b=0;for(i=1;i=8;i+)j=Rdbit();b=(j1);return(b);voidWrbyte(uchar b)/寫數(shù)據(jù)的一個(gè)字節(jié);滿足寫1和寫0的時(shí)隙要求;uinti;uchar
26、j;bitbtmp;for(j=1;j1;/取下一位由低位向高位;if(btmp)DQ=0;i+;i+;/延時(shí)使得15微秒以內(nèi)拉高;DQ=1;i=8;while(i0)i-;/整個(gè)寫1時(shí)隙不低于60微秒;elseDQ=0;i=8;while(i0)i-;/保持低在60120微秒之間;DQ=1;i+;i+;voidconvert(void)/啟動(dòng)溫度轉(zhuǎn)換;TxReset();/產(chǎn)生復(fù)位脈沖;初始化DS18B20;Rxwait();/等待DS18B20給出應(yīng)答脈沖delay1ms(1);/延時(shí)Wrbyte(0 xcc);/跳過(guò)讀ROM存放器命令Wrbyte(0 x44);/溫度轉(zhuǎn)換命令;voidR
27、dtemp(void)/讀取溫度值;TxReset();/產(chǎn)生復(fù)位脈沖;初始化DS18B20;Rxwait();/等待DS18B20給出應(yīng)答脈沖delay1ms(1);/延時(shí)Wrbyte(0 xcc);/跳過(guò)讀ROM存放器命令Wrbyte(0 xbe);/讀暫存器命令;tplsb=Rdbyte();/溫度低位字節(jié)tpmsb=Rdbyte();/溫度高位字節(jié)voidresolve_10(void)/把溫度傳感器設(shè)定為10位分辨率;Wrbyte(0 xcc);/發(fā)跳過(guò)ROM命令;Wrbyte(0 x4E);/寫暫存器命令Wrbyte(0 x00);/設(shè)定傳感器檢測(cè)溫度上限值;Wrbyte(0 x0
28、0);/設(shè)定傳感器檢測(cè)溫度下限值Wrbyte(0 x3f);/選11位溫度分辨率;/*.數(shù)值轉(zhuǎn)換函數(shù).*/voidconvert_value(void)ucharp;uchart;/保存小數(shù)位的單元p=tplsb;sum=(tpmsb & 0 x07)*16+(tplsb & 0 xf0)/16;/不帶小數(shù)點(diǎn)的實(shí)際溫度處理表達(dá)式t=(p & 0 x0f);/小數(shù)點(diǎn)的實(shí)際溫度處理表達(dá)式shi=sum/10;/十位處理ge=sum%10;/個(gè)位處理switch(t) case 0 x00: xs=0;break; case 0 x04: xs=25;break; case 0 x08: xs=50
29、;break; case 0 x0c: xs=75;break; default: break; xs1=xs/10;xs2=xs%10;num1=num/1000; /顯示設(shè)定溫度的十位個(gè)位處理num2=num%1000/100; num3=num%1000%100/10; num4=num%1000%100%10;/*.實(shí)際溫度與設(shè)定溫度的比照與處理函數(shù).*/voidtempcmp(void)sjtemp=sum*100+(xs/10);/實(shí)際溫度與設(shè)定溫度均放大100倍sdtemp=num*100;if(sdtempsjtemp)/如果設(shè)定溫度大于實(shí)際溫度diftemp=sdtemp-s
30、jtemp;/計(jì)算溫差并減去一定的保持功率 if(diftemp350) heattime=time; cooltime=0; heatflag=1; else if(count=0) ek3=ek2; ek2=ek1; ek1=diftemp;/保存第一次溫差 difek=Kc*(ek1-ek2)+Ki*ek1+Kd*(ek1+ek3-2*ek2); /增量PID計(jì)算公式 uk=uk_1+difek; if(uk=0) heattime=0; else heattime=uk*time/AK; cooltime=time-heattime; uk_1=uk; else cooltime=ti
31、me; /*.顯示子函數(shù).*/voiddisplay(void) uchari;switch(digbit)case 1:i=tableshi;break;case 2: i=(tablege|0 x04);break;case 4: i=tablexs1;break;case 8: i=tablexs2;break; case 16:i=tablenum1;break;case 32:i=tablenum2;break;case 64:i=tablenum3;break; case 128: i=tablenum4; break;default:break;P0=0 xff;/關(guān)閉所有數(shù)碼管
32、P1=i;/送段碼P0=digbit;/送字位if(digbit0 x80)digbit=digbit*2;/如果判斷不超過(guò)第六位數(shù)碼管移向下一位數(shù)碼管elsedigbit=0 x01;/重新從第一位數(shù)碼管開始/*.主程序.*/voidmain() resolve_10();/初始化暫存器 P0=0 xff;/先關(guān)閉所有數(shù)碼管TMOD=0 x11;/設(shè)置兩個(gè)計(jì)數(shù)器的工作方式均為10 TH0=-10000/256;/設(shè)置定時(shí)器0的初值TL0=-10000%256; ET0=1;/允許定時(shí)器0中斷 TR0=1;/開啟定時(shí)器0IT0=1;IT1=1; EX0=1; EX1=1; EA=1; /開總中斷delay1ms(1); /延時(shí)約1ms convert();/啟動(dòng)溫度轉(zhuǎn)換;Rdtemp();/讀取溫度convert_value(); /轉(zhuǎn)換溫度 flag=0; digbit=0 x01;count1=time; while(1) display(); if(flag=1) convert(); Rdtemp(); flag=0; delay1ms(1); convert_value(); tempcmp(); if(heatflag=1) heat=0; else heat=1; if(up=1)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年適用:高科技研發(fā)項(xiàng)目合作合同
- 2024蘋果種植基地灌溉系統(tǒng)改造合同3篇
- 2024網(wǎng)絡(luò)游戲開發(fā)與發(fā)行委托合同
- 2024年04月貴州貴州省農(nóng)村信用社高校畢業(yè)生專場(chǎng)網(wǎng)絡(luò)招考活動(dòng)筆試歷年參考題庫(kù)附帶答案詳解
- 2025年度柴油發(fā)電機(jī)租賃及電力市場(chǎng)交易合同4篇
- 2024石材干掛工程安全生產(chǎn)與環(huán)境保護(hù)合同3篇
- 二零二五版窗簾安裝與室內(nèi)環(huán)境檢測(cè)服務(wù)合同3篇
- 2025年度知識(shí)產(chǎn)權(quán)跨境交易及法律服務(wù)合同4篇
- 個(gè)人房產(chǎn)買賣合同2024年版5篇
- 2025年度健康醫(yī)療大數(shù)據(jù)研發(fā)與應(yīng)用合同范本4篇
- 寒潮雨雪應(yīng)急預(yù)案范文(2篇)
- DB33T 2570-2023 營(yíng)商環(huán)境無(wú)感監(jiān)測(cè)規(guī)范 指標(biāo)體系
- 上海市2024年中考英語(yǔ)試題及答案
- 房屋市政工程生產(chǎn)安全重大事故隱患判定標(biāo)準(zhǔn)(2024版)宣傳海報(bào)
- 垃圾車駕駛員聘用合同
- 2025年道路運(yùn)輸企業(yè)客運(yùn)駕駛員安全教育培訓(xùn)計(jì)劃
- 南京工業(yè)大學(xué)浦江學(xué)院《線性代數(shù)(理工)》2022-2023學(xué)年第一學(xué)期期末試卷
- 2024版機(jī)床維護(hù)保養(yǎng)服務(wù)合同3篇
- 《論拒不執(zhí)行判決、裁定罪“執(zhí)行能力”之認(rèn)定》
- 工程融資分紅合同范例
- 2024國(guó)家安全員資格考試題庫(kù)加解析答案
評(píng)論
0/150
提交評(píng)論