基于單片機(jī)的電熱爐溫度控制系統(tǒng)_第1頁(yè)
基于單片機(jī)的電熱爐溫度控制系統(tǒng)_第2頁(yè)
基于單片機(jī)的電熱爐溫度控制系統(tǒng)_第3頁(yè)
基于單片機(jī)的電熱爐溫度控制系統(tǒng)_第4頁(yè)
基于單片機(jī)的電熱爐溫度控制系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(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、北京信息科技大學(xué)自動(dòng)化學(xué)院基于單片機(jī)的電熱爐溫度控制系統(tǒng)專 業(yè): 自動(dòng)化 班 級(jí):自控 學(xué) 號(hào): 姓 名:摘 要 在生活中,從小型的空調(diào),冰箱,到大型的工廠設(shè)備,人們對(duì)溫度的控制越來(lái)越頻繁,也越來(lái)越精確。電熱爐溫度控制系統(tǒng)以C51單片機(jī)為基礎(chǔ),利用ADC0808對(duì)傳感器進(jìn)行采樣,通過(guò)與設(shè)定值進(jìn)行比較,對(duì)輸出加以控制。從而使得系統(tǒng)能夠穩(wěn)定在設(shè)定的范圍內(nèi)。1.1硬件系統(tǒng)框圖以下是硬件系統(tǒng)框圖溫度顯示AD轉(zhuǎn)換51單片機(jī)控制輸出按鍵輸入1.2各部分硬件的設(shè)計(jì)(1)采樣電路設(shè)計(jì)因?yàn)锳DC0809無(wú)法在protues中仿真,所以我選用的器件是ADC0808,功能和ADC0809一樣。但在管腳上有一點(diǎn)區(qū)別。

2、out8為最低位out1為最高位。而ADC0809則不同。在這里我用了一個(gè)OVEN器件,這個(gè)器件兩端通電便會(huì)自動(dòng)加熱,在T輸出端會(huì)輸出溫度相對(duì)應(yīng)的電壓,而且其對(duì)應(yīng)的電壓值就等于溫度值。因?yàn)闇囟鹊淖兓秶?到100,而ADC0808的基準(zhǔn)電壓是5V,所以我用了兩個(gè)電阻進(jìn)行分壓。是采樣信號(hào)在05V的范圍內(nèi)。ADDA ADDB ADDC三個(gè)端口接地,選通IN0口。(2)按鍵輸入在這個(gè)實(shí)驗(yàn)中,我只用了一個(gè)按鍵,對(duì)設(shè)定溫度進(jìn)行設(shè)定,因?yàn)榘存I數(shù)目不多,所以系統(tǒng)直接采用非編碼方式,直接連接單片機(jī)I/O口。(3)顯示部分系統(tǒng)采用LED七段數(shù)碼動(dòng)態(tài)顯示電路來(lái)顯示溫度值,顯示范圍在0-99之間,該電路由顯示、片

3、選、譯碼三部分組成。顯示部分:由兩個(gè)兩位的LED七段共陰數(shù)碼管構(gòu)成,P1口接兩個(gè)數(shù)碼管的abcdefg和dp端,P3.4,P3.5是設(shè)定值的位選,P3.6,P3.7是當(dāng)前溫度的位選。(4)輸出控制控制部分采用了一個(gè)繼電器,當(dāng)P3.0口高電平時(shí),繼電器閉合,電熱爐進(jìn)行加熱,當(dāng)P3.0為低電平時(shí),繼電器斷開(kāi),電熱爐停止加熱。(5)系統(tǒng)硬件總設(shè)計(jì)圖1.3系統(tǒng)軟件設(shè)計(jì)開(kāi)始1.3.1系統(tǒng)程序總流程圖初始化采樣AD轉(zhuǎn)換顯示設(shè)定值 Y加熱 NoAD轉(zhuǎn)換程序設(shè)計(jì)int AD()/AD轉(zhuǎn)換 unsigned char Val_AD=0;/用于儲(chǔ)存AD值 START=0;_nop_();_nop_();_nop_

4、(); START=1;_nop_();_nop_();_nop_(); START=0;/給START一個(gè)脈沖,啟動(dòng)AD轉(zhuǎn)換 while(EOC=0);/等待AD轉(zhuǎn)換結(jié)束 OE=1;/準(zhǔn)備讀取AD數(shù)據(jù) Val_AD=P0;/讀取P0口的值,即為AD值 Val_AD=Val_AD*0.3906; return (Val_AD); (1) 進(jìn)行A/D轉(zhuǎn)換之前,要啟動(dòng)轉(zhuǎn)換的方法:ABC000選擇第一通道。ST0,ST1,ST0產(chǎn)生啟動(dòng)轉(zhuǎn)換的正脈沖信號(hào)(2) 進(jìn)行A/D轉(zhuǎn)換時(shí),采用查詢EOC的標(biāo)志信號(hào)來(lái)檢測(cè)A/D轉(zhuǎn)換是否完畢,若完畢則把數(shù)據(jù)通過(guò)P0端口讀入進(jìn)行處理。(3)Val_AD=Val_AD*

