歡迎您光臨本站 登入註冊首頁

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

admin @ 2014-03-14 , reply:0

概述

PIC單片機中級產品PIC16C6X的數據存儲器通常分為兩個存儲體,即存儲體0(Bank0)和存儲體1(Bank1)。每個存儲體都是由專用寄存器和通用寄存器兩部分組成的。兩個存儲體中的一些寄存器單元實……

PIC單片機中級產品PIC16C6X的數據存儲器通常分為兩個存儲體,即存儲體0(Bank0)和存儲體1(Bank1)。每個存儲體都是由專用寄存器和通用寄存器兩部分組成的。兩個存儲體中的一些寄存器單元實際上是同一個寄存器單元,卻又具備有不同的地址。例如本版介紹的PIC16F84的狀態寄存器STATUS-Reg的兩個地址是03H和83H。又如通用寄存器也是如此。
  不同型號的PIC單片機,其數據存儲器的組成(即功能)是不完全相同的,所以設計人員一旦選用了某個PIC單片機的型號后,常要查找該單片機的數據存儲器資料,以便編程用。
  筆者以PIC16F84在MPLAB集成開發軟體的環境下編寫的源程序中,有關RB口(RB7、RB6…RB0)初始化為例,說明選用存儲體0或1的方法如下:
  程序清單

  List   P=16F84
  #include P16F84.inc
  STATUS EQU03H
  RB    EQU06H
  TRISB   EQU86H
  ORG 0x00   ;複位向量(PIC16F84)
  GOTO   MAIN  ;轉至主程序開始處
  ORG 0x08   ;從地址08H開始存放程序
MAIN
CLRF PORTB    ;初始化
BSF    STATUS,5;RP0置1,選中Bank1
        ;以便設置寄存器TRISB
MOVLW0x0F     ;初始化數據00001111B
MOVWF TRISB   ;RB口D3~D0為輸入;
  …     ;D7~D4為輸出
  以上實例說明:源程序中的寄存器TRISB是在16F84數據存儲器的存儲體1(Bank1)中,所以利用編程達到選擇TRISB的目的。

[admin via 研發互助社區 ] 選擇PIC單片機存儲體0或1的方法已經有3568次圍觀

http://cocdig.com/docs/show-post-595.html