国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于單片機(jī)實(shí)現(xiàn)環(huán)境溫度測(cè)控的設(shè)計(jì)

2015-05-30 10:48王亞
科技資訊 2015年30期
關(guān)鍵詞:單片機(jī)

王亞

摘 要:溫度測(cè)控在工業(yè)領(lǐng)域中具有廣泛的應(yīng)用,使用集成溫度傳感器AD-590采集溫度信息,然后將這一模擬信號(hào)送ADC0804,把ADC0804作為單片機(jī)的外部存儲(chǔ)器,單片機(jī)啟動(dòng)ADC0804工作進(jìn)行模數(shù)轉(zhuǎn)換,最后把ADC0804中的數(shù)據(jù)讀取出來(lái)送到P2口所接的數(shù)碼管上顯示。由于單片機(jī)具有體積小、功能強(qiáng)、價(jià)格低、抗干擾能力等優(yōu)點(diǎn)。因此,在工業(yè)測(cè)控系統(tǒng)中往往采用單片機(jī)來(lái)實(shí)現(xiàn)溫度控制。該文從硬件和軟件兩方面介紹了MCS-51單片機(jī)溫度控制系統(tǒng)的設(shè)計(jì)思路,對(duì)硬件原理圖和程序設(shè)計(jì)進(jìn)行詳細(xì)地描述。

關(guān)鍵詞:?jiǎn)纹瑱C(jī) 溫度測(cè)控 ADC0804 AD590

中圖分類(lèi)號(hào):TP27 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2015)10(c)-0073-04

在工業(yè)生產(chǎn)和日常生活中,溫度檢測(cè)是十分重要的,隨著傳感器技術(shù)、單片機(jī)技術(shù)的不斷發(fā)展,利用單片機(jī)對(duì)溫度進(jìn)行測(cè)控的技術(shù),日益得到廣泛應(yīng)用。該文設(shè)計(jì)的溫度測(cè)控電路由單片機(jī)AT89S51,溫度傳感器AD590,ADC0804轉(zhuǎn)換電路,數(shù)碼管顯示裝置等構(gòu)成。以單片機(jī)AT89S51為核心,溫度傳感器AD590的作用是將溫度信號(hào)轉(zhuǎn)換成電壓或電流信號(hào),電路中有運(yùn)算放大器組成的比較器來(lái)使傳感器產(chǎn)生的信號(hào)與設(shè)定的信號(hào)相比較,由比較器輸出電平來(lái)控制執(zhí)行機(jī)構(gòu)工作,單片機(jī)實(shí)現(xiàn)最終的數(shù)據(jù)處理從而實(shí)現(xiàn)溫度的測(cè)控。

1 AD590介紹

AD590是美國(guó)Aanlog Devices公司所研發(fā)的一款溫度傳感器,它能將溫度轉(zhuǎn)化為電流。具有體積小,使用方便等特點(diǎn)。有效溫度感測(cè)范圍從-55 °C~150 °C,電源電壓在4~30 V范圍內(nèi),該器件可充當(dāng)一個(gè)高阻抗、恒流調(diào)節(jié)器。其輸出電流與絕對(duì)溫度成比例。

1.1 基本使用方法

它的輸出電流是以絕對(duì)溫度零度(-273 ℃)為基準(zhǔn),每增加1 ℃,輸出電流會(huì)增加1μA,因此在室溫20 ℃時(shí),其輸出電流Iout=(273+20)=293μA。Vo的值為Io乘上10 K,以室溫20 ℃而言,輸出電壓值為10 K×293μA=2.93 V。測(cè)量Vo時(shí),不可分出任何電流,否則測(cè)量值會(huì)不準(zhǔn),AD590常規(guī)接法見(jiàn)圖1。

1.2 AD590的外觀、底視圖與圖形符號(hào)

AD590的外觀、底視圖與圖形符號(hào)見(jiàn)圖2所示。

2 ADC0804介紹

