關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > MD600G的Internet無(wú)線傳感器網(wǎng)絡(luò)設(shè)計(jì)

MD600G的Internet無(wú)線傳感器網(wǎng)絡(luò)設(shè)計(jì)

作者: 時(shí)間:2010-11-25 來(lái)源:網(wǎng)絡(luò) 收藏

2.3 節(jié)點(diǎn)溫度軟件設(shè)計(jì)

  以下為溫度節(jié)點(diǎn)的溫度部分代碼:

#include Mini51B.h//Mini51板頭文件
#include LCD1602.h//液晶模塊頭文件
#include ds18b20.h//溫度頭文件
#include stdio.h//C標(biāo)準(zhǔn)函數(shù)庫(kù),系統(tǒng)集成
#include DS1302.h
#define uchar unsigned char
uchar n,temp;
uchar a[6]=000000; //串口字符串
SYSTEMTIME RTC;
void main(void) {
  float V; //記錄溫度浮點(diǎn)型
  uchar str_buff[20];//字符緩沖區(qū)
  SCON=0x50;//串口工作在方式1,波特率9600,//晶振為22.1184 MHz
  PCON=0;
  TMOD=0x20;//定時(shí)器1工作在方式2
  TH1=0xfa;
  TL1=0xfa;
  IE=0x91;//1001 0001,EA=1,ES=1,EX0=1
  IT0=1;//外部中斷0為低電平觸發(fā)方式
  TR1=1;//定時(shí)器T1開(kāi)始計(jì)數(shù)
  ds18b20_init();//初始化溫度時(shí)鐘測(cè)試
  Initial_DS1302();//初始化時(shí)鐘時(shí)間設(shè)定,執(zhí)行一次后刪除該部分
  Write1302(DS1302_MINUTE, 0x11);
  Write1302(DS1302_HOUR,0x08);
  Write1302(DS1302_DAY,0x15);
  Write1302(DS1302_MONTH,0x04);
  Write1302(DS1302_YEAR,0x08);
  lcd1602_init();
  lcd_put_xyns(2,1,14,www.stuelab.cn);
  delay_ms(1000);
  while(1) {
    for(n=0;n10;n++) { //10*0.5 s=5 s數(shù)據(jù)發(fā)送周期
      V=ReadTemperature()/100.0; //溫度部分
      sprintf(str_buff,%2.2f,V); //格式轉(zhuǎn)換
      lcd_put_xyns(1,1,11,Temperatur=);
      lcd_put_xyns(12,1,5,str_buff);
      seg7_disp(V*100);
      sprintf(a,%2.2f,V);//送串口字符串
      DS1302_GetTime(RTC);//時(shí)間部分
      DateToStr(RTC);
      TimeToStr(RTC);
      lcd_put_xyns(1,2,8,RTC.DateString);
      lcd_put_xyns(9,2,8,RTC.TimeString);
      delay_ms(500);
    }
    for(n=0;n6;n++) {
      SBUF=a[n];
      while(!TI);
      TI=0;
    }
  }
}
void external0() interrupt 0{//外部中斷0發(fā)送數(shù)據(jù)
  for(n=0;n6;n++) {
    SBUF=a[n];
    while(!TI);
    TI=0;
  }
  delay_ms(1100);
}
void receving() interrupt 4 {//串口中斷程序接收數(shù)據(jù)
  temp=SBUF;
  RI=0;
}

結(jié)語(yǔ)

  經(jīng)過(guò)實(shí)際運(yùn)行和測(cè)試證明,系統(tǒng)穩(wěn)定可靠,系統(tǒng)誤差達(dá)到了規(guī)定的要求。本系統(tǒng)雖然是以無(wú)線溫度傳感器節(jié)點(diǎn)為例,但同樣也適合其他各種類(lèi)型的節(jié)點(diǎn),因此可以推廣到的其他應(yīng)用領(lǐng)域或行業(yè),如電力抄表、配電自動(dòng)化、路燈監(jiān)控、道路交通等。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