博客專欄

        EEPW首頁 > 博客 > 詳解PIC系列單片機數據存儲器轉換寄存器的指令

        詳解PIC系列單片機數據存儲器轉換寄存器的指令

        發布人:shijiaoke8 時間:2023-06-25 來源:工程師 發布文章

        A/D轉換寄存器 這里摘錄一段筆者從網上下載的用PIC16F877單片機芯片(帶Flash存儲器的)完成有關A/D轉換的源程序部分指令,并用它說明有關A/D轉換寄存器在指令中的用法。

               這里先引用部分源程序,源程序中的注釋是筆者按照指令在程序中的作用所加的注釋(不是某條指令的直接功能),這是初學者讀以下指令時應注意的。A/D轉換器部分源程序清單如下:
          DEMO 877ASM
          List P=16F877
          org   0x00        ;復位向量
          NOP            ;空操作
              Start Banksel  PORTC??;選擇PORTC所在
                         ;數據存儲器的存儲
                         ;體(實為Bank0)
          CLRF     PORTC        ;對RC口清零
          MOVLW B′01000001′   ;A/D轉換時鐘選
                          ;擇FOSC/8,打開
                          ; A/D轉換器
          MOVWF ADCON0      ;設定了A/D轉換
                          ;操作部分參數
          Banksel  OPTION_REG  ;選擇OPTION所在
                          ;數據存儲器的存儲             

                                                    ;體(實為Bank1)
          MOVLW B′10000111′   ;設置預分頻器TM
                          ; R0,分頻率1∶256
          MOVWF OPTION     ;完成上條指令設置
          CLRF  TRISC           ;設定RC口(8位)
                          ;為輸出
          MOVLW B′0001110′   ;選中模擬量通道1
                          ;(RA1/AN1)
          MOVWF ADCON1      ;模擬基準電壓
               VREF為芯片電源電壓,選擇通道1(RA1/AN1)完成main …
          要閱讀上述的指令,讀者還需了解以下幾點補充知識:
          (1)關于用PIC16F877單片機作A/D轉換器。PIC16F877單片機是具有多通道模擬量輸入的8位A/D轉換器。上述的源程序是利用該PIC產品作A/D轉換的一種實驗程序,其實驗目的是用PIC16F877單片機來實現一個通道的8位A/D轉換,并將轉換結果以二進制形式經RC口輸出再由LED顯示。
          (2)編制與A/D轉換器有關的專用寄存器指令。要讀懂上述的源程序,應根據以下的線索:

                1)把握源程序的編寫慣例;

                2)選擇RC口和對它清零;

                3)給A/D控制寄存器ADCON0的各位置數,達到A/D轉換時選擇A/D位的采樣時間,即注釋中的A/D時鐘選擇; 

                4)選擇專用寄存器Option并給它各位置數,達到選擇預分頻器TMR0和確定其分頻率(1∶256);

                5)設定RC口為輸出,以保證LED顯示;

                6)給A/D控制器ADCON1的各位置數,以確定PIC16F877單片機的RA1口為模擬量的輸入通道。并選中芯片電源作基準電壓。
              想要了解更多單片機的知識,可以登錄奧柯網站或者電話奧柯技術人員,免費獲得技術支持,期待您的來電!


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。




        技術專區

        關閉
        主站蜘蛛池模板: 新郑市| 伊吾县| 黎平县| 融水| 佛冈县| 奉化市| 乌恰县| 汕尾市| 石河子市| 汨罗市| 浦北县| 万源市| 和政县| 家居| 汾西县| 乐陵市| 普陀区| 肇东市| 栾城县| 思茅市| 巴东县| 伊川县| 泊头市| 会泽县| 平邑县| 长子县| 乐至县| 湘乡市| 建德市| 卓尼县| 建瓯市| 张北县| 奉新县| 临夏县| 武乡县| 江西省| 马山县| 达州市| 司法| 台中县| 芷江|