嵌入式設(shè)計(jì)—供暖水壓水溫的檢測(cè)(老馮)_第1頁(yè)
嵌入式設(shè)計(jì)—供暖水壓水溫的檢測(cè)(老馮)_第2頁(yè)
嵌入式設(shè)計(jì)—供暖水壓水溫的檢測(cè)(老馮)_第3頁(yè)
嵌入式設(shè)計(jì)—供暖水壓水溫的檢測(cè)(老馮)_第4頁(yè)
嵌入式設(shè)計(jì)—供暖水壓水溫的檢測(cè)(老馮)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(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、供暖水壓水溫的檢測(cè)系統(tǒng)1設(shè)計(jì)的緣由:供暖站的熱水供暖系統(tǒng)需要時(shí)刻對(duì)熱水進(jìn)行水溫和水壓的實(shí)時(shí)監(jiān)控,才能保證供暖的有效性和穩(wěn)定性。這就需要有一個(gè)可靠地水溫、水壓數(shù)據(jù)采集的監(jiān)控系 統(tǒng)來(lái)實(shí)現(xiàn)這樣的需求。2系統(tǒng)功能的流程圖:如圖所示:3.檢測(cè)系統(tǒng)的硬件設(shè)計(jì)3.1 單片機(jī) AT89C51單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處 理能力的中央處理器CPU隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O 口和 中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、 模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的 計(jì)算機(jī)系統(tǒng)。設(shè)計(jì)用到的 AT89

2、C51是一種帶4K字節(jié)FLASH存儲(chǔ)器的低電壓、高性能CMOS 8位微處理器,其主要特性有:128X8位內(nèi)部RAM、32可編程I/OU1 -1-4xTAL110k wTEXT-XTAL2RSTPSEN ALE EAP2.Q/ASP2.1 /A9 P2 210 P2.3W11 P2 4/A12 P2.5/A13 P2J6/A14P2 7yA15RESPACKS .39P0038P0133?P0243&P035沁P04I-34P05/33P063,32PQ7.P0 O/AOO P0.1/AW PO.2/ADC2 P0.3/AD3 P0.4/AM P0.5/AM P0.6/AD P0.7/AD722

3、22i24 START25 E272E 叫P3.0/RXD P.DTKD P.2/iNTCT P3.3/INT1P3.4/T0P3.5TT1P3啟遊P3.7 議10!工. 工.-JLL .ATS9C51L-TPrfTi線、兩個(gè)16位定時(shí)器/計(jì)數(shù)器、5個(gè)中斷源、可編程串行通道、低功耗的閑置和 掉電模式、片內(nèi)振蕩器和時(shí)鐘電路圖1 51單片機(jī)引腳接線圖本設(shè)計(jì)用到定時(shí)器/計(jì)數(shù)器的功能,在時(shí)間計(jì)數(shù)設(shè)置時(shí),用定時(shí)器/計(jì)數(shù)器0 的計(jì)數(shù)功能,外部以脈沖形式輸入作為計(jì)數(shù)器的計(jì)數(shù)脈沖, 這里外部脈沖間隔約 為1s,計(jì)數(shù)實(shí)現(xiàn)時(shí)間計(jì)數(shù)功能。3.2數(shù)字溫度傳感器ds18b20數(shù)字溫度傳感器就是能把溫度物理量,通過(guò)溫度敏

4、感元件和相應(yīng)電路轉(zhuǎn)換成 方便計(jì)算機(jī)、pic、智能儀表等數(shù)據(jù)采集設(shè)備直接讀取得數(shù)字量的傳感器。設(shè)計(jì) 用到的ds18b20數(shù)字溫度傳感器耐磨耐碰,體積小,使用方便,封裝形式多樣, 適用于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域。其主要性能描述:1獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊;2測(cè)溫范圍 55C+125C,固有測(cè)溫分辨率05C;3支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在 唯一的三線上,最多只能并聯(lián)8個(gè),實(shí)現(xiàn)多點(diǎn)測(cè)溫;4. 工作電源:35V/DC ;5. 在使用中不需要任何外圍元件;6. 測(cè)量結(jié)果以912位數(shù)字量方式串行傳

5、送。本設(shè)計(jì)中,用ds18b20來(lái)采集供暖水的水溫?cái)?shù)據(jù),以單線串口形式將數(shù)據(jù)輸送給單片機(jī)處理。DALLAS 18B201 2 3(BOTTOM VIEW)IO-C)2(DM8B2JI圖2 ds18b20引腳圖3.3壓力傳感器mpx4250壓力傳感器是工業(yè)實(shí)踐中最為常用的 一種傳感器,而我們通常使用的壓力傳感器 主要是利用壓電效應(yīng)制造而成的,這樣的傳 感器也稱為壓電傳感器。壓電傳感器結(jié)構(gòu)簡(jiǎn) 單、體積小、質(zhì)量累世、功耗小、壽命長(zhǎng), 特別是它具有良好的動(dòng)態(tài)特性,因此適合有 很寬頻帶的周期作用力和高速變化的沖擊 力。mpx4250的主要性能指標(biāo):1. 工作壓力0 36.3 PSI;2. 輸出 0.2 4

6、.9V;3. 精確度1.4%;4. 電源電壓 4.85 V 5.35 V;5. 工作溫度-40 125 CoPORT OPTIONCASE 867B-04. STYLE 114N/C2Gnd5Ni/C3VS n6N/CPIN NUMBER圖3 mpx4250引腳功能圖本設(shè)計(jì)中,用mpx4250來(lái)采集供暖水壓數(shù)據(jù),1端口輸出采集的水壓數(shù)據(jù)到adc0808模數(shù)轉(zhuǎn)換芯片。3.4模數(shù)轉(zhuǎn)換芯片adc0808ADC0808是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的 CMOS工藝8通道,8位逐次逼近式A/D模數(shù)轉(zhuǎn)換器。其內(nèi)部有一個(gè) 8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選通8路模擬輸入信號(hào)中的一個(gè)進(jìn)行 A/D

7、轉(zhuǎn)換adc0808主要特性:1.8路輸入通道,8位A/D 轉(zhuǎn)換器,即分辨率為8位;2. 具有轉(zhuǎn)換起停控制端;3. 轉(zhuǎn)換時(shí)間為100卩s(時(shí) 鐘為640kHz時(shí)),130卩s (時(shí) 鐘為500kHz時(shí));4. 單個(gè)+5V電源供電;5. 模擬輸入電壓范圍0 +5V,無(wú)需零點(diǎn)和滿刻度校 準(zhǔn);6. 工作溫度范圍為-40U3-CLOCKIN0-STARTIN1IN2J EOC1N3IN4-0UT1IN5-OUT2IN6彳 OUT3IN7J OUT4-OUT5ADDA-0UT6ADDB 0UT7ADDC-OUT8ALEVREF()-OEVREF(-)10TAR 76ADC0808.-TRyT-.21201

8、9P03 8P02 15F01 14POO 17L25_b爹 J23 T221216+85攝氏度;7.低功耗,約15mW圖4 adc0808引腳接線圖圖5數(shù)碼管引腳定義本設(shè)計(jì)中,adc0808模數(shù)芯片用于壓力傳感器 mpx4250的水壓模擬量串口輸入的數(shù)據(jù)轉(zhuǎn)化為數(shù)字量并口輸出給單片機(jī) P0 口的數(shù)據(jù)3.5 8個(gè)8段數(shù)碼管與數(shù)碼管顯示驅(qū)動(dòng)芯片 max7219led數(shù)碼管是由多個(gè)發(fā)光二極管封裝在一起組成“ 8” 字型的器件,弓I線已在內(nèi)部連接完成,只需引出它們的各 個(gè)筆劃,公共電極。led數(shù)碼管根據(jù)LED的接法不同分 為共陰和共陽(yáng)兩類。8段led數(shù)碼管分為8個(gè)顯示段,分別是:a、b、c、d、e、f

9、、g、dp,dp是小數(shù)點(diǎn)位段。根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。靜態(tài)驅(qū)動(dòng)顯示也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼 都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器 譯碼進(jìn)行驅(qū)動(dòng)。動(dòng)態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā) 光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時(shí)都在顯 示OMAX7221是一種集成化的串行輸入 /輸出共陰極顯示驅(qū)動(dòng)器,它連接微 處理器與8位數(shù)字的7段數(shù)字LED顯示,也可以連接條線圖顯示器或者64個(gè)獨(dú)立的LED。其上包括一個(gè)片上的 B型BCD編碼器、多路掃描回路,段 字驅(qū)動(dòng)器,而且還有一個(gè)

