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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ADS1212和51單片機(jī)實(shí)現(xiàn)高精度數(shù)據(jù)采集設(shè)計(jì)

          ADS1212和51單片機(jī)實(shí)現(xiàn)高精度數(shù)據(jù)采集設(shè)計(jì)

          作者: 時(shí)間:2011-12-12 來源:網(wǎng)絡(luò) 收藏

          SPR0,SPR1是SPI時(shí)鐘頻率選擇位,控制SPI時(shí)鐘為單片機(jī)時(shí)鐘的幾分頻,如表1所示:

          SPI接口初始化程序如下所示:


          2.2 A/D程序
          內(nèi)部有5種功能寄存器。其中,指令寄存器(INSR)和命令寄存器(CMR)用于控制轉(zhuǎn)換器的操作。數(shù)據(jù)輸出寄存器(DOR)用于存放最新的轉(zhuǎn)換結(jié)果。零點(diǎn)校準(zhǔn)寄存器(OCR)和滿量程寄存器(FCR)用于對轉(zhuǎn)換結(jié)果進(jìn)行校準(zhǔn)。
          指令寄存器INSR是一個(gè)8位寄存器,對的每一步操作都是從它開始的。具體格式如下:

          R/W是讀寫控制位;“1”為讀操作,“0”為寫操作。
          MB1MB0是欲讀寫的字節(jié)數(shù)?!?0”~“11”對應(yīng)“1”~“4”;
          A3~A0是欲讀寫寄存器的地址。
          命令寄存器CMR是一個(gè)32位寄存器,通過對它的操作可以設(shè)置的各種工作模式,格式如下:

          采樣精度同增益和加速因子的設(shè)置都有關(guān)系,具體如表3所示。這里需要指出的是。不能同時(shí)追求采樣速度和采樣精度,只有選取合適的速度和精度才能體現(xiàn)出該芯片的優(yōu)勢。

          注:G=1,fXIN=1 MHz(fXIN是外部晶體振蕩囂頻率)
          零點(diǎn)校準(zhǔn)寄存器(OCR)和滿量程寄存器(FCR)用于對轉(zhuǎn)換結(jié)果進(jìn)行校準(zhǔn)。它們都是24位寄存器,可以在初始化中對其寫入,以便用于校準(zhǔn)輸出數(shù)據(jù)。
          程序的流程圖如圖2所示。

          如下是程序的部分片段:


          數(shù)據(jù)輸出寄存器DOR為24位寄存器,用于存放最新的轉(zhuǎn)換結(jié)果。只有在DRDY信號(hào)為低時(shí),DOR中的數(shù)據(jù)才有效。如果在(1/fDATA)-12 (1/fXIN)時(shí)間內(nèi)沒有讀出DOR中的數(shù)據(jù),則它將會(huì)被新的數(shù)據(jù)所覆蓋。DOR中輸出的數(shù)據(jù)格式可以用補(bǔ)碼形式表示,如 “FFFFFFH~000000H~7FFFFFH”,表示“負(fù)最大量程~0~正最大量程”;也可以用原碼形式表示,如 “000000H~800000H~FFFFFFH”,表示“負(fù)最大量程~0~正最大量程”,這可用設(shè)置CMR3的DF位來實(shí)現(xiàn)。

          3 結(jié) 語
          采用ADS1212與SST89E564RD完成的處理系統(tǒng)采集速度快,精度高,還能將數(shù)據(jù)及時(shí)通過串口發(fā)送給上位機(jī)程序,且外圍電路簡單。因此,能用于較為復(fù)雜的系統(tǒng)開發(fā),非常適用于工業(yè)控制、自動(dòng)測試、儀器儀表、遠(yuǎn)程通信等領(lǐng)域的數(shù)據(jù)采集與傳輸。


          上一頁 1 2 下一頁

          評(píng)論


          相關(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); })();