新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PIC系列單片機數(shù)據(jù)存儲器的特點和功能

        PIC系列單片機數(shù)據(jù)存儲器的特點和功能

        作者: 時間:2013-09-09 來源:網(wǎng)絡(luò) 收藏

        DEMO 877ASM
        List P=16F877
        org   0x00    ;復(fù)位向量
        NOP        ;空操作
        Start Banksel PORTC   ;選擇PORTC所在
        的存儲
        ;體(實為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所在
        的存儲            ;體(實為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 …

        要閱讀上述的指令,讀者還需了解以下必要的補充知識。
        (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顯示。實驗的電路原理如附圖(筆者根據(jù)源程序而繪出的PIC16F877A/D轉(zhuǎn)換硬件電路圖)所示。

        (2)編制與A/D轉(zhuǎn)換器有關(guān)的專用寄存器指令。要讀懂上述的源程序,應(yīng)根據(jù)以下的線索:1)把握源程序的編寫慣例;2)選擇RC口和對它清零;3)給A/D控制寄存器ADCON0的各位置數(shù),達(dá)到A/D轉(zhuǎn)換時選擇A/D位的采樣時間,即注釋中的A/D時鐘選擇;4)選擇專用寄存器Option并給它各位置數(shù),達(dá)到選擇預(yù)分頻器TMR0和確定其分頻率(1∶256);5)設(shè)定RC口為輸出,以保證LED顯示;6)給A/D控制器ADCON1的各位置數(shù),以確定PIC16F877單片機的RA1口為模擬量的輸入通道。并選中芯片電源作基準(zhǔn)電壓。讀者若需深入了解A/D控制寄存器ADCON0和ADCON1的各位詳細(xì)功能,請參看有關(guān)PIC單片機書籍的詳細(xì)介紹。
        A/D轉(zhuǎn)換的主程序(main)約有13條,將在本版專題的后期結(jié)合實驗板的編程器介紹。單片機的其它專用寄存器,如TRISA、STATUS Bank等,本報在前幾期有關(guān)PIC單片機的文中均已介紹過。


        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 商都县| 安福县| 宁津县| 四子王旗| 边坝县| 徐汇区| 万年县| 弋阳县| 依兰县| 涪陵区| 隆回县| 慈溪市| 徐水县| 霍城县| 黄冈市| 普陀区| 阿克苏市| 思南县| 东宁县| 武穴市| 深泽县| 潢川县| 濮阳县| 阳原县| 临高县| 石屏县| 荃湾区| 双城市| 嘉祥县| 平度市| 江门市| 从江县| 天峨县| 海原县| 吉隆县| 西安市| 延安市| 潮州市| 额尔古纳市| 贵南县| 琼海市|