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

          新聞中心

          ARM入門筆記(5)

          作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò) 收藏
          模擬量輸入

          ——A/D轉(zhuǎn)換實(shí)驗(yàn)

          一.目的

          通過(guò)A/D轉(zhuǎn)換,能夠正確讀取外部模擬輸入通道的電壓值。

          二.實(shí)驗(yàn)程序和參數(shù)設(shè)置

          1>連接器選項(xiàng)設(shè)置和啟動(dòng)代碼都與上個(gè)實(shí)驗(yàn)相同
          2>C語(yǔ)言的代碼

          #i nclude "AT91SAM7S64.h"
          #i nclude "Board.h"
          volatile unsigned int EXT_AD_Val[4]; //定義A/D轉(zhuǎn)換結(jié)果值
          int main(void)
          {unsigned char i;
          *AT91C_ADC_CR = AT91C_CKGR_MOSCEN; //ADC的軟件復(fù)位,即清除ADC的所有寄存器
          *AT91C_PMC_SCER = AT91C_CKGR_MOSCEN;//使能系統(tǒng)時(shí)鐘寄存器的處理器時(shí)鐘
          *AT91C_PMC_PCER = 1 91C_ID_ADC; //使能ADC時(shí)鐘
          *AT91C_PIOA_PDR = EXT_AD0 | EXT_AD1; //禁止管腳的I/O口功能,使作為模擬輸入功能
          *AT91C_ADC_MR= 0x0f1f3f00; //軟件起動(dòng),10位分辨率,128分頻
          *AT91C_ADC_CHER = 0x33; //使能通道0,1,4,5
          *AT91C_ADC_CHDR = 0xcc; //禁能通道2,3,6,7
          *AT91C_ADC_IDR= 0xfffff; //禁止所有ADC中斷
          while (1)
          { *AT91C_ADC_CR = 0x2; //起動(dòng)轉(zhuǎn)換
          while(1)
          { if ((*AT91C_ADC_SR) & 0x33)//等待轉(zhuǎn)換結(jié)束
          { EXT_AD_Val[0] = (*AT91C_ADC_CDR0) & 0x3ff;//讀取10Bit的結(jié)果值
          EXT_AD_Val[1] = (*AT91C_ADC_CDR1) & 0x3ff;
          EXT_AD_Val[2] = (*AT91C_ADC_CDR4) & 0x3ff;
          EXT_AD_Val[3] = (*AT91C_ADC_CDR5) & 0x3ff;
          for (i = 0; i
          break;
          }
          }
          }
          }

          三.總結(jié)

          執(zhí)行ADC的軟件復(fù)位,將清除ADC的所有相關(guān)寄存器,因此必須在設(shè)置ADC相關(guān)寄存器之前執(zhí)行。


          關(guān)鍵詞: ARM入門筆記模擬量輸

          評(píng)論


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