嵌入式設(shè)計(jì)—供暖水壓水溫的檢測老馮_第1頁
嵌入式設(shè)計(jì)—供暖水壓水溫的檢測老馮_第2頁
嵌入式設(shè)計(jì)—供暖水壓水溫的檢測老馮_第3頁
嵌入式設(shè)計(jì)—供暖水壓水溫的檢測老馮_第4頁
嵌入式設(shè)計(jì)—供暖水壓水溫的檢測老馮_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

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

2、T89C51是一種帶4K字節(jié)FLASH存儲器的低電壓、 高性能CMOS 8位微處理器,其主要特性有:128 X8位內(nèi)部RAM、32可編程I/O線、兩個(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ù)字溫度傳感器就是能把溫度物理量,通過溫度敏感元件和相應(yīng)電路轉(zhuǎn)換成 方便計(jì)算機(jī)、plc、智能儀表等數(shù)據(jù)采集設(shè)備直接讀取得

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

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

5、9V;3 .精確度土 .4%;4 .電源電壓 4.85 V 5.35 V;5 .工作溫度-40 C 125 Co本設(shè)計(jì)中,用mpx4250來采集供暖水壓數(shù)據(jù),1端口輸出采集的水壓數(shù)據(jù)到 adc0808模數(shù)轉(zhuǎn)換芯片。3.4模數(shù)轉(zhuǎn)換芯片adc0808ADC0808是美國國家半導(dǎo)體公司生產(chǎn)的 CMOS工藝8通道,8位逐次逼近式A/D模數(shù)轉(zhuǎn)換器。其內(nèi)部有一個(gè) 8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個(gè)進(jìn)行 A/D轉(zhuǎn)換adc0808主要特性:1.8路輸入通道,8位A/D 轉(zhuǎn)換器,即分辨率為8位;2 .具有轉(zhuǎn)換起??刂贫耍? .轉(zhuǎn)換時(shí)間為100仙s(時(shí) 鐘為640kH

6、z時(shí)),130卜s (時(shí) 鐘為500kHz時(shí));4 .單個(gè)+5V電源供電;5 .模擬輸入電壓范圍0 +5V,無需零點(diǎn)和滿刻度校 準(zhǔn);6 .工作溫度范圍為-40一4丁孫詁乒。721 .05加'CM 18 一口3 g卻1適FOO 17U3,匚 LQCKSTARTEOCUT2QUT3QU74DUT5DLT6 0UT7 0UT80EADC0U80 12 3 4 5 6 7 N N N N N N N NADDAADDBAD"ALEVREF(+)VREF(-)2512圖5數(shù)碼管引腳定義圖4 adc0808引腳接線圖+85攝氏度;7.低功耗,約15mW本設(shè)計(jì)中,adc0808模數(shù)芯片用于

7、壓力傳感器 mpx4250的水壓模擬量串口輸入的數(shù)據(jù)轉(zhuǎn)化為數(shù)字量并口輸出給單片機(jī) P0 口的數(shù)據(jù)3.5 8個(gè)8段數(shù)碼管與數(shù)碼管顯示驅(qū)動芯片 max7219led數(shù)碼管是由多個(gè)發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各 個(gè)筆劃,公共電極。led數(shù)碼管根據(jù)LED的接法不同分 為共陰和共陽兩類。8段led數(shù)碼管分為8個(gè)顯示段,分別是:a、b、c、d、e、f、g、dp, dp是小數(shù)點(diǎn)位段。根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式 和動態(tài)式兩類。靜態(tài)驅(qū)動顯示也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個(gè)數(shù)碼管的每一個(gè)段碼 都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動,或者使用如BCD碼二-

8、十進(jìn)制譯碼器 譯碼進(jìn)行驅(qū)動。動態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā) 光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時(shí)都在顯小OMAX7221是一種集成化的串行輸入 /輸出共陰極顯示驅(qū)動器,它連接微處理器與8位數(shù)字的7段數(shù)字LED顯示,也可以連接條線圖顯示器或者64個(gè)獨(dú)立的LED。具上包括一個(gè)片上的 B型BCD編碼器、多路掃描回路,段 字驅(qū)動器,而且還有一個(gè)8*8的靜態(tài)RAM用來存儲每一個(gè)數(shù)據(jù)。MAX7221顯示驅(qū)動芯片的主要功能特點(diǎn):1.10MHz連續(xù)用行口;2 .獨(dú)立的LED段控制;3 .高電壓中斷顯示;4 .共陰極LED顯示驅(qū)動;5 .限制回轉(zhuǎn)電流的段驅(qū)動來

9、減少EMI。c»pQO o oo q9.53k1,3DIG O-DIG 7niN MAX花19D,N MAX7221-3 0IGTS1213LOAD'CS>CLXSEG A-&SEG DPGN口gND& SEGMENTS圖6 max7221的典型應(yīng)用電路本設(shè)計(jì)中,8個(gè)8段共陰極數(shù)碼管與max7221顯示芯片配合驅(qū)動顯示數(shù)據(jù)。顯示方式為動態(tài)顯示。前 4個(gè)數(shù)碼管顯示水溫?cái)?shù)據(jù),精確到 0.1 C。后4個(gè)數(shù)碼管顯示水 壓數(shù)據(jù),精確到0.1kpa。同時(shí)可以切換顯示計(jì)數(shù)的時(shí)間,即系統(tǒng)開啟后運(yùn)行時(shí)間的計(jì)時(shí)。3.6 繼電器的工作原理繼電器是一種電控制器件。它具有控制系統(tǒng)