5、0.3906,其中0.3906這個(gè)參數(shù)是5/256*20得到的。即把數(shù)字量重新轉(zhuǎn)化成對(duì)應(yīng)的溫度值1.3.3 顯示程序 void Display(Val_AD,sheding)/顯示 unsigned char gewei1; unsigned char shiwei1; unsigned char gewei2; unsigned char shiwei2;gewei1=sheding%10; shiwei1=sheding/10; gewei2=Val_AD%10; shiwei2=Val_AD/10; show2_shi=1; show2_ge=1; show1_shi=1; show1_

6、ge=0; /選通個(gè)位數(shù)碼管 P1=tabgewei1;/顯示個(gè)位 delay(1); show2_shi=1; show2_ge=1; show1_ge=1; show1_shi=0; /選通十位數(shù)碼管 P1=tabshiwei1;/顯示十位 delay(1); show1_ge=1; show1_shi=1; show2_shi=1; show2_ge=0; /選通個(gè)位數(shù)碼管 P1=tabgewei2;/顯示個(gè)位 delay(1); show1_ge=1; show1_shi=1; show2_ge=1; show2_shi=0; /選通十位數(shù)碼管 P1=tabshiwei2;/顯示十位

7、delay(1);顯示程序分為兩個(gè)部分,一個(gè)是設(shè)定值的顯示,還有一個(gè)是當(dāng)前溫度的顯示。1.4 仿真結(jié)果仿真后發(fā)現(xiàn),系統(tǒng)能很快到達(dá)設(shè)定值,但是超調(diào)挺大,而且到穩(wěn)定的時(shí)間比較長(zhǎng)。需要好久分鐘,主要因?yàn)闋t子的降溫速度太慢。1.5.學(xué)習(xí)心得及體會(huì)通過(guò)本次的大作業(yè),學(xué)會(huì)了很多。這次作業(yè)花了好長(zhǎng)的時(shí)間,從一開(kāi)始對(duì)protues和keil 兩個(gè)軟件的熟悉就花了不少時(shí)間。然后是重新學(xué)習(xí)了51單片機(jī)和ADC0808芯片。因?yàn)锳DC0808和ADC0809芯片的OUT端是相反的,費(fèi)了好長(zhǎng)的時(shí)間。然后是在對(duì)器件的選擇上,也花了不少時(shí)間。OVEN這個(gè)器件它可以在仿真中進(jìn)行加熱,還可以自己降溫,這個(gè)十分理想。但是唯一不

8、足的是,不知道如何對(duì)這個(gè)器件進(jìn)行數(shù)學(xué)建模,也就無(wú)法進(jìn)行MATLAB仿真。然后在加上編程技術(shù)還不夠,和對(duì)PID的理解還不夠,目前還不知道怎么在程序上使用PID控制。雖然如此,但我們也廣泛的查閱了資料,對(duì)PID控制的在現(xiàn)實(shí)的使用更加有感觸。附錄#include <reg51.h>#include <intrins.h>#include<stdio.h>/端口定義sbit START= P20;sbit OE = P21;sbit EOC = P32;sbit show1_shi = P34;sbit show1_ge = P35;sbit show2_shi =

9、 P36;sbit show2_ge=P37;sbit P3_0=P30;sbit P2_2=P22;typedef unsigned char BYTE;/共陰極數(shù)碼管字型碼unsigned char code tab= 0x3f, /00x06, /10x5b, /20x4f, /30x66, /40x6d, /50x7d, /60x07, /70x7f, /80x6f ;void delay(BYTE ms)/ 延時(shí)子程序BYTE i;while(ms-)for(i = 0; i< 250; i+)_nop_();_nop_();_nop_();_nop_();int AD()/A

10、D轉(zhuǎn)換 unsigned char Val_AD=0;/用于儲(chǔ)存AD值 START=0;_nop_();_nop_();_nop_(); START=1;_nop_();_nop_();_nop_(); START=0;/給START一個(gè)脈沖,啟動(dòng)AD轉(zhuǎn)換 while(EOC=0);/等待AD轉(zhuǎn)換結(jié)束 OE=1;/準(zhǔn)備讀取AD數(shù)據(jù) Val_AD=P0;/讀取P0口的值,即為AD值 Val_AD=Val_AD*0.3906; return (Val_AD); int Set(sheding) /設(shè)定值設(shè)定 if(P2_2=0) delay(10); if(P2_2=1) sheding+=1;

11、void Control(Val_AD,sheding) / 控制 if(Val_AD>sheding) P3_0=0; if(Val_AD<sheding) P3_0=1;void Display(Val_AD,sheding)/顯示 unsigned char gewei1; unsigned char shiwei1; unsigned char gewei2; unsigned char shiwei2; gewei1=sheding%10; shiwei1=sheding/10; gewei2=Val_AD%10; shiwei2=Val_AD/10; show2_shi

12、=1; show2_ge=1; show1_shi=1; show1_ge=0; /選通個(gè)位數(shù)碼管 P1=tabgewei1;/顯示個(gè)位 delay(1); show2_shi=1; show2_ge=1; show1_ge=1; show1_shi=0; /選通十位數(shù)碼管 P1=tabshiwei1;/顯示十位 delay(1); show1_ge=1; show1_shi=1; show2_shi=1; show2_ge=0; /選通個(gè)位數(shù)碼管 P1=tabgewei2;/顯示個(gè)位 delay(1); show1_ge=1; show1_shi=1; show2_ge=1; show2_shi=0; /選

溫馨提示

  • 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)論