新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)存儲(chǔ)體0或1的選用說(shuō)明(程序)

PIC單片機(jī)存儲(chǔ)體0或1的選用說(shuō)明(程序)

作者: 時(shí)間:2011-08-13 來(lái)源:網(wǎng)絡(luò) 收藏

  中級(jí)產(chǎn)品PIC16C6X的數(shù)據(jù)存儲(chǔ)器通常分為兩個(gè),即0(Bank0)和1(Bank1)。每個(gè)存儲(chǔ)體都是由專用寄存器和通用寄存器兩部分組成的。兩個(gè)存儲(chǔ)體中的一些寄存器單元實(shí)際上是同一個(gè)寄存器單元,卻又具備有不同的地址。例如本版介紹的PIC16F84的狀態(tài)寄存器STATUS-Reg的兩個(gè)地址是03H和83H。又如通用寄存器也是如此。

  不同型號(hào)的,其數(shù)據(jù)存儲(chǔ)器的組成(即功能)是不完全相同的,所以設(shè)計(jì)人員一旦選用了某個(gè)的型號(hào)后,常要查找該單片機(jī)的數(shù)據(jù)存儲(chǔ)器資料,以便編程用。

  筆者以PIC16F84在MPLAB集成開(kāi)發(fā)軟件的環(huán)境下編寫的源程序中,有關(guān)RB口(RB7、RB6…RB0)初始化為例,說(shuō)明選用存儲(chǔ)體0或1的方法如下:

  程序清單

  file:PIC01?ASM

  List P=16F84

  #include P16F84.inc

  STATUS EQU 03H

  RB   EQU 06H

  TRISB EQU 86H

  ORG  0x00 ;復(fù)位向量(PIC16F84)

  GOTO MAIN ;轉(zhuǎn)至主程序開(kāi)始處

  ORG  0x08 ;從地址08H開(kāi)始存放程序

  MAIN

  CLRF  PORTB ;初始化

  BSF  STATUS,5 ;RP0置1,選中Bank1

  ;以便設(shè)置寄存器TRISB

  MOVLW 0x0F  ;初始化數(shù)據(jù)00001111B

  MOVWF TRISB   ;RB口D3~D0為輸入;

  …      ;D7~D4為輸出

  以上實(shí)例說(shuō)明:源程序中的寄存器TRISB是在16F84數(shù)據(jù)存儲(chǔ)器的存儲(chǔ)體1(Bank1)中,所以利用編程達(dá)到選擇TRISB的目的。



關(guān)鍵詞: PIC單片機(jī) 存儲(chǔ)體

評(píng)論


相關(guān)推薦

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

關(guān)閉