10、(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路)之間的互動關(guān)系。通常應(yīng)用于自動化的控制電路中,它實(shí)際上是用小電流去控制大電流運(yùn)作的一種“自動開關(guān)”。當(dāng)輸入量達(dá)到規(guī)定值時(shí),繼電器使被控制的輸出電路導(dǎo)通或斷開。繼電器具有動作快、工作穩(wěn)定、使用壽命長、體積小等優(yōu)點(diǎn)。廣泛應(yīng)用于電力保護(hù)、自動 化、運(yùn)動、遙控、測量和通信等裝置中。本設(shè)計(jì)中,用了兩個(gè)電磁繼電器對報(bào)警燈回路進(jìn)行接通或斷開操作。圖7本設(shè)計(jì)中的繼電器和報(bào)警燈的電路圖3.7 供暖水壓水溫系統(tǒng)的原理圖前四位顯示當(dāng)前溫度歷四位顯示當(dāng)前水任0950 1590I門-4.供暖水壓水溫系統(tǒng)的軟件設(shè)計(jì)4.1 系統(tǒng)硬件控制描述1 .控制器用at89c51,12M晶振

11、;2 .采集的水壓數(shù)據(jù)輸入P0 口;3 .采集的水溫?cái)?shù)據(jù)輸入P2.7;4 .數(shù)碼管、max7221 顯示驅(qū)動 P2.0P2.2;5 .adc0808 模數(shù)芯片的控制 P2.3P2.5;6 .切換數(shù)碼管顯示的按鈕端 P2.6;7 .繼電器控制端 P3.0、 P3.1。4.2 c 程序語言設(shè)計(jì)自定義的h 文件:#ifndef _MAIN_H_#define _MAIN_H_#include<regx51.h>#include<intrins.h>#include<absacc.h>#define uchar unsigned char#define uint u

12、nsigned int#define addo (260.0/255.0)sbit DIN = P2A0;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_#include"main.h"extern uchar table8;extern uchar

13、 table18;extern uchar table28;void 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_#include"main.h"void delay_us(uchar n);void delay_ms(

14、uint n);#endif#ifndef _ADC0808_H_#define _ADC0808_H_#include"main.h"uchar ADC0808_READ(void);#endif#ifndef _DS18B20_H_#define _DS18B20_H_#include"main.h"extern uchar flag;void DS18B20_RST(void);uchar DS18B20_READ(void);void DS18B20_WRITE(uchar dat);uint DS18B20_ReadTemp(void);#en

15、dif#ifndef _TIME0_H_#define _TIME0_H_#include"main.h"extern uchar secs;extern uchar minutes;extern uchar hours;void Time0_Initial(void);#endif程序正文:#include"main.h"#include"delay.h"#include"display.h"#include"adc0808.h"#include"ds18b20.h"#in

16、clude"time0.h"uchar ADC0808_READ(void)uchar temp;START = 0;START = 1;START = 0;while(EOC=0);OE = 1;temp = P0;return temp;void delay_us(uchar n)while(n-);void delay_ms(uint n)uchar i;while(n-)for(i=0;i<100;i+);uchar table9 = 15,15,15,15,15,15,15,15;uchar table18 = 1,2,3,4,5,6,7,8;uchar t

17、able28 = 1,2,3,4,5,6,7,8;void WriteByte(uchar dat)uchar i;for(i=0;i<8;i+)DIN = (dat<<i)&0x80)?1:0;CLK = 0;_nop_();CLK = 1;_nop_();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,0

18、x07);MAX7221_WRITE(0x0C,0x01);MAX7221_WRITE(0x0F,0x00);MAX7221_WRITE(0x09,0xFF);void Display(uchar *str)uchar i;for(i=0;i<8;i+)MAX7221_WRITE(i+1,stri); void HEXTOBCD_One(void) table10 = hours/10;table11 = hours%10;table12 = 10;table13 = minutes/10;table14 = minutes%10;table15 = 10;table16 = secs/

19、10;table17 = secs%10; void HEXTOBCD_Two(void)uint temp1,temp2;temp1 = DS18B20_ReadTemp();temp2 = (int)(ADC0808_READ()*addo*10);if(temp1>1000)NPN1 = 1;elseNPN1 = 0; if(temp2>1600)NPN2 = 1;elseNPN2 = 0;if(flag=0)table20 = temp1/1000;elsetable20 = 10;table21 = temp1%1000/100;table22 = (temp1%100/

20、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(void)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<8;i+)DQ = 0;temp >>=

21、 1;DQ = 1;if(DQ)temp |= 0x80;delay_us(10);return temp;void DS18B20_WRITE(uchar dat)uchar i;for(i=0;i<8;i+)DQ = 0;DQ = (dat&0x01)?1:0;delay_us(10);DQ = 1;dat >>= 1;uint DS18B20_ReadTemp(void)uchar temp_h,temp_l;uint temp = 0;DS18B20_RST();DS18B20_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(temp<0x0fff)flag = 0;elseflag = 1;temp = temp+1;temp = temp*(0.625);return temp;uchar secs = 0;uchar minutes = 0;uchar

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論