專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測(cè)試 完善的開發(fā)代碼案例庫(kù)分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!
提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力
提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)
單片機(jī)代理商深圳英銳恩分享PIC單片機(jī)存儲(chǔ)體選擇0或1的方法,PIC單片機(jī)中級(jí)產(chǎn)品PIC16C6X的數(shù)據(jù)存儲(chǔ)器通常分為兩個(gè)存儲(chǔ)體,即存儲(chǔ)體0(Bank0)和存儲(chǔ)體1(Bank1)。每個(gè)存儲(chǔ)體都是由專用寄存器和通用寄存器兩部分組成的。兩個(gè)存儲(chǔ)體中的一些寄存器單元實(shí)際上是同一個(gè)寄存器單元,卻又具備有不同的地址。例如本版介紹的PIC16F84的狀態(tài)寄存器STATUS-Reg的兩個(gè)地址是03H和83H。又如通用寄存器也是如此。
不同型號(hào)的PIC單片機(jī),其數(shù)據(jù)存儲(chǔ)器的組成(即功能)是不完全相同的,所以設(shè)計(jì)人員一旦選用了某個(gè)PIC單片機(jī)的型號(hào)后,常要查找該單片機(jī)的數(shù)據(jù)存儲(chǔ)器資料,以便編程用。
筆者以PIC16F84在MPLAB集成開發(fā)軟件的環(huán)境下編寫的源程序中,有關(guān)RB口(RB7、RB6…RB0)初始化為例,說明選用存儲(chǔ)體0或1的方法如下:
程序清單
file:PIC01ASM
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為輸出
以上實(shí)例說明:源程序中的寄存器TRISB是在16F84數(shù)據(jù)存儲(chǔ)器的存儲(chǔ)體1(Bank1)中,所以利用編程達(dá)到選擇TRISB的目的。