<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

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

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

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

          2.3 節(jié)點溫度軟件設(shè)計

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

          #include Mini51B.h//Mini51板頭文件
          #include LCD1602.h//液晶模塊頭文件
          #include ds18b20.h//溫度頭文件
          #include stdio.h//C標準函數(shù)庫,系統(tǒng)集成
          #include DS1302.h
          #define uchar unsigned char
          uchar n,temp;
          uchar a[6]=000000; //串口字符串
          SYSTEMTIME RTC;
          void main(void) {
            float V; //記錄溫度浮點型
            uchar str_buff[20];//字符緩沖區(qū)
            SCON=0x50;//串口工作在方式1,波特率9600,//晶振為22.1184 MHz
            PCON=0;
            TMOD=0x20;//定時器1工作在方式2
            TH1=0xfa;
            TL1=0xfa;
            IE=0x91;//1001 0001,EA=1,ES=1,EX0=1
            IT0=1;//外部中斷0為低電平觸發(fā)方式
            TR1=1;//定時器T1開始計數(shù)
            ds18b20_init();//初始化溫度時鐘測試
            Initial_DS1302();//初始化時鐘時間設(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);//時間部分
                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é)語

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


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();