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

          新聞中心

          AD7705程序

          作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
          AD7705應(yīng)用注意要點(diǎn):
          (1)DRDY邏輯不要搞反,高電平時(shí)等待轉(zhuǎn)換狀態(tài),低電平為可以讀取轉(zhuǎn)換數(shù)據(jù)
          (2)系統(tǒng)校準(zhǔn)時(shí)輸入信號要大于所選量程的4/5,否則校準(zhǔn)不到32767。
          (3)校準(zhǔn)時(shí)要等待一定的時(shí)間,讀取數(shù)據(jù)也一樣,不能超過轉(zhuǎn)換速率。
          (4)一般的應(yīng)用只要內(nèi)部校準(zhǔn),這個(gè)很簡單,只要初始化就可以。如果測量范圍不是芯片的范圍,可以通過系統(tǒng)校準(zhǔn)來實(shí)現(xiàn),滿量程校準(zhǔn)電壓要大于量程的4/5

          #include
          #include
          #include"ad7705.h"
          #include"main.h"
          #include"crc16.h"
          #include"Usart.h"

          //針對四個(gè)量程的設(shè)置寄存器的設(shè)置內(nèi)容
          //(1)對于單極性V級別輸入0-5V、0-20mA、0-10V這三個(gè)量程,輸入范圍為0-2V,無極性,增益為1,緩沖模式--0-2V
          //(2)對于雙極性V級別輸入+-2.5V、+-5V這兩個(gè)量程,輸入范圍為+-1V,雙極性,增益為2,緩沖模式--+-2V
          //(3)對于雙精度mV級別輸入+-500mV,增益為4,雙極性,緩沖模式--+-2V
          //(4)對雙精度mV級別+-50mV,增益為32,雙極性,緩沖模式--+-1.6V
          //------MD1(0)MD0(0)G2(0)G1(0)G0(0)B/U(0)BUF(0)FSYNC(0)--------------------------//
          constunsignedchartext_of_setup[4]={0X04,0X08,0X10,0X28};//非緩沖模式,數(shù)字濾波同步
          //constunsignedchartext_of_setup[4]={0X06,0X0A,0X12,0X2A};//緩沖模式,數(shù)字濾波同步

          externvolatileunsignedcharcommand[7];//校準(zhǔn)命令全局?jǐn)?shù)組
          externvolatileunsignedcharscale;//記錄系統(tǒng)量程
          externvolatileunsignedcharNO_CALI_TYPE;//未校準(zhǔn)類型
          externvolatileunsignedlongintZS,GS;//當(dāng)前量程的校準(zhǔn)系數(shù)
          externvolatileunsignedchartime_count;//超時(shí)標(biāo)志

          //----------------------------------------------------------------------------
          //函數(shù):reset_AD7705
          //功能:AD7705串行接口失步后將其復(fù)位。復(fù)位后要延時(shí)500us再訪問
          //參數(shù):無
          //返回:無
          //變量:無
          //備注:無
          //----------------------------------------------------------------------------
          voidreset_AD7705(void)
          {
          unsignedchari;

          AD_DIN1;
          for(i=0;i<36;i++)
          {
          AD_CLK0;
          asm("nop");
          asm("nop");
          asm("nop");
          AD_CLK1;
          asm("nop");
          asm("nop");
          asm("nop");
          }

          _delay_ms(1);
          }

          //------------------------------------------------------------------------------------------
          //函數(shù):read_AD7705_byte
          //功能:從AD7705讀一個(gè)字節(jié)的數(shù)據(jù)
          //參數(shù):無
          //返回:讀到的一字節(jié)數(shù)據(jù)
          //變量:無
          //備注:無
          //------------------------------------------------------------------------------------------
          unsignedcharread_AD7705_byte(void)
          {
          unsignedchardata=0;
          unsignedchari=0;

          for(i=0;i<8;i++)
          {
          data<<=1;
          AD_CLK0;
          asm("nop");
          asm("nop");
          asm("nop");
          if(AD_DOUT)
          {
          data++;
          }
          AD_CLK1;
          asm("nop");
          asm("nop");
          asm("nop");
          }

          returndata;
          }

          //------------------------------------------------------------------------------------------
          //函數(shù):read_AD7705_word
          //功能:從AD7705讀一個(gè)字的數(shù)據(jù),共16bit
          //參數(shù):無
          //返回:讀到的一字節(jié)數(shù)據(jù)
          //變量:無
          //備注:無
          //------------------------------------------------------------------------------------------
          unsignedintread_AD7705_word(void)
          {
          unsignedintdata=0;
          unsignedchari=0;

          for(i=0;i<16;i++)
          {
          data<<=1;
          AD_CLK0;
          asm("nop");
          asm("nop");
          asm("nop");
          if(AD_DOUT)
          {
          data++;
          }
          AD_CLK1;
          asm("nop");
          asm("nop");
          asm("nop");
          }

          returndata;
          }


          //------------------------------------------------------------------------------------------
          //函數(shù):read_AD7705_dword
          //功能:從AD7705讀一個(gè)24的數(shù)據(jù)
          //參數(shù):無
          //返回:讀到的一字節(jié)數(shù)據(jù)
          //變量:無
          //備注:AD7705是一個(gè)24位AD,選定刷新頻率在16.7HZ下,有效位是19位,暫時(shí)讀出全部24位數(shù)據(jù)
          //------------------------------------------------------------------------------------------
          unsignedlongintread_AD7705_dword(void)
          {
          unsignedlongdata=0;
          unsignedchari=0;

          for(i=0;i<24;i++)
          {
          data<<=1;
          AD_CLK0;
          asm("nop");
          asm("nop");
          asm("nop");
          if(AD_DOUT)
          {
          data++;
          }
          AD_CLK1;
          asm("nop");
          asm("nop");
          asm("nop");
          }

          returndata;
          }


          //------------------------------------------------------------------------------------------
          //函數(shù):write_AD7705_byte
          //功能:往AD7705寫8位數(shù)據(jù)
          //參數(shù):IN-uint8_tdata,要寫入AD7705的數(shù)據(jù)
          //返回:無
          //變量:無
          //備注:無
          //------------------------------------------------------------------------------------------
          voidwrite_AD7705_byte(unsignedchardata)
          {
          for(unsignedchari=0;i<8;i++)
          {
          AD_CLK0;
          if(data&0x80)
          AD_DIN1;
          else
          AD_DIN0;
          asm("nop");
          asm("nop");
          asm("nop");
          AD_CLK1;
          asm("nop");
          asm("nop");
          asm("nop");
          data<<=1;
          }

          AD_DIN1;
          }

          //------------------------------------------------------------------------------------------
          //函數(shù):write_AD7705_dword
          //功能:往AD7705寫24位數(shù)據(jù),因?yàn)锳D7705是24位的器件
          //參數(shù):IN-int32_tdata,要寫入AD7705的數(shù)據(jù)
          //返回:無
          //變量:無
          //備注:無
          //------------------------------------------------------------------------------------------
          voidwrite_AD7705_dword(unsignedlongintdata)
          {
          for(unsignedchari=0;i<24;i++)
          {
          AD_CLK0;
          if(data&0x800000)
          AD_DIN1;
          else
          AD_DIN0;
          asm("nop");
          asm("nop");
          asm("nop");
          AD_CLK1;
          asm("nop");
          asm("nop");
          asm("nop");
          data<<=1;
          }

          AD_DIN1;
          }

          上一頁 1 2 下一頁

          關(guān)鍵詞: AD7705轉(zhuǎn)換數(shù)

          評論


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