您的位置 首页 发布

PIC16C5X单片机数据存储器

程序计数器f2(PC)程序计数器给出片内2048×12的ROM地址,不同的型号程序计数器与它们的两层堆栈为9-11位寛,如表1所示。表1程序计数器PC与堆

程序计数器f2(PC)
程序计数器给出片内2048×12的ROM地址,不同的类型程序计数器与它们的两层仓库为9-11位寛,如表1所示。

表1 程序计数器PC与仓库巨细
类型 PC宽度/位 仓库宽度/位
PIC16C54/55 9 9
PIC16C56 10 10
PIC16C57 11 11
体系复位后,PC为全“1”,程序履行每一条指令PC主动加“1”,除非程序指令自身改动PC的内容(例如程序跳转,中止服务等),下面的指令将改动PC的值。

[1].“GOTO”指令:答应直接装入程序计数器的低8位,关于PIC16C56/57/58,PC的最高位由PA0、PA1两个页面挑选位(也即状况寄存器的5、6位确认),此指令答应跳到任一页的恣意方位。

[2].“CALL”指令:先把当时PC的值压入仓库,然后使第9位清“0”,并把低8位装入程序计数器PC,关于PIC16C56/57/58,PC的高两位被装入页面挑选位PA0、PA1。

[3].“RETLW”指令:该回来指令直接把栈顶内容重装入PC。

[4].程序计数器可由某位指令改动(例如MOVWF f2,ADDWF f2或BSF f2,5)核算结果将装入PC低8位,第9位清“0”。关于PIC16C56/57/58,PC的高两位被装入页面挑选位PA0、PA1。

需求留意的是:在履行“CALL”或其它改动PC值指令时,第9位会被清“0”,一切子程序调用指令和需求核算的跳转指令时,要把分支程序放在任何页面(512字节)的前256个单元(地址分别为000-0FFH、200-2FFH、400-4FFH、600-6FFH)。

多个程序存储器页面挑选(对PIC16C56/57/58有用)情况下,当程序计数器指向地点存储页的最终地址时,它仍能加1,并持续履行到下一页面,但PA0,PA1页面挑选位不会改动,今后的“GOTO”、“CALL”、“ADDWF f2”、“MOVWFf2”等指令会回来本来的页面,除非页面挑选位在程序中被更改。例如NOP指令坐落1FFH(0页),PC加1变为200(1页),一条在200的“GOTO XXX”指令将回来0页的XXX地址(若f3的页预选位“0”)。

RESET状况下,PA0、PA1清“0”,0页会成为预选页。一起程序计数器PC会对最终一页的最终一个单元寻址。因而,在这个方位的“GOTO”指令会主动回来至0页履行。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/fabu/254147.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部