10、 8*8的靜態(tài)RAM用來(lái)存儲(chǔ)每一個(gè)數(shù)據(jù)。MAX7221顯示驅(qū)動(dòng)芯片的主要功能特點(diǎn):1.10MHz連續(xù)串行口;2. 獨(dú)立的LED段控制;3. 高電壓中斷顯示;4. 共陰極LED顯示驅(qū)動(dòng);5. 限制回轉(zhuǎn)電流的段驅(qū)動(dòng)來(lái)減少EMI 。QpQO000qi丨i 丨丨i【9.53k11-ISET DIG CDIG 1niN MAX7219D,N MAX7221LOAD 站CLX$EG A-G,SEG DPA DI6(TS& SEGMENTS圖6 max7221的典型應(yīng)用電路本設(shè)計(jì)中,8個(gè)8段共陰極數(shù)碼管與 max7221顯示芯片配合驅(qū)動(dòng)顯示數(shù)據(jù)。顯示方式為動(dòng)態(tài)顯示。前4個(gè)數(shù)碼管顯示水溫?cái)?shù)據(jù),精確到 0.1C

11、。后4個(gè)數(shù)碼管顯示水壓數(shù)據(jù),精確到0.1kpa。同時(shí)可以切換顯示計(jì)數(shù)的時(shí)間,即系統(tǒng)開啟后運(yùn)行時(shí)間的計(jì)時(shí)。3.6繼電器的工作原理繼電器是一種電控制器件。它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路)之間的互動(dòng)關(guān)系。通常應(yīng)用于自動(dòng)化的控制電路中,它實(shí)際上是用小電流去控制大電流運(yùn)作的一種“自動(dòng)開關(guān)”。當(dāng)輸入量達(dá)到規(guī)定值時(shí),繼電器使被控制的輸出電路導(dǎo)通或斷開。繼電器具有動(dòng)作快、工作穩(wěn)定、使用壽命長(zhǎng)、體積小等優(yōu)點(diǎn)。廣泛應(yīng)用于電力保護(hù)、自動(dòng)化、運(yùn)動(dòng)、遙控、測(cè)量和通信等裝置中。本設(shè)計(jì)中,用了兩個(gè)電磁繼電器對(duì)報(bào)警燈回路進(jìn)行接通或斷開操作。+12V *i2V圖7本設(shè)計(jì)中的繼電器和報(bào)警燈的電路圖3.7

