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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 提高PIC16C711單片機片內(nèi)A/D分辨率方法

          提高PIC16C711單片機片內(nèi)A/D分辨率方法

          作者: 時間:2008-11-21 來源:網(wǎng)絡 收藏

            二、工作原理

            實現(xiàn)11位A/D轉換由PIC16C711做2次8位A/D轉換完成。PIC16C711有4個模擬量輸入通道RA0~RA3,這些模擬量輸入通道復用1個采樣保持器進入到A/D轉換器。參考電壓可以來自外部也可以來自內(nèi)部VDD,A/D轉換器屬于逐次逼近式,轉換結果(8位)存入ADRES寄存器。在A/D轉換前必然選擇適當?shù)耐ǖ?設置足夠的采樣時間。用戶可以通過設置A/D控制寄存器ADCON0和ADCON1來控制其轉換過程,同時A/D轉換的狀態(tài)也會在ADCON0中體現(xiàn)出來。

            先將待轉換的電壓Vi送到PIC16C711的RA0通道做一次A/D轉換。根據(jù)轉換所得的數(shù)字量由軟件算出Vi在8檔中位置,用Vi減去Vi所在檔的起始電壓。將所得差值放大8位,使之變?yōu)?~5V電壓信號,再送給PIC16C711的RA1通道做1次A/D轉換,所得數(shù)字量是11位的低8位,而CBA就是高3位,從而實現(xiàn)11位A/D轉換。

            舉例說明如下:假設輸入電壓Vi為3V,程序控制PIC16C711的RA0通道先進行第1次A/D轉換,所得結果是153,即3/5255=153,對應8位數(shù)字量為10011001。將低5位屏蔽,得10000000,循環(huán)右移5次,得00000100,此時低3位對應的就是Vi=3V電壓時的,即第4檔,CBA=100,程序將該由RB2,RB1,RB0輸出,作為8選一模擬開關的通道選擇,使CD4051輸出2.5V,即5/84=2.5V。該電壓經(jīng)IC2跟隨,再經(jīng)IC3進行差分放大。設計時調(diào)整R11,R12,R13和R14的阻值,使放大倍數(shù)為8位,則得放大器IC3輸出Vo=8(Vi-2.5)=8(3-2.5)=4.0V。選擇RA1通道進行第2次A/D轉換,結果為11001100,這就是11位A/D轉換結果的低8位。檔位100為11位A/D轉換的高3位,合起來就是11位A/D轉換的結果10011001100。

            三、程序

            以下是使用PIC16C711指令系統(tǒng)完成11位A/D轉換的程序段。

            BSF STATUS,RP0;選頁面1

            MOVLW 00000010B ;RA0、RA1為模擬通道

             ADCON1 ;內(nèi)部參考電壓

            BCF STATUS,RP0 ;選頁面0



          評論


          相關推薦

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