課題一NTC熱敏電阻一_第1頁(yè)
課題一NTC熱敏電阻一_第2頁(yè)
課題一NTC熱敏電阻一_第3頁(yè)
課題一NTC熱敏電阻一_第4頁(yè)
課題一NTC熱敏電阻一_第5頁(yè)
已閱讀5頁(yè),還剩18頁(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、2011年暑期電子設(shè)計(jì)大賽課題一基于NTC熱敏電阻的溫度測(cè)量與控制系統(tǒng)的設(shè)計(jì)學(xué)生姓名院系名稱(chēng)專(zhuān)業(yè)名稱(chēng)班級(jí)指導(dǎo)老師完成時(shí)間基于NTC熱敏電阻的溫度測(cè)量與控制系統(tǒng)設(shè)計(jì)學(xué)生姓名: 指導(dǎo)老師:內(nèi)容摘要:本文敘述了用單片機(jī)作為控制器,用NTC熱敏電阻制作的溫度傳感器實(shí)現(xiàn)溫度變化到電壓變化后通過(guò)儀用放大器放大后通過(guò)AD轉(zhuǎn)換再將數(shù)據(jù)送給單片機(jī)處理后用LED顯示出來(lái)實(shí)現(xiàn)溫度測(cè)量,并可利用單片機(jī)控制蜂鳴器發(fā)聲和八個(gè)發(fā)光二極管亮滅來(lái)實(shí)現(xiàn)報(bào)警,同時(shí)還可以通過(guò)單片機(jī)控制水泥電阻給熱敏電阻加熱來(lái)實(shí)現(xiàn)溫度控制的溫度測(cè)量和控制系統(tǒng)的設(shè)計(jì)。該系統(tǒng)使用單片機(jī)開(kāi)發(fā)板作為控制系統(tǒng),而將溫度傳感器和加熱器制作在單獨(dú)一塊板子上,工作時(shí)

2、將兩塊板子連接起來(lái)使用。由于單片機(jī)開(kāi)發(fā)板上已經(jīng)有了按鍵、LED數(shù)碼管、蜂鳴器以及AD等,因此可以完全滿足控制系統(tǒng)的需求。單片機(jī)可以用USB供電,而另外一塊板子可以用實(shí)驗(yàn)室的直流電源作為供電系。本文最后附帶了該系統(tǒng)的c51程序,可以方便其他人員閱讀以及在此基礎(chǔ)上進(jìn)行修改,使系統(tǒng)功能更加完善。實(shí)驗(yàn)表明該系統(tǒng)能夠?qū)嶒?yàn)溫度的測(cè)量、溫度報(bào)警、溫度查詢、溫度的控制等功能,完全滿足該課題的基本要求和擴(kuò)展要求。關(guān)鍵詞:?jiǎn)纹瑱C(jī)、NTC溫度傳感器、水泥電阻加熱器緒論3方案設(shè)計(jì)4理論分析4系統(tǒng)總體方案的設(shè)計(jì)及其原理概述原理圖5系統(tǒng)各個(gè)模塊的方案論證與設(shè)計(jì)6系統(tǒng)溫度采集電路的設(shè)計(jì)6信號(hào)調(diào)理電路的原理與設(shè)計(jì)6溫度控制電

3、路的設(shè)計(jì)8脈寬調(diào)制的基本原理簡(jiǎn)介8溫度控制電路的原理與電路的設(shè)計(jì)8報(bào)警電路的設(shè)計(jì)9報(bào)警電路的原理與電路的設(shè)計(jì)9控制電路的原理與設(shè)計(jì)10AD0804的采樣原理及與單片機(jī)的連接方法10LED顯示電路的原理及與單片機(jī)的連接方法10簡(jiǎn)易鍵盤(pán)的掃描原理及與單片機(jī)的連接方法11系統(tǒng)軟件的設(shè)計(jì)12測(cè)試數(shù)據(jù)的性化處理12系統(tǒng)流程圖12系統(tǒng)性能測(cè)試與分析測(cè)試15測(cè)試儀器與設(shè)備15測(cè)試方案與結(jié)果15結(jié)論16致謝16參考文獻(xiàn)16附錄17緒論隨著時(shí)代的進(jìn)步,溫度計(jì)在日常生產(chǎn)生活和工農(nóng)業(yè)領(lǐng)域發(fā)揮越來(lái)越重要的作用,簡(jiǎn)單的溫度計(jì)能夠滿足人們?nèi)粘Ia(chǎn)生活需要,但在一些工農(nóng)業(yè)生產(chǎn)領(lǐng)域不僅要求能準(zhǔn)確測(cè)量溫度并且要求能夠進(jìn)行溫度報(bào)

