请教查表问题

[复制链接]
2852|6
 楼主| int3 发表于 2008-9-25 09:12 | 显示全部楼层 |阅读模式
比如显示译码0-F,16个要查表。由于四位机只能表示16种状态,加上TJMP就是17.
如果前面加一处理,查不到F,不加一查不到0.怎么解决这个问题。
    ORG    900H
    
LED_CODE:
    TJMP
        
    RTNW        3,0FH        ;0
    RTNW        0,6H        ;1
    RTNW        5,0BH        ;2
    RTNW        4,0FH        ;3
    RTNW        6,6H        ;4
    RTNW        6,0DH        ;5
    RTNW        7,0DH        ;6
    RTNW        2,07H        ;7
    RTNW        7,0FH        ;8
    RTNW        6,0FH        ;9
    RTNW        7,7H        ;A
    RTNW        7,0CH        ;H
    RTNW        7,3H        ;C
    RTNW        5,0EH        ;L
    RTNW        7,9H        ;E
    RTNW        7,1H        ;F
warm_ice 发表于 2008-9-25 10:06 | 显示全部楼层

这样

在您的例子中可以将ORG 定义到90FH,这样TJMP占用90FH,则910H~91FH都可做表,共16行,可满足您的要求.
 楼主| int3 发表于 2008-9-25 11:53 | 显示全部楼层

测试过吗

 楼主| int3 发表于 2008-9-25 11:57 | 显示全部楼层

测试过吗

你的方法好像还是解决不了这个问题
 楼主| int3 发表于 2008-9-25 12:19 | 显示全部楼层

难道大家都不知道吗?急啊

warm_ice 发表于 2008-9-25 14:28 | 显示全部楼层

可以的

肯定可以的,这个是最基本的东西,像LCD显示从0到F,共16种状态,都是这么用的.
定义到90FH后,要查表时TBR赋值为1,AC赋值为你要查的行数,如6,这样再调用LED_CODE时,TJMP会跳到916H,再好查到6对应的代码,就完成了这个过程.

不知道你还有什么疑问?
 楼主| int3 发表于 2008-9-25 15:27 | 显示全部楼层

谢谢。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

327

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部