詳解PIC系列單片機數據存儲器轉換寄存器的指令
A/D轉換寄存器 這里摘錄一段筆者從網(wǎng)上下載的用PIC16F877單片機芯片(帶Flash存儲器的)完成有關(guān)A/D轉換的源程序部分指令,并用它說(shuō)明有關(guān)A/D轉換寄存器在指令中的用法。
這里先引用部分源程序,源程序中的注釋是筆者按照指令在程序中的作用所加的注釋(不是某條指令的直接功能),這是初學(xué)者讀以下指令時(shí)應注意的。A/D轉換器部分源程序清單如下:
DEMO 877ASM
List P=16F877
org 0x00 ;復位向量
NOP ;空操作
Start Banksel PORTC??;選擇PORTC所在
;數據存儲器的存儲
;體(實(shí)為Bank0)
CLRF PORTC ;對RC口清零
MOVLW B′01000001′ ;A/D轉換時(shí)鐘選
;擇FOSC/8,打開(kāi)
; A/D轉換器
MOVWF ADCON0 ;設定了A/D轉換
;操作部分參數
Banksel OPTION_REG ;選擇OPTION所在
;數據存儲器的存儲
;體(實(shí)為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 …
要閱讀上述的指令,讀者還需了解以下幾點(diǎn)補充知識:
(1)關(guān)于用PIC16F877單片機作A/D轉換器。PIC16F877單片機是具有多通道模擬量輸入的8位A/D轉換器。上述的源程序是利用該PIC產(chǎn)品作A/D轉換的一種實(shí)驗程序,其實(shí)驗目的是用PIC16F877單片機來(lái)實(shí)現一個(gè)通道的8位A/D轉換,并將轉換結果以二進(jìn)制形式經(jīng)RC口輸出再由LED顯示。
(2)編制與A/D轉換器有關(guān)的專(zhuān)用寄存器指令。要讀懂上述的源程序,應根據以下的線(xiàn)索:
1)把握源程序的編寫(xiě)慣例;
2)選擇RC口和對它清零;
3)給A/D控制寄存器ADCON0的各位置數,達到A/D轉換時(shí)選擇A/D位的采樣時(shí)間,即注釋中的A/D時(shí)鐘選擇;
4)選擇專(zhuān)用寄存器Option并給它各位置數,達到選擇預分頻器TMR0和確定其分頻率(1∶256);
5)設定RC口為輸出,以保證LED顯示;
6)給A/D控制器ADCON1的各位置數,以確定PIC16F877單片機的RA1口為模擬量的輸入通道。并選中芯片電源作基準電壓。
想要了解更多單片機的知識,可以登錄奧柯網(wǎng)站或者電話(huà)奧柯技術(shù)人員,免費獲得技術(shù)支持,期待您的來(lái)電!
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。