4、警和溫度的控制,因此在簡(jiǎn)單的溫度計(jì)往往不能滿足人們的要求。利用單片機(jī)作為控制系統(tǒng)的NTC溫敏電阻溫度測(cè)量和控制系統(tǒng)更能符合工農(nóng)業(yè)生產(chǎn)領(lǐng)域的需求。該系統(tǒng)不能能進(jìn)行溫度的測(cè)量并且將溫度通過(guò)LED數(shù)碼管顯示出來(lái)使讀取更加方便,該系統(tǒng)還能設(shè)定溫度上下限實(shí)現(xiàn)聲光報(bào)警,并且該系統(tǒng)還能對(duì)溫度進(jìn)行控制,因此在使用和功能上都比傳統(tǒng)的溫度計(jì)優(yōu)越。該系統(tǒng)可以用在需要對(duì)溫度要求比較精密的環(huán)境中,可以利用該系統(tǒng)的精確溫度測(cè)量、報(bào)警和溫度控制功能來(lái)保證生產(chǎn)過(guò)程的順利進(jìn)行。方案設(shè)計(jì)理論分析根據(jù)任務(wù)要求,要求制作一個(gè)基于NTC熱敏電阻的溫度測(cè)量和控制系統(tǒng)。測(cè)量范圍為0-100攝氏度。測(cè)量精度為+1攝氏度,能夠記錄24小時(shí)內(nèi)每

5、隔三十分鐘溫度值,并能夠用數(shù)碼管回調(diào)固定時(shí)刻的溫度值,能夠顯示24小時(shí)內(nèi)的溫度平均值、最大值、最小值、和最大溫差,具有報(bào)警功能當(dāng)溫度超過(guò)設(shè)定閾值時(shí)能夠報(bào)警(要求有1攝氏度的回差)。在擴(kuò)展部分要求制作一個(gè)溫度控制元件,能夠用LED顯示設(shè)定溫度值和實(shí)際測(cè)量值,設(shè)定溫度范圍為:4060攝氏度。并要求采用適當(dāng)?shù)姆椒?,?dāng)設(shè)定溫度或者環(huán)境溫度突變時(shí),減小系統(tǒng)的調(diào)節(jié)時(shí)間和超調(diào)量,溫度控制的靜態(tài)誤差<=0.2攝氏度。分析任務(wù)要求,該系統(tǒng)要用NTC溫敏電阻作為測(cè)溫元件,NTC熱敏電阻是一種負(fù)溫度特性的熱敏電阻,其阻值隨溫度的變化曲線如下所示:圖表 1由圖可知,NTC的阻值隨溫度的上升而下降,其阻值和溫度呈

6、非線性特性,因此必須采用一定的方法對(duì)曲線進(jìn)行線性化處理。其測(cè)量原理是利用通過(guò)測(cè)量其阻值,通過(guò)其溫度特性曲線便可求的環(huán)境溫度。但因?yàn)闇囟炔槐阌跍y(cè)量且不便于其他電路處理。通常是將電阻的變化轉(zhuǎn)化為電壓的變化通過(guò)測(cè)量電壓變化測(cè)得溫度的變化。由于采集到的電壓信號(hào)是模擬信號(hào),不能被數(shù)字系統(tǒng)處理,因此必須通過(guò)AD轉(zhuǎn)換器,將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。一般AD轉(zhuǎn)換器的基準(zhǔn)電壓要求為2.5v,而采集到的電壓信號(hào)很微弱,必需經(jīng)過(guò)放大后才能送給AD轉(zhuǎn)換器,因此在系統(tǒng)中還必須有信號(hào)放大的信號(hào)調(diào)理電路。 該系統(tǒng)要求具有報(bào)警和控溫功能,因此必須有報(bào)警裝置和控溫元件,報(bào)警裝置可以蜂鳴器和發(fā)光二極管來(lái)實(shí)現(xiàn)。而控溫可以制作一個(gè)加熱

