
HT45R36
程序存储器
-
只读存储器
程序存储器用于存储程序IN-
要被执行,以及一些数据。它还包含
数据,表格和中断入口,并组织成
2048×14位,由程序计数器和TA-解决
BLE指针。
在程序存储器地址被保留
特殊用法:
·
地址000H
·
地址010H
这个位置是留给外部RC振荡器
化转换中断服务程序。如果外部
RC振荡从EX-中断结果
内部RC振荡中断被激活,
并且中断使能且堆栈未满,
该方案在这个位置开始执行。
·
表中的位置
该区域为程序初始化保留。经过
器件复位时,程序会开始执行
位置000H 。
·
地址004H
这个位置是保留给外部中断0
服务程序。如果INT0输入管脚被激活时,
中断使能且堆栈未满,则程序
克开始执行,在此位置。
·
地址008H
这个位置是保留给外部中断1
服务程序。当INT1输入管脚被激活时,该
中断使能且堆栈未满,则程序
克开始执行,在此位置。
·
地址00CH
这个位置是保留给定时/计数器
中断服务程序。如果定时器中断的结果
从定时/计数器溢出,跨
中断使能且堆栈未满,则程序
开始执行,在此位置。
0 0 0 H
0 0 4 H
0 0 8 H
0 0建华
D E V IC e在钨协莉丝一个TIO N P R 0克R A米
E X TE RN A L TE中RRU P吨0
E X TE RN A L TE中RRU P吨1
牛逼IM ê /放大V简吨碳加利TE R 0 V é FLO瓦特
P RO克RA米
M E M O对RY
在程序存储器的任何位置都可以用作
查表。该指令
TABRDC
[ m]指令(该
当前页, 1页= 256个字)和
TABRDL
[m]
低阶字节中的内容传送到
指定的数据存储器,和高字节至
TBLH ( 08H ) 。低阶组的唯一的目的地
在表中的字节是明确定义的,而表格的其他位
竹叶提取字被转移并送至下部,
而剩余的二位读取为
0.
表
高字节寄存器TBLH是只读的。而表格
指针(TBLP )是可读/写寄存器( 07H ) ,
这表明该表的位置。在访问
该表中,位置必须放置在TBLP 。该
TBLH是只读的,无法恢复。如果主
例程和ISR (中断服务程序)这两个
使用查表指令的内容
TBLH在主程序有可能通过改变
表中读取ISR中使用的指令。错误可能
因此发生。换句话说,使用查表
指令中的主程序,并在ISR
应尽量避免。然而,如果该表中读出的指令
化,无论在主例程,并在要使用
ISR ,中断应该先表禁用
读取指令执行。中断不应该
重新启用,直到TBLH被备份。所有TA-
BLE相关指令需要两个周期才能完成
的操作。这些区域可以作为正常的
程序存储器取决于需求。
堆栈寄存器
-
堆
这是用于保存存储器中一个特殊的部分
仅在程序计数器的内容。堆栈
分为4个层次是数据的无分无关
程序空间的一部分,并且是不可读
可写。该层由堆栈索引
指针( SP ),并且是不可读写的。在一
子程序调用或中断响应,犯人
程序计数器的内容被压入堆栈。
当子程序或中断服务程序结束时,信号
表中的位置
0 1 0 H
E X TE RNAL RCO SC Illa的TIO N onver TE R IN TE rrupt
否0 0 H
N· F H
7 0 0 H
7 F F H
1。· 的k - ü P T A B乐( 2 5 6 W 0 R D所S)
1。· 的k - ü P T A B乐( 2 5 6 W 0 R D所S)
1 4 - B的
N}÷ TE :N RA体中(E S)来回回米0-7
程序存储器
指令
TABRDC [M]。
TABRDL [M]。
*10
P10
1
*9
P9
1
*8
P8
1
*7
@7
@7
*6
@6
@6
*5
@5
@5
*4
@4
@4
*3
@3
@3
*2
@2
@2
*1
@1
@1
*0
@0
@0
表中的位置
注: * 10 * 0 :表格地址位
@ 7 @ 0:表指针位
1.00版
7
2006年9月28日
P10 P8 :当前程序计数器位