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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC16F873的A/D轉(zhuǎn)換程序

          PIC16F873的A/D轉(zhuǎn)換程序

          作者: 時(shí)間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
          PIC16F873A/D轉(zhuǎn)換程序

          ;用于PIC16F873的A/D測試程序,實(shí)現(xiàn)如下功能:
          ;(1)應(yīng)用RA0/AN0作為此A/D轉(zhuǎn)換輸入信道;
          ;(2)參考電壓源VREF選擇內(nèi)部VDD和VSS;
          ;(3)A/D轉(zhuǎn)換時(shí)鐘源選用4MHz振蕩器;
          ;(4)八位數(shù)據(jù)精度,并將AD結(jié)果寫入C口。

          本文引用地址:http://www.ex-cimer.com/article/201611/316233.htm

          ;8L8ADSY.ASM A/D轉(zhuǎn)換
          list p=16f873
          INCLUDE "P16F873.INC"

          ORG 0x000
          MAIN
          NOP
          BANKSEL ADCON1 ;選擇RAM數(shù)據(jù)存儲(chǔ)器體1,等價(jià)于BSF STATUS,RP0
          MOVLW B00000000 ;選定RA5/AN4為模擬輸入,結(jié)果格式為左對(duì)齊
          MOVWF ADCON1 ;參考電壓源VREF選擇內(nèi)部VDD和VSS
          CLRF TRISC ;設(shè)C口為輸出
          BANKSEL ADCON0 ;選擇RAM數(shù)據(jù)存儲(chǔ)器體0,等于BCF STATUS,RP0
          MOVLW B01100001 ;設(shè)置時(shí)鐘源8Tosc,使能ADC,AN0信道被選中
          MOVWF ADCON0
          CLRF PORTC ;對(duì)C口清0

          AtoD
          NOP ;為了保證采樣時(shí)間,通常,應(yīng)該插入20us以上的
          NOP ;時(shí)間延遲或者安排一段有相當(dāng)長度的應(yīng)用程序。
          BSF ADCON0,GO ;GO位置1,開始A/D轉(zhuǎn)換
          ADWAIT
          BTFSC ADCON0,GO ;在A/D轉(zhuǎn)換完成后,GO位將被清0
          GOTO ADWAIT ;如果沒有轉(zhuǎn)換完畢,則返回繼續(xù)檢測
          MOVF ADRESH,W ;如果轉(zhuǎn)換完畢,把A/D結(jié)果讀入W中
          MOVWF PORTC ;將AD結(jié)果寫入C口
          GOTO AtoD ;循環(huán)進(jìn)行A/D轉(zhuǎn)換
          END



          關(guān)鍵詞: PIC16F873AD轉(zhuǎn)

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