7、器作為控溫元件,系統(tǒng)要求能采用適當(dāng)?shù)姆椒▉?lái)實(shí)現(xiàn)改變系統(tǒng)的超調(diào)量和調(diào)節(jié)時(shí)間,因此可以采用脈沖寬度調(diào)制來(lái)實(shí)現(xiàn)。報(bào)警裝置和控溫裝置可以通過(guò)三極管來(lái)驅(qū)動(dòng)。該系統(tǒng)應(yīng)該有一個(gè)控制器,用以控制溫度的顯示報(bào)警和溫度控制等功能。該控制器可以采用單片機(jī),F(xiàn)PGA,或者DSP來(lái)實(shí)現(xiàn)。系統(tǒng)總體方案的設(shè)計(jì)及其原理概述原理圖根據(jù)以上分析可知,該系統(tǒng)應(yīng)該包括用NTC熱敏電阻制作的溫度傳感器,對(duì)傳感器信號(hào)放大的信號(hào)調(diào)理電路,加熱器,顯示電路,報(bào)警電路,按鍵和控制器組成。由于單片機(jī)作為控制器價(jià)格便宜,控制性能好,電路方便,已能完全滿足該系統(tǒng)的要求,因此綜合考慮用單片機(jī)作為該系統(tǒng)的控制器。該系統(tǒng)通過(guò)NTC熱敏電阻制作的傳感器采集

8、溫度,將采集到的值送給單片機(jī)處理后通過(guò)LED顯示出來(lái),并可將處理后的值與設(shè)定的溫度值進(jìn)行比較看是否超過(guò)設(shè)定范圍來(lái)實(shí)現(xiàn)報(bào)警。在控制溫度模式下,可以通過(guò)單片機(jī)控制加熱器來(lái)加熱,實(shí)現(xiàn)溫度控制。系統(tǒng)原理圖如下:溫度采集電路KEYLED顯示電路報(bào)警電路加熱器STC89C52信號(hào)調(diào)理電路AD系統(tǒng)原理圖系統(tǒng)各個(gè)模塊的方案論證與設(shè)計(jì)系統(tǒng)溫度采集電路的設(shè)計(jì)溫度采集電路主要由用NTC熱敏電阻制作的溫度傳感器來(lái)實(shí)現(xiàn),而NTC測(cè)溫原理主要是基于基于將NTC阻值隨溫度變化轉(zhuǎn)換為電壓變化來(lái)實(shí)現(xiàn)。將NTC熱敏電阻值變換轉(zhuǎn)換為電壓的變化有以下幾種方案。方案一:采用恒流源給熱敏電阻供電,由于通過(guò)電阻的電流恒定,因此只要測(cè)出器兩

9、端的電壓就可以測(cè)出其阻值。該方案電路設(shè)計(jì)簡(jiǎn)單,測(cè)量也方便實(shí)現(xiàn),但對(duì)恒流源要求較高,且抗干擾能力較差。方案二:采用差動(dòng)電橋進(jìn)行測(cè)量。圖表 2VCC經(jīng)過(guò)穩(wěn)壓二極管后電壓穩(wěn)定值為2.5V由電橋平衡條件可知,當(dāng)R2/R3=R4/R5時(shí)電橋平衡,此時(shí)V1和V2點(diǎn)的壓差為零。由于R2=R3,因此在溫度為零時(shí),可以調(diào)節(jié)R5時(shí)R5=R4,使電橋平衡,其輸出為零。當(dāng)溫度上升時(shí),R4阻值減小,當(dāng)溫度變化一百攝氏度時(shí),熱敏電阻的變化范圍大概為1K.)=0.0854V.該電路設(shè)計(jì)復(fù)雜,因?yàn)椴捎貌顒?dòng)電橋,所以電路抗干擾能力增強(qiáng),能有效抑制電源波動(dòng)對(duì)電路的影響。對(duì)比上面兩種方案,第二種方案雖然電路復(fù)雜但能有效抑制干擾信號(hào)

10、,因此采用第二種方案。信號(hào)調(diào)理電路的原理與設(shè)計(jì)由于從電橋出來(lái)的信號(hào)很微弱,因此需要通過(guò)運(yùn)算放大器放大后才能經(jīng)過(guò)AD轉(zhuǎn)換。方案一:采用單運(yùn)放組成的運(yùn)算放大器進(jìn)行微弱信號(hào)的放大。其原理圖如下:圖表 3為了使運(yùn)放對(duì)稱(chēng),因此要求R10=R7,R11=R12.放大倍數(shù)A=R12/R10.該電路簡(jiǎn)單,放大倍數(shù)可以通過(guò)調(diào)節(jié)R12來(lái)調(diào)節(jié),但該調(diào)節(jié)會(huì)使運(yùn)放不對(duì)稱(chēng),因此需要同時(shí)調(diào)節(jié)R12和R11來(lái)實(shí)現(xiàn)。方案二:采用儀用放大器來(lái)實(shí)現(xiàn)放大,儀用放大器的原理圖如下。信號(hào)調(diào)理電路 1儀用放大器的放大倍數(shù)可以由以下公式計(jì)算得知:A=-R11/R7(1+2*R8/R6)由于R6可調(diào),因此可以利用調(diào)節(jié)放大倍數(shù)。由于信號(hào)采集電路