12、供暖水壓水溫系統(tǒng)的原理圖前四位顯示當(dāng)前溫度后四位顯示當(dāng)前水壓095.0 IS9.0FDKJEjrnn? ruAtu raAh- nUADS rti&Ate reLTfALfJCTMZftBTQHtl口hF3DRXD P3VT)fl F3STT rsamrraam JajaPH fS/iTC3B口 1-JTiru2rh*36FLUi1BTUh-OS?-33n-衛(wèi)urD-dHDl-TJT.62 - - - dll悌2 VEF TB Ctt lEZt* gTXW 國(guó)0iTT亠帕TR * 1FM 2J :; rrS*TTF:zt *1W- 4.供暖水壓水溫系統(tǒng)的軟件設(shè)計(jì)4.1系統(tǒng)硬件控制描述1. 控制

13、器用 at89c51,12M 晶振;2. 采集的水壓數(shù)據(jù)輸入 P0 口;3. 采集的水溫?cái)?shù)據(jù)輸入 P2.7;4. 數(shù)碼管、 max7221 顯示驅(qū)動(dòng) P2.0P2.2;5. adc0808 模數(shù)芯片的控制 P2.3P2.5;6. 切換數(shù)碼管顯示的按鈕端 P2.6;7. 繼電器控制端 P3.0、 P3.1。4.2 c 程序語(yǔ)言設(shè)計(jì)自定義的 h 文件:#ifndef _MAIN_H_ #define _MAIN_H_ #include #include #include#define uchar unsigned char#define uint unsigned int#define addo

14、(260.0/255.0)sbit DIN = P2P;sbit CS = P2A1;sbit CLK = P2A2;sbit START = P2A3;sbit EOC = P2A4;sbit OE = P2A5;sbit KEY = P2A6;sbit DQ = P2A7;sbit NPN1 = P3A0;sbit NPN2 = P3A1;#endif #ifndef _DISPLAY_H_ #define _DISPLAY_H #includemain.h extern uchar table8; extern uchar table18; extern uchar table28; v

