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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > msp430單片機的ds18b20測溫度c程序

          msp430單片機的ds18b20測溫度c程序

          作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
          #include
          #define DS18B20_DIRP2DIR
          #define DS18B20_INP2IN
          #define DS18B20_OUTP2OUT

          #define DS18B20_DQBIT3//定義DS18B20的接口
          #define DS18B20_DQ_2BIT4//定義另一個DS18B20的接口

          // DS18B20 ROM命令宏定義
          #define ReadRom0x33
          #define MatchRom0x55
          #define SearchRom0xf0
          #define AlertSearch0xec
          #define CopyScratchpad0x48
          #define SkipRom0xcc
          #define ReadPower0xb4

          // DS18B20 功能命令宏定義
          #define ConvertTemperature0x44
          #define ReadScratchpad0xbe
          #define WriteScratchpad0x4e
          #define RecallE0xb8

          #define SMCLK2000//(KHz)用于系統(tǒng)延時


          // 溫度的十進制編碼(查表用)
          unsigned char decimalH[16]={00,06,12,18,25,31,37,43,50,56,62,68,75,81,87,93};
          unsigned char decimalL[16]={00,25,50,75,00,25,50,75,00,25,50,75,00,25,50,75};

          // 變量定義
          unsigned char GetScratchpad[9];
          unsigned char GetScratchpad_2[9];
          float ResultTemperatureH;//溫度的整數(shù)部分
          float ResultTemperatureLH;//溫度的小數(shù)部分(高位)
          float ResultTemperatureLL;//溫度的小數(shù)部分(低位)
          float ResultTemperatureH_2;//溫度的整數(shù)部分
          float ResultTemperatureLH_2;//溫度的小數(shù)部分(高位)
          float ResultTemperatureLL_2;//溫度的小數(shù)部分(低位)
          float ResultTemperature;//溫度的真實值
          float ResultTemperature_2;//溫度的真實值
          float Temperaturefromtwo;//溫度的真實值差
          float OilPercentage;//油相含率

          void DS18B20_WriteBit(unsigned char oww_dat);
          void DS18B20_WriteBit_2(unsigned char oww_dat);
          void DS18B20_WriteByte(unsigned char oww_dat);
          void DS18B20_WriteByte_2(unsigned char oww_dat);
          void DS18B20_ReadTemp(void);
          void DS18B20_ReadTemp_2(void);
          unsigned char DS18B20_Init(void);
          unsigned char DS18B20_Init_2(void);
          unsigned char DS18B20_ReadBit(void);
          unsigned char DS18B20_ReadBit_2(void);
          unsigned char DS18B20_ReadByte(void);
          unsigned char DS18B20_ReadByte_2(void);
          void Delay10us(void);
          void DelayX10us(unsigned char x10us);


          void main(void) {
          volatile unsigned int i,j;
          WDTCTL = WDTPW + WDTHOLD;//停止看門狗

          BCSCTL1 &= ~XT2OFF;//XT2 = HF XTAL
          do {
          IFG1 &= ~OFIFG;//Clear OSCFault flag
          for (i=0xFF;i>0;i--);//Time for flag to set
          }while((IFG1&OFIFG));//OSCFault flag still set?
          BCSCTL2 |= (SELM1 + SELS);//MCLK = SMCLK = XT2

          DS18B20_Init();//初始化DS18B20
          DS18B20_Init_2();//初始化DS18B20.2

          //Z7289_Init();

          while(1) {
          DS18B20_ReadTemp();
          i=ResultTemperatureH/10;
          j=ResultTemperatureH-(i*10);
          //Z7289_Show(7,1,i);
          //Z7289_Show(6,1,j);
          //Z7289_Show(5,1,0x0C);
          i=ResultTemperatureLH/10;
          j=ResultTemperatureLH-(i*10);
          //Z7289_Show(4,1,i);
          //Z7289_Show(3,1,j);
          i=ResultTemperatureLL/10;
          j=ResultTemperatureLL-(i*10);
          //Z7289_Show(2,1,i);
          //Z7289_Show(1,1,j);
          ResultTemperature=ResultTemperatureH+ResultTemperatureLH/100+ResultTemperatureLL/10000;
          ResultTemperature_2=ResultTemperatureH_2+ResultTemperatureLH_2/100+ResultTemperatureLL_2/10000;
          Temperaturefromtwo=ResultTemperature_2-ResultTemperature;
          OilPercentage=1.6939-0.9260/Temperaturefromtwo;
          }
          }

          上一頁 1 2 3 下一頁

          關(guān)鍵詞: msp430單片機ds18b2

          評論


          技術(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); })();