MCU查表指令的使用.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MCU查表指令的使用

HT MCU 查表指令的使用 HT MCU 查表指令的使用 文件编码:HA0007s 介 绍: 在讨论查表指令该如何使用之前,先介绍一下程序存储器(ROM)空间的划分。Holtek 各系列 单片机的ROM 空间是按页(PAGE)来划分的,一页为256 个字(WORD),即512个字节(BYTE)。 这样,整个ROM 空间正好划分为若干个连续的页。当前页是针对某一特定的程序指令而言的,指该 指令在 ROM 中所处的页,最后页是指 ROM 的最后一页。另外,有些存储空间较大的单片机(如 HTG21X0 系列),还将每 8K 的字空间划分为一个BANK (即32 个页),而且整个ROM 空间正好为 若干个BANK。 单片机ROM 中的任何区域都可以用来当表查(不管该区域存放的是程序,还是真正的表格,都 可以当表格来查)。Holtek 单片机提供了两个用于查表的指令:TABRDC [m] 和TABRDL [m]。 其中的[m],可以为ACCUMULATOR、REGISTOR 或DATA MEMORY。 对于核内无供程序直接访问的TBHP 寄存器的单片机(以下简称“无TBHP 寄存器的单片机”, 如HT48 系列)而言,TABRDC[m] 指令用于查当前页的数据;对于核内有供程序直接访问的TBHP 寄存器的单片机(以下简称“有TBHP 寄存器的单片机”,如HTG21X0 系列)而言,该指令无当前 页的限制,可以查整个ROM 的数据。无论对于哪种单片机,TABRDL [m] 指令只能用于查ROM 中 最后一个PAGE 的数据。 在无 TBHP 寄存器的单片机中,使用这两条指令之前,只需给 TBLP 赋值;在有 TBHP 寄存器 的单片机中,使用TABRDC [m] 之前,还需给TBHP 赋值,使用TABRDL [m] 时,TBHP 默认为 最后一个PAGE 的首址高位。 通过查表,表格的低位字节送入 [m] ,高位字节送入TBLH 。由于TBLH 只读,故要妥善解 决在主程序中和在中断服务子程序中同时查表的问题。为了避免这种情况,除避免在主程序和中断 程序中同时查表、主程序中查表时关中断(查完再开)外,有时还可用RET A,X 指令来实现查表 的功能。 本文将介绍如何使用上述提及的三个查表指令。 使 用: 1、 TABRDC [m]指令的使用 a. 在无TBHP寄存器的单片机中,用于查表格当前页的数据(哪怕该指令在当前页的最后)。 例如: #INCLUDE HT48R10A-1.INC CODE .SECTION AT 000H ‘CODE’ ... MOV A,60H MOV TBLP,A ; TBLP=60H (POINTOR) TABRDC ACC ; ACC=34H NOP ; NOP FOR WATCHING THE LOW BYTE HT MCU 查表指令的使用 MOV A,TBLH ; ACC=12H NOP ; NOP FOR WATCHING THE HIGH BYTE ... ORG 60H DC 1234H,3567H ; TABLE ... b. 在有TBHP 寄存器的单片机中,用于查整个ROM 的数据。 例如: #INCLUDE HTG2190.INC ROMBANK 0 CODE0 ROMBANK 1 CODE1 CODE0 .SECTION AT 0H ‘CODE’

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档