添加收藏夹  设为首页  深圳服务热线:13751165337  13692101218
51电子网联系电话:13751165337
位置:首页 > IC型号导航 > 首字符P型号页 > 首字符P的型号第706页 > PIC16C63A-20/JW > PIC16C63A-20/JW PDF资料 > PIC16C63A-20/JW PDF资料2第26页
PIC16C63A/65B/73B/74B
4.3
PCL和PCLATH
程序计数器( PC)为13位宽。低字节
来自PCL寄存器,它是一个可
写入的寄存器。高位( PC<12 : 8> )不
可读,但通过间接写
PCLATH寄存器。复位后,上的位
PC将被清除。图4-3显示了两种情况
用于PC的负载。在图 - 中上面的示例
茜展示了如何在PC上写PCL装
( PCLATH<4 : 0>
PCH)。在网络连接G-下方的例子
URE显示了PC的过程中加载
通话
or
GOTO
指令( PCLATH<4 : 3>
PCH)。
注1 :
有没有状态位指示堆栈
溢流或溢流条件下叠加。
2:
有没有指令/助记符
被称为PUSH或POP 。这些行动
从的执行时产生的
CALL , RETURN , RETLW ,
RETFIE
指令,或引导到一个跨
中断地址。
4.4
程序存储器分页
图4-3:
PC在LOADING
不同情况下
的PCl
8
7
0
指令,
PCL作为
目的地
ALU
PCH
12
PC
5
PCLATH<4 : 0>
8
PCLATH
PCH
12
PC
2
PCLATH<4 : 3>
11
操作码<10 : 0>
PCLATH
11 10
8
7
的PCl
0
GOTO , CALL
PIC16CXX器件是可寻址的contin-
程序存储器uous 8K字块。该
通话
GOTO
指令只提供11位地址
允许在2K程序存储器页跳转。
当执行
通话
or
GOTO
指令,使上
2比特的地址被提供由PCLATH<4 : 3> 。
当执行
通话
or
GOTO
指令时,用户必须
确保页面选择位编程,所以
所期望的节目存储页面。如果
从一个返回
通话
指令(或中断)是exe-
指令,整个13位PC从堆栈中弹出。
因此,操纵PCLATH<4的: 3>位
不需要返回指令(它的持久性有机污染物
从堆栈地址) 。
注1 :
PCLATH的内容不变
回归后,或
RETFIE
指令
执行。用户必须设置PCLATH
对于任何后续
CALL的
or
GOTO的
2:
PCLATH<4>未在这些用
的PICmicro
设备。利用
PCLATH<4>为通用读/
写位是不推荐的,因为这
可能会影响到与向上兼容
未来的产品。
例4-1显示了一个子程序的调用
第1页的程序存储器。这个例子假设
PCLATH被保存,被中断恢复
服务程序(如果使用了中断) 。
4.3.1
计算GOTO
一个计算
GOTO
是通过将一个偏移量来完成
到程序计数器( ADDWF
PCL ) 。
当执行
使用计算表读
GOTO
方法,护理
表地址是否跨越了PCL应行使
内存边界(每块256个字节) 。参阅
应用说明
“实现表Read"
(AN556).
例4-1:
ORG
0x500
BSF
PCLATH,3
CALL SUB1_P1
:
:
ORG
0x900
SUB1_P1
:
:
:
回报
4.3.2
调用一个子程序
第1页从页0
;选择第1页( 800H - FFFh的)
;调用子程序
;第1页( 800H - FFFh的)
;第1页( 800H - FFFh的)
;调用的子程序
;第1页( 800H - FFFh的)
;返回到调用子程序
;在0页( 000H -地址为7FFh )
该PIC16CXX系列具有一个8级深x 13位宽
硬件堆栈。堆栈空间不属于任何
程序或数据空间和堆栈指针不
读写。在PC压入堆栈
当一个
通话
指令被执行,或中断
导致一个分支。进行出栈操作中的一个的情况下
RETURN , RETLW
OR A
RETFIE
指令执行。
PCLATH不受PUSH或POP操作。
堆栈的工作作为一个循环缓冲区。这意味着
后堆栈压栈8次,第九
推进覆盖了从第一个网络存储的价值
推。第十推覆盖第二推送(和
等)。
DS30605C第26页
2000 Microchip的技术公司

深圳市碧威特网络技术有限公司