11、采集到的最大電壓差為0.0854V.而AD的基準(zhǔn)電壓為2.5V,所以要求信號(hào)調(diào)理電路的最大輸出為2.5V。而信號(hào)采集電路的最大輸出為0.0845v,所以要求信號(hào)調(diào)理電路的放大倍數(shù)約為30倍。該電路由于可以調(diào)節(jié)R6來(lái)調(diào)節(jié)放大倍數(shù),由于調(diào)節(jié)R6不會(huì)影響電路的對(duì)稱(chēng)性因此調(diào)節(jié)起來(lái)方便。對(duì)比上述兩種電路,第一種結(jié)構(gòu)簡(jiǎn)單但調(diào)節(jié)起來(lái)不方便,而第二種調(diào)節(jié)起來(lái)方便,且易于小信號(hào)的采集,因此選用第二種方案。溫度控制電路的設(shè)計(jì)脈寬調(diào)制的基本原理簡(jiǎn)介在脈寬調(diào)制有兩種方案,第一種是固定低電平時(shí)間,而另外一種是固定周期。先對(duì)固定周期的脈寬調(diào)制原理做如下簡(jiǎn)介。在固定周期的脈寬調(diào)制中,設(shè)一個(gè)周期的時(shí)間為一秒,將一個(gè)周期平分成

12、一百份。每一份為10個(gè)毫秒,在一個(gè)周期內(nèi)的份數(shù)由一個(gè)變量P控制,而每一份的時(shí)間用一個(gè)定時(shí)器來(lái)控制,當(dāng)每次中斷來(lái)時(shí)P加1,當(dāng)P到一百十把P賦值成0,開(kāi)始下一個(gè)周期。而在溫度控制程序中,另外設(shè)定一個(gè)變量M,每次M也加一,M到一百十也賦值為零,并且每次M和P進(jìn)行比較,當(dāng)M<P時(shí)便可以讓溫度元件開(kāi)始工作,于是開(kāi)始控溫。要實(shí)現(xiàn)溫度突變時(shí)改變超調(diào)量,可以將溫度和設(shè)定的溫度進(jìn)行比較,當(dāng)溫度差值大于某個(gè)范圍時(shí),可以改變P的初值,這樣就可以進(jìn)行迅速加熱,達(dá)到快熟調(diào)節(jié)溫度。當(dāng)溫度和設(shè)定值接近時(shí)可以將P的值減小,從而緩慢加熱。溫度控制電路的原理與電路的設(shè)計(jì)該系統(tǒng)要求具有溫度控制功能,因此可以制作一個(gè)控溫元件來(lái)

13、給熱敏電阻加熱來(lái)實(shí)現(xiàn)溫度控制。方案一:以LTC1923PWM雙極性電流控制器和大功率MOSFET構(gòu)成的半導(dǎo)體熱制冷器(TEC)驅(qū)動(dòng)模塊。該方案制作的熱制冷器可制冷也可制熱,但價(jià)格相對(duì)較高。方案二:該系統(tǒng)通過(guò)水泥電阻來(lái)給熱敏電阻加熱來(lái)實(shí)現(xiàn)溫度控制,水泥電阻需要通過(guò)一個(gè)功率三極管來(lái)驅(qū)動(dòng),為了使受熱均勻,系統(tǒng)通過(guò)兩個(gè)水泥電阻來(lái)給熱敏加熱。其驅(qū)動(dòng)電路圖如下:功率三極管的基極和單片機(jī)的某個(gè)I/O口連接,當(dāng)該I/O口為1時(shí)功率三極管導(dǎo)通,水泥電阻開(kāi)始加熱,當(dāng)I/O為零時(shí),三極管截止,水泥電阻停止加熱。因此在程序中可以通過(guò)給I/O口送1和零來(lái)控制水泥電阻加熱和停止加熱,從而實(shí)現(xiàn)溫度控制。該方案簡(jiǎn)單,元件價(jià)格