15、oid WriteByte(uchar dat);void MAX7221_WRITE(uchar addr,uchar dat); void MAX7221_Initial(void);void Display(uchar *str); void HEXTOBCD_One(void); void HEXTOBCD_Two(void);#endif#ifndef _DELAY_H_ #define _DELAY_H_ #includemain.h void delay_us(uchar n); void delay_ms(uint n);#endif#ifndef _ADC0808_H_ #d

16、efine _ADC0808_H_ #includemain.h uchar ADC0808_READ(void);#endif#ifndef _DS18B20_H_ #define _DS18B20_H_ #includemain.h extern uchar flag; void DS18B20_RST(void);uchar DS18B20_READ(void); void DS18B20_WRITE(uchar dat);uint DS18B20_ReadTemp(void); #endif#ifndef _TIME0_H_ #define _TIME0_H_ #includemain

17、.h extern uchar secs; extern uchar minutes; extern uchar hours; void Time0_Initial(void); #endif程序正文:#includemain.h #includedelay.h #includedisplay.h #includeadc0808.h #includeds18b20.h #includetime0.h uchar ADC0808_READ(void) uchar temp;START = 0;START = 1;START = 0; while(EOC=0);OE = 1;temp = P0;r

18、eturn temp;void delay_us(uchar n)while(n-);void delay_ms(uint n)uchar i;while(n-)for(i=0;i100;i+);uchar table9 = 15,15,15,15,15,15,15,15;uchar table18 = 1,2,3,4,5,6,7,8;uchar table28 = 1,2,3,4,5,6,7,8;void WriteByte(uchar dat)uchar i;for(i=0;i8;i+)DIN = (dati)&0x80)?1:0;CLK = 0;_nop_();CLK = 1;_nop_

19、();void MAX7221_WRITE(uchar addr,uchar dat)CS = 0;WriteByte(addr);WriteByte(dat);CS = 1;void MAX7221_Initial(void)MAX7221_WRITE(0x0A,0x07);MAX7221_WRITE(0x0B,0x07);MAX7221_WRITE(0x0C,0x01);MAX7221_WRITE(0x0F,0x00);MAX7221_WRITE(0x09,0xFF);void Display(uchar *str) uchar i; for(i=0;i1000)NPN1 = 1;else

20、NPN1 = 0; if(temp21600) NPN2 = 1; elseNPN2 = 0;if(flag=0)table20 = temp1/1000;else table20 = 10;table21 = temp1%1000/100;table22 = (temp1%100/10)|0x80;table23 = temp1%10;table24 = temp2/1000;table25 = temp2%1000/100;table26 = (temp2%100/10)|0x80;table27 = temp2%10;uchar flag = 0;void DS18B20_RST(voi

21、d)DQ = 1;delay_us(4);DQ = 0;delay_us(100);DQ = 1; delay_us(40);uchar DS18B20_READ(void)uchar i,temp = 0;for(i=0;i= 1;DQ = 1;if(DQ) temp |= 0x80;delay_us(10);return temp;void DS18B20_WRITE(uchar dat) uchar i;for(i=0;i= 1;uint DS18B20_ReadTemp(void)uchar temp_h,temp_l; uint temp = 0; DS18B20_RST(); DS

22、18B20_WRITE(0xcc); DS18B20_WRITE(0x44); DS18B20_RST(); DS18B20_WRITE(0xcc); DS18B20_WRITE(0xbe); temp_h = DS18B20_READ(); temp_l = DS18B20_READ(); temp = temp_l; temp = 8; temp |= temp_h; if(temp0x0fff) flag = 0;elseflag = 1;temp = temp+1;temp = temp*(0.625);return temp;uchar secs = 0; uchar minutes

23、 = 0;uchar hours = 0;void Time0_Initial(void)TMOD = 0x01;TH0 = 0x15;TL0 = 0x9f;ET0 = 1;TR0 = 1;EA = 1;volatile unsigned char cnt = 0;void Time0_Interrupt(void) interrupt 1 TH0 = 0x15;TL0 = 0x9f;cnt +;if(cnt=10)cnt = 0;secs +;if(secs=60)secs = 0; minutes +;if(minutes=60)minutes = 0; hours+;if(hours=24)hours = 0;void main()uchar ready = 0;NPN1 = 0,NPN2

溫馨提示

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