PIC系列單片機(jī)數(shù)據(jù)存儲(chǔ)器的特點(diǎn)和功能
DEMO 877ASM
List P=16F877
org 0x00 ;復(fù)位向量
NOP ;空操作
Start Banksel PORTC ;選擇PORTC所在
;數(shù)據(jù)存儲(chǔ)器的存儲(chǔ)
;體(實(shí)為Bank0)
CLRF PORTC ;對(duì)RC口清零
MOVLW B′01000001′ ;A/D轉(zhuǎn)換時(shí)鐘選
;擇FOSC/8,打開(kāi)
; A/D轉(zhuǎn)換器
MOVWF ADCON0 ;設(shè)定了A/D轉(zhuǎn)換
;操作部分參數(shù)
Banksel OPTION_REG ;選擇OPTION所在
;數(shù)據(jù)存儲(chǔ)器的存儲(chǔ) ;體(實(shí)為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 ;模擬基準(zhǔn)電壓
VREF為芯片電源電壓,選擇通道1(RA1/AN1)完成
main …
要閱讀上述的指令,讀者還需了解以下必要的補(bǔ)充知識(shí)。
(1)關(guān)于用PIC16F877單片機(jī)作A/D轉(zhuǎn)換器。PIC16F877單片機(jī)是具有多通道模擬量輸入的8位A/D轉(zhuǎn)換器。上述的源程序是利用該P(yáng)IC產(chǎn)品作A/D轉(zhuǎn)換的一種實(shí)驗(yàn)程序,其實(shí)驗(yàn)?zāi)康氖怯肞IC16F877單片機(jī)來(lái)實(shí)現(xiàn)一個(gè)通道的8位A/D轉(zhuǎn)換,并將轉(zhuǎn)換結(jié)果以二進(jìn)制形式經(jīng)RC口輸出再由LED顯示。實(shí)驗(yàn)的電路原理如附圖(筆者根據(jù)源程序而繪出的PIC16F877A/D轉(zhuǎn)換硬件電路圖)所示。
(2)編制與A/D轉(zhuǎn)換器有關(guān)的專(zhuān)用寄存器指令。要讀懂上述的源程序,應(yīng)根據(jù)以下的線(xiàn)索:1)把握源程序的編寫(xiě)慣例;2)選擇RC口和對(duì)它清零;3)給A/D控制寄存器ADCON0的各位置數(shù),達(dá)到A/D轉(zhuǎn)換時(shí)選擇A/D位的采樣時(shí)間,即注釋中的A/D時(shí)鐘選擇;4)選擇專(zhuān)用寄存器Option并給它各位置數(shù),達(dá)到選擇預(yù)分頻器TMR0和確定其分頻率(1∶256);5)設(shè)定RC口為輸出,以保證LED顯示;6)給A/D控制器ADCON1的各位置數(shù),以確定PIC16F877單片機(jī)的RA1口為模擬量的輸入通道。并選中芯片電源作基準(zhǔn)電壓。讀者若需深入了解A/D控制寄存器ADCON0和ADCON1的各位詳細(xì)功能,請(qǐng)參看有關(guān)PIC單片機(jī)書(shū)籍的詳細(xì)介紹。
A/D轉(zhuǎn)換的主程序(main)約有13條,將在本版PIC系列專(zhuān)題的后期結(jié)合實(shí)驗(yàn)板的編程器介紹。PIC系列單片機(jī)的其它專(zhuān)用寄存器,如TRISA、STATUS Bank等,本報(bào)在前幾期有關(guān)PIC單片機(jī)的文中均已介紹過(guò)。
評(píng)論