<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > PIC16C5X單片機數據存儲器

PIC16C5X單片機數據存儲器

作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò ) 收藏
程序計數器f2(PC)
程序計數器給出片內2048x12的ROM地址,不同的型號程序計數器與它們的兩層堆棧為9-11位寛,如表1所示。

表1 程序計數器PC與堆棧大小
型號PC寬度/位堆棧寬度/位
PIC16C54/5599
PIC16C561010
PIC16C571111
系統復位后,PC為全“1”,程序執行每一條指令PC自動(dòng)加“1”,除非程序指令本身改變PC的內容(例如程序跳轉,中斷服務(wù)等),下面的指令將改變PC的值。

[1].“GOTO”指令:允許直接裝入程序計數器的低8位,對于PIC16C56/57/58,PC的最高位由PA0、PA1兩個(gè)頁(yè)面選擇位(也即狀態(tài)寄存器的5、6位確定),此指令允許跳到任一頁(yè)的任意位置。

[2].“CALL”指令:先把當前PC的值壓入堆棧,然后使第9位清“0”,并把低8位裝入程序計數器PC,對于PIC16C56/57/58,PC的高兩位被裝入頁(yè)面選擇位PA0、PA1。

[3].“RETLW”指令:該返回指令直接把棧頂內容重裝入PC。

[4].程序計數器可由某位指令改變(例如MOVWF f2,ADDWF f2或BSF f2,5)計算結果將裝入PC低8位,第9位清“0”。對于PIC16C56/57/58,PC的高兩位被裝入頁(yè)面選擇位PA0、PA1。

需要注意的是:在執行“CALL”或其它改變PC值指令時(shí),第9位會(huì )被清“0”,所有子程序調用指令和需要計算的跳轉指令時(shí),要把分支程序放在任何頁(yè)面(512字節)的前256個(gè)單元(地址分別為000-0FFH、200-2FFH、400-4FFH、600-6FFH)。

多個(gè)程序存儲器頁(yè)面選擇(對PIC16C56/57/58有效)情況下,當程序計數器指向所在存儲頁(yè)的最后地址時(shí),它仍能加1,并繼續執行到下一頁(yè)面,但PA0,PA1頁(yè)面選擇位不會(huì )改變,以后的“GOTO”、“CALL”、“ADDWF f2”、“MOVWFf2”等指令會(huì )返回原來(lái)的頁(yè)面,除非頁(yè)面選擇位在程序中被更改。例如NOP指令位于1FFH(0頁(yè)),PC加1變?yōu)?00(1頁(yè)),一條在200的“GOTO XXX”指令將返回0頁(yè)的XXX地址(若f3的頁(yè)預選位“0”)。

RESET狀態(tài)下,PA0、PA1清“0”,0頁(yè)會(huì )成為預選頁(yè)。同時(shí)程序計數器PC會(huì )對最后一頁(yè)的最后一個(gè)單元尋址。因此,在這個(gè)位置的“GOTO”指令會(huì )自動(dòng)返回至0頁(yè)執行。



關(guān)鍵詞: PIC16C5X單片機數據存儲

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>