2.1 ADC0804基本使用方法

ADC0804是一個(gè)8位、單通道、低價(jià)格A/D轉(zhuǎn)換器,主要特點(diǎn)是:模數(shù)轉(zhuǎn)換時(shí)間大約100 us;方便的TTL或CMOS標(biāo)準(zhǔn)接口;可以滿(mǎn)足差分電壓輸入;具有參考電壓輸入端;內(nèi)含時(shí)鐘發(fā)生器;單電源工作時(shí)(0~5 V)輸入信號(hào)電壓范圍是0~5 V;不需要調(diào)零等等。

2.2 ADC0804各引腳名稱(chēng)及作用

ADC0804各引腳圖見(jiàn)圖3。

引腳1:片選信號(hào)。低電平有效。

引腳2:外部讀數(shù)據(jù)控制信號(hào)。此信號(hào)低電平時(shí)ADC0804把轉(zhuǎn)換完成的數(shù)送到DB口。

引腳3:外部寫(xiě)數(shù)據(jù)控制信號(hào)。此信號(hào)的上升沿可以啟動(dòng)ADC0804的A/D轉(zhuǎn)換過(guò)程。

引腳4:時(shí)鐘輸入引腳。ADC0804使用RC振蕩器作為A/D時(shí)鐘,是振蕩器的輸入端。

引腳5:轉(zhuǎn)換結(jié)束輸出信號(hào)。AD轉(zhuǎn)換結(jié)束后,低電平表示此次轉(zhuǎn)換已完成。

引腳6:輸入信號(hào)電壓的正極。

引腳7:輸入信號(hào)電壓的負(fù)極??梢赃B接到電源地。

引腳8:模擬電源地線。

引腳9:參考電源輸入端。參考電源取輸入信號(hào)電壓(最大值)的1/2。例如輸入信號(hào)電壓是0~5 V時(shí),參考電源取2.5 V;輸入信號(hào)電壓是0~4 V時(shí),參考電源取2.0 V。

引腳10:數(shù)字電源地線。

引腳11~引腳18:數(shù)字信號(hào)輸出端口,連接單片機(jī)的數(shù)據(jù)總線。

引腳19:時(shí)鐘輸入端。

引腳20:接5 V電源。

3 溫度測(cè)控設(shè)計(jì)過(guò)程

3.1 實(shí)現(xiàn)溫度測(cè)量原理分析

通過(guò)溫度傳感器AD590所接電路測(cè)出實(shí)際溫度值,然后將這一模擬信號(hào)送ADC0804的輸入引腳Vin(+)(引腳6),把ADC0804作為單片機(jī)的外部存儲(chǔ)器,當(dāng)單片機(jī)通過(guò)WR引腳送出一個(gè)低電平信號(hào)時(shí),就可以啟動(dòng)ADC0804工作,單片機(jī)接收到int0引腳送來(lái)的完成轉(zhuǎn)換低電平信號(hào)以后,就可以把ADC0804中的數(shù)據(jù)讀取出來(lái)送到P2口所接的數(shù)碼管上顯示。

3.2 電路設(shè)計(jì)

ADC0804數(shù)字信號(hào)輸出口DB7~DB0(引腳11~引腳18)可接單片機(jī)P0口,ADC0804的RD和WR引腳分別接到單片機(jī)的RD和WR引腳,轉(zhuǎn)換后的數(shù)字量在P2口所接的數(shù)碼管上顯示,單片機(jī)控制數(shù)碼管的掃描信號(hào)從P1口的高四位輸出,單片機(jī)控制溫度原理圖如圖4所示。

3.3 程序設(shè)計(jì)

#include

char code a[10]={0xc0,0xf9,0xa4,0xb0,0x99,

0x92,0x82,0xf8,0x80,0x90 };

sbit int0=P3^2;

unsigned char xdata temp; // 聲明變量

unsigned char temp1; // 聲明變量