14、便宜。對(duì)比上面兩種方案,鑒于第二種方案簡(jiǎn)單,元件價(jià)格低廉因此采用第二種方案。報(bào)警電路的設(shè)計(jì)報(bào)警電路的原理與電路的設(shè)計(jì)該系統(tǒng)的報(bào)警電路通過(guò)三極管驅(qū)動(dòng)蜂鳴器發(fā)聲和單片機(jī)P1口驅(qū)動(dòng)八個(gè)發(fā)光二極管發(fā)光來(lái)實(shí)現(xiàn)報(bào)警。三極管驅(qū)動(dòng)蜂鳴器和P1口驅(qū)動(dòng)發(fā)光二極管電路如下:報(bào)警電路 1蜂鳴器采用NPN三極管驅(qū)動(dòng),三極管的基極和單片機(jī)的P23相連。當(dāng)P23為1時(shí)三極管截止蜂鳴器不發(fā)聲,而當(dāng)P23為0時(shí),三極管導(dǎo)通,蜂鳴器發(fā)聲。八個(gè)發(fā)光二極管通過(guò)P1口驅(qū)動(dòng),當(dāng)P1口全為0時(shí),二極管發(fā)光。因此可以通過(guò)使P23為1和讓P1為零來(lái)讓蜂鳴器響和發(fā)光二極管發(fā)光來(lái)實(shí)現(xiàn)報(bào)警??刂齐娐返脑砼c設(shè)計(jì)AD0804的采樣原理及與單片機(jī)的連接

15、方法AD采樣電路 1AD的片選功能和單片機(jī)的P24相連,當(dāng)P24為低電平時(shí)AD選通。AD的讀信號(hào)RD和寫(xiě)信號(hào)WR和單片機(jī)的P36和P37相連。由于AD采用的是直通方式,當(dāng)P37為0時(shí)啟動(dòng)AD,開(kāi)始轉(zhuǎn)換數(shù)據(jù)。當(dāng)P36為1時(shí)便可以讀取AD轉(zhuǎn)換的數(shù)據(jù)。LED顯示電路的原理及與單片機(jī)的連接方法單片機(jī)通過(guò)一個(gè)鎖存器來(lái)控制八個(gè)LED的位選,通過(guò)另外一個(gè)來(lái)控制八個(gè)LED的段選從而實(shí)現(xiàn)八位LED的動(dòng)態(tài)掃描。其與單片機(jī)的連接方法如下。LED顯示電路 1兩個(gè)鎖存器的片選分別于單片機(jī)的P26和P27相連。與P27相連的鎖存器通過(guò)P0口給八位LED送位選碼簡(jiǎn)易鍵盤(pán)的掃描原理及與單片機(jī)的連接方法該系統(tǒng)采用與單片機(jī)連接的

16、簡(jiǎn)易鍵盤(pán)來(lái)實(shí)現(xiàn)來(lái)實(shí)現(xiàn)系統(tǒng)的按鍵功能。簡(jiǎn)易鍵盤(pán)與單片機(jī)的連接方法如下:簡(jiǎn)易鍵盤(pán)電路 1四個(gè)簡(jiǎn)易按鍵分別于單片機(jī)的P34,P35,P36,P37相連。當(dāng)鍵沒(méi)有按下時(shí),與之相連的I/O口為1,而當(dāng)有按鍵按下時(shí),與之相連的I/O口為0,當(dāng)檢測(cè)到某個(gè)I/O口為低電平時(shí),表明該按鍵按下。系統(tǒng)軟件的設(shè)計(jì)測(cè)試數(shù)據(jù)的線性化處理由于溫敏電阻的阻值隨溫度變化為非線性,因此應(yīng)對(duì)數(shù)據(jù)進(jìn)行線性化處理。方案一:用硬件來(lái)實(shí)現(xiàn)非線性的校正。簡(jiǎn)單的非線性就是以奇制奇的方法,將兩只非線性的傳感器接成差動(dòng)的方式,他們的非線性誤差以大小相等,極性相反的方向變化,這樣就可以獲得較理性的輸出特性曲線。方案二:用軟件來(lái)實(shí)現(xiàn)非線性校正。軟件非

17、線性校正可以采用一次軟件插值法來(lái)實(shí)現(xiàn),插值法原理如下。圖表 4在這次試驗(yàn)中可以先通過(guò)試驗(yàn)得到AD轉(zhuǎn)換的值和對(duì)應(yīng)的溫度然后以AD值為橫坐標(biāo),溫度值為縱坐標(biāo)。將每個(gè)AD值和對(duì)應(yīng)的溫度制成表格,當(dāng)采集到AD值時(shí)便可以通過(guò)查表將對(duì)應(yīng)的溫度查詢出來(lái)從而實(shí)現(xiàn)了線性化處理。系統(tǒng)流程圖主程序 AD轉(zhuǎn)換程序溫度報(bào)警程序 1濾波程序顯示程序系統(tǒng)性能測(cè)試與分析測(cè)試測(cè)試儀器與設(shè)備測(cè)試器件:水銀溫度計(jì) 直流穩(wěn)壓電源 萬(wàn)用表測(cè)試方案與結(jié)果測(cè)試環(huán)境與結(jié)果:將系統(tǒng)分別在20攝氏度的冷水中,室溫下,5060設(shè)施度得溫水中,和80攝氏度的熱水中進(jìn)行測(cè)試,測(cè)試結(jié)果如下。結(jié)論本文主要論述了基于NTC熱敏電阻的溫度測(cè)量和控制系統(tǒng)的設(shè)計(jì)

