
HT82D20R/HT82D20A
程序存储器
-
只读存储器
程序存储器用于存储程序IN-
要被执行,以及一些数据。它还包含
数据,表格和中断入口,并组织成
2048×14位,由程序计数器和TA-解决
BLE指针。
在程序存储器地址被保留
特殊用法:
·
地址000H
¨
两个表的ROM数据读取指令:
TABRDC
和
TABRDL ,
转让的内容
低位字节到指定的数据存储器,并
高阶字节TBLH ( 08H ) 。
这三种方法如下所示:
¨
该指令
TABRDC
[ m]指令(当前页面,
1页= 256words ) ,其中表的位置是
通过TBLP ( 07H )在当前页面中定义的。和
配置选项TBHP被禁用(默认) 。
该指令
TABRDC
[ m]指令,其中表某一地址
阳离子通过寄存器TBLP ( 07H )和定义
TBHP ( 01FH ) 。而配置选项TBHP
被使能。
该指令
TABRDL
[ m]指令,其中表某一地址
阳离子通过寄存器TBLP ( 07H)中的定义
最后一页( 0700H 07FFH ) 。
该区域为程序初始化保留。经过
系统复位时,程序会开始执行位于地址
阳离子000H 。
·
地址004H
¨
这个区域被保留用于USB中断服务
程序。如果USB中断被激活时,中断
使能且堆栈未满,则程序开始
执行在位置004H 。
·
地址00CH
这个位置是保留给定时/计数器
中断服务程序。如果定时器中断的结果
从定时/计数器溢出,跨
中断使能且堆栈未满,则程序
开始执行的位置00CH 。
·
表中的位置
在程序存储器中的任何位置,可以作为
查找表。有三种方法来读取
0 0 0 H
0 0 4 H
0 0建华
D E V IC e在钨协莉丝一个TIO N P R 0克R A米
美B在TE R R ü P吨的SuI B R O u那样锡ê
牛逼IM ê /放大V简T C 加利德
在TE R R ü P吨的SuI B R O u那样锡ê
P RO克RA米
M E M O对RY
1。· 的k - ü P T A B乐( 2 5 6 W 0 R D所S)
否0 0 H
N· F H
7 F F H
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
程序存储器
低阶字节的只在而表格的目的地
均衡器是明确定义的,该表字的其它位为
转移并送至的下部,并且重新
maining 1位字被读出作为
0.
表
高字节寄存器TBLH是只读的。而表格
指针(TBLP , TBHP )是一个读/写寄存器( 07H ,
1FH ) ,这表明该表的位置。 AC-前
cessing表,该位置必须被放置在
TBLP和TBHP (如果配置选项是TBHP
残疾人,在TBHP的价值有没有影响) 。该TBLH
是只读的,不能被恢复。如果主例行程序
齿和ISR (中断服务程序)这两个的EM
伎俩查表指令,的内容
TBLH在主程序有可能通过改变
表中读取ISR中使用的指令。错误可能
发生。换句话说,使用查表指令
在主程序和中断服务程序同时应
被避免。然而,如果该表中读出指令有
在这两个主程序和中断服务程序,所施加的
中断之前,应先关闭表中读取指令
梁支。它不会被启用,直到有TBLH
已备份。查表指令要求
两个周期来完成该操作。这些区域
根据可以作为正常的程序存储器
上的要求。
一旦TBHP被启用,则指令
TABRDC
[m]
读取ROM中的数据通过TBLP和TBHP定义
值。否则,配置选项TBHP是
残疾人,指令
TABRDC
[ m]指令,读取
通过TBLP和当前程序所定义的ROM数据
程序计数器位。
表中的位置
指令
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: TBLP位
P10 P8 :当前程序计数器位时, TBHP被禁用
当TBHP启用TBHP寄存器位2 位0
修订版1.10
7
2010年1月27日