新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 將PIC16C711片內8位A/D提高到11位的方法

        將PIC16C711片內8位A/D提高到11位的方法

        作者: 時間:2009-08-07 來源:網絡 收藏
        三、程序

        本文引用地址:http://www.104case.com/article/188763.htm

          以下是使用16指令系統完成11位A/D轉換的程序段。

          BSF STATUS,RP0;選頁面1

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

          MOVWF ADCON1 ;內部參考電壓

          BCF STATUS,RP0 ;選頁面0

          MOVLW 11000001B ;選RA0通道和內部時鐘

          MOVWF ADCON0

          MOVLW .125 ;延時125μs,等待輸入

          CALL WAIT ;穩定

          BSF ADCON0,GO ;啟動A/D

          LOOP BTFSC ADCON0,GO ;判斷A/D完成否

          GOTO LOOP

          MOVF ADRES,W ;取轉換結果

          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轉換結果存D0

          MOVWF D0

          WAIT MOVWF TEMP ;延時子程序

          NEXT DECFSZ TEMP,1

          GOTO NEXT

          RETURN

          用這種方法實現的11位A/D轉換速度快16基本上都是單周期指令,在4MHz振蕩頻率下指令周期1μs,進行1次A/D轉換最短時間20μs;2次A/D轉換40μs;2個運放變換時間20μs×2=40μs。總的轉換時間為百μs級。

          本文介紹的方法電路簡單,速度快,調試方便,已用于我們研制的單片機電阻爐溫自動控制系統中,取得了預期的效果。對于其他帶8位、10位A/D的單片機稍加改動均可使用,具有推廣價值。


        上一頁 1 2 下一頁

        關鍵詞: C711 PIC 16C 711

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 三明市| 嘉黎县| 天长市| 奉新县| 黑河市| 扎囊县| 库伦旗| 安远县| 甘孜县| 新安县| 龙里县| 谢通门县| 通辽市| 泸水县| 托克托县| 东山县| 石台县| 大姚县| 株洲县| 郑州市| 磴口县| 赤峰市| 大厂| 赞皇县| 礼泉县| 固镇县| 余姚市| 萨迦县| 汤阴县| 佛坪县| 聊城市| 马山县| 迁安市| 崇义县| 林周县| 商洛市| 清水县| 保定市| 镇康县| 镇远县| 名山县|