新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PIC16C6X單片機選擇存儲體0或1的方法

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

作者: 時間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
PIC單片機中級產(chǎn)品PIC16C6X的數(shù)據(jù)存儲器通常分為兩個存儲體,即存儲體0(Bank0)和存儲體1(Bank1)。每個存儲體都是由專用寄存器和通用寄存器兩部分組成的。兩個存儲體中的一些寄存器單元實際上是同一個寄存器單元,卻又具備有不同的地址。例如本版介紹的PIC16F84的狀態(tài)寄存器 STATUS-Reg的兩個地址是03H和83H。又如通用寄存器也是如此。
  不同型號的PIC單片機,其數(shù)據(jù)存儲器的組成(即功能)是不完全相同的,所以設(shè)計人員一旦選用了某個PIC單片機的型號后,常要查找該單片機的數(shù)據(jù)存儲器資料,以便編程用。
  筆者以PIC16F84在MPLAB集成開發(fā)軟件的環(huán)境下編寫的源程序中,有關(guān)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 ;復(fù)位向量(PIC16F84)
  GOTO MAIN ;轉(zhuǎn)至主程序開始處
  ORG  0x08 ;從地址08H開始存放程序
  MAIN
  CLRF  PORTB ;初始化
  BSF  STATUS,5 ;RP0置1,選中Bank1
           ;以便設(shè)置寄存器TRISB
  MOVLW 0x0F  ;初始化數(shù)據(jù)00001111B
  MOVWF TRISB   ;RB口D3~D0為輸入;
  …      ;D7~D4為輸出
  以上實例說明:源程序中的寄存器TRISB是在16F84數(shù)據(jù)存儲器的存儲體1(Bank1)中,所以利用編程達(dá)到選擇TRISB的目的。


關(guān)鍵詞: PIC16C6X單片機存儲

評論


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

關(guān)閉