18、。對(duì)整個(gè)系統(tǒng)的核心做了介紹。對(duì)系統(tǒng)的各個(gè)模塊做了比較深入的研究,主要包括以下幾個(gè)方面。 1.對(duì)系統(tǒng)進(jìn)行了方案的論證,進(jìn)行了方案的討論,并最終確定了系統(tǒng)=方案。2. 查找了系統(tǒng)上相關(guān)的芯片資料并仔細(xì)的閱讀,并查閱了大量的相關(guān)文獻(xiàn)資料。理解各個(gè)芯片的工作原理,完成各個(gè)模塊電路的設(shè)計(jì),完成開(kāi)題報(bào)告。3.對(duì)系統(tǒng)的原理進(jìn)行了討論,對(duì)硬件部分各個(gè)模塊進(jìn)行充分的說(shuō)明。4.用protel完成了系統(tǒng)各個(gè)模塊的原理圖設(shè)計(jì)和PCB制作。 5完成電路板的焊接,并排查焊接錯(cuò)誤,檢查系統(tǒng)電路。6. 通過(guò)軟件多核心板的各個(gè)模塊進(jìn)行了測(cè)試。7. 對(duì)整個(gè)設(shè)計(jì)的過(guò)程,擬出簡(jiǎn)要的大綱,并完成詳細(xì)的論文報(bào)告。修改論文,完成最終定稿。

19、致謝本論文是在實(shí)驗(yàn)室老師的指導(dǎo)下完成的,實(shí)驗(yàn)室在參加比賽過(guò)程中給了我們極大的幫助和支持,并在我們共同努力下取得了一定的成績(jī)。至此,我們要非常感謝老師對(duì)我的幫助。本次課題的完成也離不開(kāi)實(shí)驗(yàn)室老師的指導(dǎo),在這些過(guò)程中老師給了我們極大的幫助,他們的認(rèn)真負(fù)責(zé)的態(tài)度和孜孜不倦的精神使我受益匪淺,從老師身上學(xué)習(xí)到了很多專(zhuān)業(yè)知識(shí),這對(duì)我們以后的工作有很大的幫助,在此,向?qū)嶒?yàn)室老師表示深深的敬意,感謝他對(duì)我們的指導(dǎo)和幫助。參考文獻(xiàn)【1】 黃賢武,鄭筱霞.傳感器原理與應(yīng)用.電子科技大學(xué)出版社,1995年五月?!?】 譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì).清華大學(xué)出版社,2005年七月?!?】 白駒荇,雷曉平.電子科技大學(xué)出版

20、社,2005年九月。附錄系統(tǒng)PCB電路圖圖表 5實(shí)驗(yàn)程序#include<reg52.h>#define uint unsigned int#define uchar unsigned char/*變量定義*/sbit heat=P22;/水泥電阻驅(qū)動(dòng)使能sbit beep=P23;/蜂鳴器使能sbit dioLE=P25;/八位LED鎖存器開(kāi)關(guān)使能sbit dula=P26;/LED段選sbit wela=P27;/LED位選sbit adcs=P24;/AD片選sbit add=P35;/加鍵sbit sub=P34;/減鍵sbit adrd=P37;/AD讀 sbit adw

21、r=P36;/AD寫(xiě)uchar code LED_Segment= /0-9和攝氏度單位的段碼0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x58;uchar code LED_Segment1=/0-9含小數(shù)點(diǎn)的段碼0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;uchar code temdata75=11,17,34,41,52,61,69,79,90,100,111,117,126,132,138,145,149,154,160,165,169,173,178,182,186,1

22、88,193,196,199,203,205,207,208,209,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253;/AD轉(zhuǎn)換值float code temtest75=5.5,6.0,7.3,8.1,9.0,10.0,11.0,12.0,14.1,15.0,16.0,17.0,18.0,19.0,20.0,21.0