unsigned char disp[4]={0,0,0,0};// 數(shù)碼管初值顯示全為零

void dataproc(unsigned char data_in) //聲明處理函數(shù)

{ int results; // 聲明變量

results= data_in; // 讀取ADC0804轉(zhuǎn)換結(jié)果

disp[0]=results%10; // 取得個(gè)位數(shù)

disp[1]=(results/10)%10; // 取得十位數(shù)

disp[2]=(results/100)%10; // 取得百位數(shù)

disp[3]=results/1000; // 取得千位數(shù)

}

void display(void) //數(shù)碼管顯示

{ char i,scan; // 聲明變量

char times=30; // 掃描30次

for(i=0;i<30;i++) // for循環(huán)開(kāi)始

{ scan=0x10; // 初始掃描信號(hào)

for(i=0;i<4;i++) // for循環(huán)開(kāi)始

{ P2=0xff; // 關(guān)閉數(shù)碼管

P1=~scan; // 輸出掃描信號(hào)

P2=a[disp[i]]; // 轉(zhuǎn)換成驅(qū)動(dòng)信號(hào),并輸出到P2

delay(4); // 延時(shí)4ms

scan<<=1; // 下一個(gè)掃描信號(hào)

}

}

}

void delay(char x) //延時(shí)

{ int i,j;

for(i=0;i

for(j=0;j<120;j++);

}

main( )

{ while(1)

{ display( ); // 顯示

Temp1=temp; /*讀取外部存儲(chǔ)器,讓ADC0804的引腳RD=0、int0=1*/

temp=0xff;

while(int0= =1); // 等待中斷

Temp1=temp; // 讀取外部記憶體

dataproc(temp1);

}

}

4 結(jié)語(yǔ)

AD590傳感器為溫度采集器件,AD590通過(guò)串接一個(gè)10 K的電阻,即可產(chǎn)生10K×(273+T℃)的電壓,這個(gè)電壓再通過(guò)運(yùn)算放大器,(運(yùn)算放大器在此作為緩沖器,以避免負(fù)載效應(yīng))送給A/D轉(zhuǎn)換器ADC0804,將此電壓轉(zhuǎn)換成數(shù)字信號(hào),單片機(jī)先把這個(gè)數(shù)字信號(hào)從A/D轉(zhuǎn)換器中取出來(lái),然后再把這一信號(hào)進(jìn)行處理,最后把溫度數(shù)值通過(guò)四位數(shù)碼管顯示。通過(guò)實(shí)驗(yàn)證明該系統(tǒng)能夠?qū)崟r(shí)監(jiān)控環(huán)境溫度,在工業(yè)測(cè)控系統(tǒng)中具有一定的實(shí)用性。

參考文獻(xiàn)

[1] 張義和.例說(shuō)51單片機(jī)[M].人民郵電出版社,2010.

[2] 王東鋒.單片機(jī)C語(yǔ)言應(yīng)用100例[M].電子工業(yè)出版社,2013.

[3] 張志良.80C51單片機(jī)實(shí)驗(yàn)實(shí)訓(xùn)100例[M].北京航空航天大學(xué)出版社,2015.

[4] 譚浩強(qiáng).C程序設(shè)計(jì)[M].3版.北京:清華大學(xué)出版社,2005.

[5] 張艷.新編Visual Basic程序設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2010.

猜你喜歡
單片機(jī)
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
基于單片機(jī)的層次漸變暖燈的研究
基于單片機(jī)的多功能智能插排
基于單片機(jī)的便捷式LCF測(cè)量?jī)x
小議PLC與單片機(jī)之間的串行通信及應(yīng)用
MSP430單片機(jī)在仿真中要注意的幾點(diǎn)問(wèn)題
基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
基于單片機(jī)的三維LED點(diǎn)陣設(shè)計(jì)
Microchip推出兩個(gè)全新PIC單片機(jī)系列
基于Proteus的單片機(jī)控制系統(tǒng)的仿真設(shè)計(jì)