
HT95R54/HT95R55
·
地址018H
表程序示例
下面的例子显示了表的指针和如何
表中的数据被定义,并从设备中检索。这
例如使用位于最后一页表格数据
这是存储在那里用ORG伪指令。该
在此ORG值
3F00H
这是指
最后一页的16K亲的起始地址
程序存储器的单片机。该表指针
这里设定的初始值
06H.
这将恩
确定从该数据表格读取的第一数据将在
程序存储器地址
3F06H
或6个位置
的最后一页开始之后。注意,对于该值
表指针被引用到的所述第一地址
如果当前页面
TABRDC
[ m]指令,指令被
使用。在这种情况下,表中的数据,其中的高字节
是等于零将被转移到TBLH寄存器
时自动
TABRDL
[ m]指令,指令是exe-
cuted 。
因为TBLH寄存器是只读寄存器和
不能恢复,应小心以确保其
防护如果主程序和中断服务两个
日常使用表格读取指令。如果使用的是表
读取指令,中断服务程序可能
改变TBLH的值,随后引起
如果由主程序中再次使用错误。作为一项规则是
如果同时使用表格读取
应避免使用说明书。然而,在情况
其中无法避免同时使用时,互
中断产生应先于任何执行被禁止
主程序的表格读取指令。注意,所有的表
相关指令需要两个指令周期
完成操作。
此位置使用的多功能中断。如果
一个下降沿上PC0或PC5 ,或检测
上升沿过渡的PC7或检测
SPI / I2C中断发生时,或外围下降沿继续
荷兰国际集团的边缘过渡,或定时器2的溢出,程序
会跳转到这个位置,如果开始执行
多功能中断使能且堆栈没有
满。
查表
在程序存储器的任何地址都可以定义
作为查找表,以便储存固定
数据。要使用查表,表指针必须
先行设定,其放置的低阶地址
要检索表中的指针寄存器查找数据。
该寄存器定义的低8位地址
查表。
在设定完表格指针后,表格数据可以是
从目前的程序存储器页或最后检索
采用程序存储器页
TABRDC [M ]
or
TABRDL
[ m]指令的指令,分别。当这些指令
执行时,从表格数据低字节
程序存储器将被转移到用户所
指定的数据存储器[ m]中在 - 指定
梁支。从表格的高数据字节
程序存储器将被转移到TBLH特殊
注册。任何未使用的位传输的高阶
字节都会有不确定的值。
下图说明了寻址/数据
流的查找表中:
P RO克RA M C 加利德
IG H B TE
T B L P将
P RO克RA米
M E M O对RY
T B L H
IG H B 德 F T A B乐 0:N TE TS
S·P权证ifie D B Y [ M]。
1。·瓦特
B Y形TE F T A B乐 0:N TE TS
查表
表格地址位
指令
b13
b12
b11
b10
b9
b8
PC8
1
b7
@7
@7
b6
@6
@6
b5
@5
@5
b4
@4
@4
b3
@3
@3
b2
@2
@2
b1
@1
@1
b0
@0
@0
TABRDC [ M] PC13 PC12 PC11 PC10 PC9
TABRDL [M]。
1
1
1
1
1
表中的位置
注意:
对于HT95R54 ,表格地址是13位,从B12 B0 。
对于HT95R55 ,表格地址是14位,也就是说,从B13 B0 。
PC13 PC8 :目前程序计数器位
@ 7@ 0:表格指针低位( TBLP )
1.00版
13
2010年3月3日