中文字幕无码不卡一区二区三区_少妇被又大又粗又爽毛片久久黑人_91精品国产在热久久无毒不卡_久久久久久亚洲综合网站

技術(shù)熱線: 4007-888-234

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

從全面的產(chǎn)品導(dǎo)入到強大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

技術(shù)支持

PIC16C711 單片機 AD 分辨率

更新時間: 2019-03-22

摘要:單片機方案開發(fā)深圳英銳恩為您介紹一種將PIC16C711單片機片內(nèi)8位A/D提高到11位的方法。此方法電路簡單,速度快,可提高單片機應(yīng)用系統(tǒng)的性能價格比,具有一定的推廣價值。
   
  關(guān)鍵詞:PIC16C711 單片機 A/D 分辨率
   
  目前,單片機中嵌入的A/D一般為8位到10位,難以滿足信號處理應(yīng)用中高分辨率的要求;而外接高分辨率的A/D將使成本明顯提高,因為A/D轉(zhuǎn)換器的價格將隨其位數(shù)的增加而成倍增加。本文介紹一種提高PIC16C711單片機片內(nèi)A/D分辨率的方法,將PIC16C711片內(nèi)的8位A/D提高到11位。這種方法在PIC系列的其他單片機也適用。
   
  美國Microchip公司推出的8位單片機PIC16C711是一種性能價格比很高的單片機。它價格低、封裝小、采用CMOS工藝,具有OTP型,開發(fā)起來很方便。它內(nèi)含4路8位高速A/D,將它擴展到11位后,可以大大提高單片機應(yīng)用系統(tǒng)的性能價格比。
    

 一、硬件電路
   
  實現(xiàn)擴展的原理圖如圖1所示。8個等值的精密電阻R將0~5V基準(zhǔn)電壓分割成8檔,每檔范圍為0.625V。8個抽頭分別接CD4051八選一模擬開關(guān)的8個輸入端,通道選擇控制端C,B,A分別由PIC16C711單片機的RB2,RB1,RB0控制。IC2和IC3為高輸入阻抗運放,IC2構(gòu)成跟隨器,IC3構(gòu)成精密差分放大器。 

 二、工作原理
   
  實現(xiàn)11位A/D轉(zhuǎn)換由PIC16C711做2次8位A/D轉(zhuǎn)換完成。PIC16C711有4個模擬量輸入通道RA0~RA3,這些模擬量輸入通道復(fù)用1個采樣保持器進入到A/D轉(zhuǎn)換器。參考電壓Vref可以來自外部也可以來自內(nèi)部VDD,A/D轉(zhuǎn)換器屬于逐次逼近式,轉(zhuǎn)換結(jié)果(8位)存入ADRES寄存器。在A/D轉(zhuǎn)換前必然選擇適當(dāng)?shù)耐ǖ?,設(shè)置足夠的采樣時間。用戶可以通過設(shè)置A/D控制寄存器ADCON0和ADCON1來控制其轉(zhuǎn)換過程,同時A/D轉(zhuǎn)換的狀態(tài)也會在ADCON0中體現(xiàn)出來。
   
  先將待轉(zhuǎn)換的電壓Vi送到PIC16C711的RA0通道做一次A/D轉(zhuǎn)換。根據(jù)轉(zhuǎn)換所得的數(shù)字量由軟件算出Vi在8檔中位置,用Vi減去Vi所在檔的起始電壓。將所得差值放大8位,使之變?yōu)?~5V電壓信號,再送給PIC16C711的RA1通道做1次A/D轉(zhuǎn)換,所得數(shù)字量是11位AD轉(zhuǎn)換的低8位,而檔位CBA就是高3位,從而實現(xiàn)11位A/D轉(zhuǎn)換。
 

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

三、程序
   
  以下是使用PIC16C711指令系統(tǒng)完成11位A/D轉(zhuǎn)換的程序段。
   
  BSF STATUS,RP0;選頁面1
MOVLW 00000010B ;RA0、RA1為模擬通道
MOVWF ADCON1 ;內(nèi)部參考電壓
BCF STATUS,RP0 ;選頁面0
MOVLW 11000001B ;選RA0通道和內(nèi)部時鐘
MOVWF ADCON0
MOVLW .125 ;延時125μs,等待輸入
CALL WAIT ;穩(wěn)定
BSF ADCON0,GO ;啟動A/D
LOOP BTFSC ADCON0,GO ;判斷A/D完成否
GOTO LOOP
MOVF ADRES,W ;取轉(zhuǎn)換結(jié)果
ANDLW 0E0 ;屏蔽低5位
MOVWF D1 ;存入D1
BCF STATUS,C
RRF D1,1 ;右移5次
RRF D1,1
RRF D1,1
RRF D1,1
RRF D1,1
MOVF D1,W

MOVWF PORTB ;檔位輸出
MOVLW 11001001B ;選RA1通道
MOVWF ADCON0
MOVLW .60 ;延時60μs
CALL WAIT
BSF ADCON0,GO ;啟動A/D
LOOP1 BTFSC ADCON0,GO ;判斷A/D完成否
GOTO LOOP1
MOVF ADRES,W ;A/D轉(zhuǎn)換結(jié)果存D0
MOVWF D0
WAIT MOVWF TEMP ;延時子程序
NEXT DECFSZ TEMP,1
GOTO NEXT
RETURN

用這種方法實現(xiàn)的11位A/D轉(zhuǎn)換速度快PIC16C711基本上都是單周期指令,在4MHz振蕩頻率下指令周期1μs,進行1次A/D轉(zhuǎn)換最短時間20μs;2次A/D轉(zhuǎn)換40μs;2個運放變換時間20μs×2=40μs??偟霓D(zhuǎn)換時間為百μs級。
   
  本文介紹的方法電路簡單,速度快,調(diào)試方便,已用于我們研制的單片機電阻爐溫自動控制系統(tǒng)中,取得了預(yù)期的效果。對于其他帶8位、10位A/D的單片機稍加改動均可使用,具有推廣價值。

404
返回首頁 |  返回上一頁
浮梁县| 宜城市| 乳源| 开平市| 阿鲁科尔沁旗| 彭山县| 内江市| 延安市| 琼海市| 得荣县| 二连浩特市| 榆社县| 页游| 建始县| 苍溪县| 扶余县| 合川市| 桓台县| 吉安县| 恩平市| 赞皇县| 太康县| 玛多县| 长阳| 南川市| 原平市| 全南县| 信阳市| 宜兰县| 枝江市| 共和县| 万宁市| 淮南市| 松阳县| 马鞍山市| 红安县| 股票| 昌都县| 富源县| 沙坪坝区| 泾源县|