博客專欄

EEPW首頁 > 博客 > 詳解PIC系列單片機數(shù)據(jù)存儲器轉(zhuǎn)換寄存器的指令

詳解PIC系列單片機數(shù)據(jù)存儲器轉(zhuǎn)換寄存器的指令

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

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

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

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

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

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

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

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

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

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


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。




技術(shù)專區(qū)

關(guān)閉