23、,22.0,23.0,24.0,25.0,26.0,27.0,28.0,29.0,30.0,31.0,32.0,33.0,34.0,35.0,36.0,36.3,36.9,37.5,39.1,39.4,39.8,40.1,40.6,41.0,41.4,41.7,42.5,42.8,43.0,43.2,44.8,44.9,45.0,45.3,46.1,46.8,47.3,47.8,48.9,49.5,50.3,51.0,51.7,52.3,52.9,53.5,54.1,54.8,55.6,56.0,58.3,59.0,59.8,60.6,62.4,63.8,65.1,66.3,67.6;/測(cè)試點(diǎn)

24、溫度值/*float code slop20=2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5,2.5;*/ /斜率uint idata record48;uint TH=30*10,TL=20*10;/溫度上下限報(bào)警設(shè)定初值uchar LPFdata;uint temperature,max,min,average,dif;uchar flag;/*函數(shù)聲明*/uchar AD();/AD轉(zhuǎn)換子程序void Delay(uchar z);/延時(shí)子程序void Display(uint a);

25、/數(shù)碼管驅(qū)動(dòng)顯示子程序void LPF();/數(shù)據(jù)濾波void Data_temperature();/AD采樣數(shù)據(jù)轉(zhuǎn)換為溫度值void Alarm();/溫度報(bào)警void Set_hitemperature();/設(shè)定最高報(bào)警溫度void Set_lotemperature();/設(shè)定最低報(bào)警溫度void Set_function(uchar a);/按鍵功能判定void Disp_record();/顯示記錄溫度值void Set_tempreature();/溫度控制設(shè)定void Driveled(uchar wei,uchar duan);/*主函數(shù)*/void main()/ucha

26、r flag=0;TMOD=0X11;TH0=0X4C;TL0=0;TH1=0XDC;TL1=0;EA=1;ET0=1;ET1=1;TR0=1;while(1) /P1=0XFF; /dioLE=0; LPF();/將采集到的數(shù)據(jù)進(jìn)行濾波 Data_temperature();/將濾波后的數(shù)據(jù)轉(zhuǎn)換成溫度值 Set_function(flag);/按鍵功能判定 /Data_temperature();/將濾波后的數(shù)據(jù)轉(zhuǎn)換成溫度值 Alarm();/調(diào)用報(bào)警程序當(dāng)溫度超過(guò)設(shè)定上下限時(shí)變報(bào)警 if(adwr=0)/按功能鍵切換工作狀態(tài) Delay(5);if(adwr=0)flag+;if(flag

27、>5)flag=0;while(adwr=0); if(adrd=0)/OK鍵 Delay(5);if(adrd=0)flag=0;while(adrd=0); if(flag=5)/當(dāng)進(jìn)入溫度控制模式時(shí)啟動(dòng)定時(shí)器,PWM控制加熱 TR1=1; else TR1=0;/*延時(shí)函數(shù)*/void Delay(uchar z)uchar x,y;for(y=10;y>0;y-)for(x=z;x>0;x-);/*AD采樣函數(shù)*/uchar AD() uchar value;adcs=0;/選通AD轉(zhuǎn)換器片選 adwr=0;/AD寫(xiě)入(主要是為了啟動(dòng)AD轉(zhuǎn)換) Delay(1); a

28、dwr=1;P1=0xff; /讀取P1口之前先給其寫(xiě)全1 adrd=0; /AD讀使能 value=P1;/AD數(shù)據(jù)讀取賦給P1口 adrd=1;adcs=1;P1=0xff;return(value);/*數(shù)碼管驅(qū)動(dòng)顯示函數(shù)*/void Display(uint a)dula=0;/送溫度值十位P0=0xff;wela=1;P0=0xfe;/wela=0;P0=0;dula=1;P0=LED_Segmenta/100;dula=0;Delay(10);dula=0;/送溫度值個(gè)位,含小數(shù)點(diǎn)P0=0xff;wela=1;P0=0xfd;/wela=0;P0=0;dula=1;P0=LED_S

29、egment1a/10%10;dula=0;Delay(10);dula=0;/送溫度值小數(shù)點(diǎn)位P0=0xff;wela=1;P0=0xfb;/wela=0;P0=0;dula=1;P0=LED_Segmenta%10;dula=0;Delay(10);dula=0;/送攝氏度單位P0=0xff;wela=1;P0=0xf7;/wela=0;P0=0;dula=1;P0=LED_Segment10;dula=0;Delay(10);/*數(shù)據(jù)濾波動(dòng)函數(shù)*/void LPF() uchar temp7,a; uchar i,j,k; for(i=0;i<=6;i+)/數(shù)據(jù)采集存儲(chǔ) tempi

