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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 帶24位A/D轉換的51單片機MSC1210及其應用

          帶24位A/D轉換的51單片機MSC1210及其應用

          作者: 時間:2012-02-22 來源:網絡 收藏

          2 可編程增益放大器與參考電壓

          可編程增益放大器能設定增益為1、2、4、8、16、32、64、128 。使用可編程增益放大器能非常有效地改善結果。當5V為滿刻度時,設增益為1,則ADC可分辨出1uV;當40mV為滿刻度,增益為128時,可分辨 75nV。可見可編程增益放大器在改善分辨率上非常有用。寄存器ADCON0的低3位決定增益的大小。默認值是1。該寄存器同時也決定參考電壓的選擇,第5位為1將使能內部參考電壓發(fā)生器,第4位將決定參考電壓是2.5V還是1.5V。該寄存器默認值為30H,表示增益為1,使用內部2.5V 參考電壓。

          8.jpg

          結果將使用3個寄存器暫存:ADRESH(高字節(jié))、ADRESM(中字節(jié))、ADRESL(低字節(jié))。可以定時采樣,定時得到轉換結果。

          4 轉換舉例

          下面的程序將實現(xiàn)輸入通道1的正極性模擬轉換,并將轉換結果送顯示緩存顯示。
          void main(void)
          {
          PDCON = 0x0f7; //打開轉換器
          ACLK = 30; // 設置ACLK頻率
          ADCON0=0x30; //選擇片內參考電壓
          ADMUX=0x1; //選擇第一通道正極性
          while(1)
          {
          disbuffer[7] = (ADRESH>>4)0XF; //使用6只數碼管十六進制顯示轉換結果
          disbuffer[6]=ADRESH0XF;
          disbuffer[5] = (ADRESM>>4)0XF;
          disbuffer[4]=ADRESM0XF;
          disbuffer[3] = (ADRESL>>4)0XF;
          disbuffer[2]=ADRESL0XF;
          disp();
          }
          }

          總結

          通過實際運用,可以發(fā)現(xiàn)TI的帶轉換的51內核混合器件的確具有很高的性能、很高的集成度、很大的靈活性。尤其值得一提的是片內FLASH的靈活運用,省去了擴展數據存儲器需要的地址鎖存器與SRAM,以及大面積的印刷板空間;帶可編程增益放大的轉換器可以實現(xiàn)非常高精度的模數轉換。

          51單片機相關文章:51單片機教程


          單片機相關文章:單片機教程


          單片機相關文章:單片機視頻教程


          單片機相關文章:單片機工作原理


          存儲器相關文章:存儲器原理


          塵埃粒子計數器相關文章:塵埃粒子計數器原理

          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();