PIC系列單片機數據存儲器的特點(diǎn)和功能
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 …
要閱讀上述的指令,讀者還需了解以下必要的補充知識。
(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顯示。實(shí)驗的電路原理如附圖(筆者根據源程序而繪出的PIC16F877A/D轉換硬件電路圖)所示。
(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口為模擬量的輸入通道。并選中芯片電源作基準電壓。讀者若需深入了解A/D控制寄存器ADCON0和ADCON1的各位詳細功能,請參看有關(guān)PIC單片機書(shū)籍的詳細介紹。
A/D轉換的主程序(main)約有13條,將在本版PIC系列專(zhuān)題的后期結合實(shí)驗板的編程器介紹。PIC系列單片機的其它專(zhuān)用寄存器,如TRISA、STATUS Bank等,本報在前幾期有關(guān)PIC單片機的文中均已介紹過(guò)。
評論