30、=AD();Delay(5); for(j=0;j<=6;j+)/按小到大排序 for(k=j;k<=6;k+)if(tempj>=tempk)a=tempj;tempj=tempk;tempk=a; temp0=temp6=0;/去掉最大最小值 LPFdata=(temp1+temp2+temp3+temp4+temp5)/5;/求平均值/*AD轉(zhuǎn)換值轉(zhuǎn)溫度值函數(shù)*/void Data_temperature()float b;uchar i;for(i=0;i<=74;i+)if(LPFdata>=temdatai)&(LPFdata<temda

31、tai+1)b=temtesti+(LPFdata-temdatai)*(temtesti+1-temtesti)/(temdatai+1-temdatai); break; temperature=b*10;/強(qiáng)制轉(zhuǎn)化為整形/*溫度報(bào)警函數(shù)*/void Alarm()if(temperature>=TH)|(temperature<=TL)/dioLE=1;P1=0;beep=0;elseif(temperature<(TH-10)&(temperature>TL+10)/回差P1=0xff;beep=1;/*設(shè)定最高報(bào)警溫度*/void Set_H()Dis

32、play(TH);if(add=0)Delay(10);if(add=0)TH=TH+10;while(add=0);/防止按鍵重入if(sub=0)Delay(10);if(sub=0)TH=TH-10;while(sub=0);/防止按鍵重入Driveled(0xef,0x76); /顯示H標(biāo)志/*設(shè)定最低報(bào)警溫度*/void Set_L()Display(TL);if(add=0)Delay(10);if(add=0)TL=TL+10;if(TL+30>=TH)TL=TH-40;/最低報(bào)警溫度應(yīng)小于最高報(bào)警溫度-4while(add=0);/防止按鍵重入if(sub=0)Delay

33、(10);if(sub=0)TL=TL-10;while(sub=0);/防止按鍵重入Driveled(0xef,0x38);/顯示“L”標(biāo)志uchar p;/占空比控制/*設(shè)定控制溫度*/uint set_value=400;/溫度設(shè)定初值40攝氏度 void Set_tempreature()if(add=0)Delay(10);if(add=0)set_value=set_value+10;while(add=0);/防止按鍵重入if(sub=0)Delay(10);if(sub=0)set_value=set_value-10;while(sub=0);/防止按鍵重入/*if(set_

34、value-temperature)>100)p=100; elseif(set_value-temperature)>50)p=50;elseif(set_value>temperature)p+;elsep-;*/*if(set_value>temperature)if(set_value-temperature)>100)p=100;elseif(set_value-temperature)>50)p=50;elsep+; elsep=0; */if(set_value>temperature) if(set_value-temperature)

35、>=100)p=200;else if(set_value-temperature)>=80)p=160;else if(set_value-temperature)>=60) p=120;else if(set_value-temperature)>=40) p=80;else if(set_value-temperature)>=20) p=40;else if(set_value-temperature)>=10)p=10;elsep+;if(p>200)p=200; elsep=0;Display(temperature);/顯示測(cè)定溫度dul

36、a=0;/顯示設(shè)定溫度P0=0xff;wela=1;P0=0xef;wela=0;P0=0;dula=1;P0=LED_Segmentset_value/100;dula=0;Delay(10);dula=0;/送溫度值個(gè)位,含小數(shù)點(diǎn)P0=0xff;wela=1;P0=0xdf;wela=0;P0=0;dula=1;P0=LED_Segment1set_value/10%10;dula=0;Delay(10);dula=0;/送溫度值小數(shù)位P0=0xff;wela=1;P0=0xbf;/wela=0;P0=0;dula=1;P0=LED_Segmentset_value%10;dula=0;D

37、elay(10);dula=0;/送攝氏度單位P0=0xff;wela=1;P0=0x7f;wela=0;P0=0;dula=1;P0=LED_Segment10;dula=0;Delay(10);void Driveled(uchar wei,uchar duan)dula=0;P0=0xff;wela=1;P0=wei;wela=0;P0=0;dula=1;P0=duan;dula=0;Delay(10);uchar i;void Disp_record()Display(recordi);/顯示記錄值Driveled(0xef,0x40);/顯示-Driveled(0xdf,LED_Segment(i+1)/10);/顯示第i個(gè)值Driveled(0xbf,LED_Segment(i+1)%10);if(add=0)Delay(5);if(add=0)i+;if(i>47)i=0;while(add=0);if(sub=0)Delay(5);if(sub=0)i-;if(i=255)i=47;while(sub=0);/*顯示平均溫度,最大最小溫度,最大溫差*/uchar ii;void Disp_cal()if(add=0)/進(jìn)入后按加鍵切換

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論