新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC16C6X單片機選擇存儲體0或1的方法

        PIC16C6X單片機選擇存儲體0或1的方法

        作者: 時間:2016-11-13 來源:網絡 收藏
        PIC單片機中級產品PIC16C6X的數據存儲器通常分為兩個存儲體,即存儲體0(Bank0)和存儲體1(Bank1)。每個存儲體都是由專用寄存器和通用寄存器兩部分組成的。兩個存儲體中的一些寄存器單元實際上是同一個寄存器單元,卻又具備有不同的地址。例如本版介紹的PIC16F84的狀態寄存器 STATUS-Reg的兩個地址是03H和83H。又如通用寄存器也是如此。
          不同型號的PIC單片機,其數據存儲器的組成(即功能)是不完全相同的,所以設計人員一旦選用了某個PIC單片機的型號后,常要查找該單片機的數據存儲器資料,以便編程用。
          筆者以PIC16F84在MPLAB集成開發軟件的環境下編寫的源程序中,有關RB口(RB7、RB6…RB0)初始化為例,說明選用存儲體0或1的方法如下:
          程序清單
          file:PIC01?盇SM
          List P=16F84
         ?。nclude P16F84.inc
          STATUS EQU 03H
          RB   EQU 06H
          TRISB EQU 86H
          ORG  0x00 ;復位向量(PIC16F84)
          GOTO MAIN ;轉至主程序開始處
          ORG  0x08 ;從地址08H開始存放程序
          MAIN
          CLRF  PORTB ;初始化
          BSF  STATUS,5 ;RP0置1,選中Bank1
                   ;以便設置寄存器TRISB
          MOVLW 0x0F  ;初始化數據00001111B
          MOVWF TRISB   ;RB口D3~D0為輸入;
          …      ;D7~D4為輸出
          以上實例說明:源程序中的寄存器TRISB是在16F84數據存儲器的存儲體1(Bank1)中,所以利用編程達到選擇TRISB的目的。


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 瑞安市| 正定县| 宜良县| 桓仁| 双柏县| 农安县| 高陵县| 灵丘县| 武功县| 永仁县| 满城县| 杭锦后旗| 天门市| 亳州市| 东明县| 蛟河市| 吉木萨尔县| 皮山县| 巴南区| 民县| 苏尼特右旗| 竹溪县| 扎鲁特旗| 静宁县| 合肥市| 康马县| 绥化市| 阜康市| 靖安县| 博湖县| 乌拉特后旗| 彭阳县| 襄汾县| 梁平县| 九龙城区| 锡林浩特市| 皮山县| 肃南| 绥滨县| 东港市| 阿荣旗|