打印

如何在中颖MCU中建立字库

[复制链接]
2753|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
elecqht|  楼主 | 2007-11-21 10:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于用到的点阵式LCM不带字库,所以需要在69P55中建立字库用于显示
之前一直是用C语言的,只知道C语言中可以定义一个数组放字码,通过定义一个指针调用数组中的数据送到LCM的DB0~DB7
现在用中颖的汇编有点弄不明白,先举个例子说说我的想法:
如果说我要显示16X16字母N,它的字码为 10H,04H,1FH,FCH,0CH,04H,03H,00H,00H,E0H,10H,18H,1FH,FCH,10H,00H
是不是要在程序中这么定义字库
ORG   2000H
TABLE: TJMP
       RTNW   01H,00H
       RTNW   00H,04H
       RTNW   01H,0FH
       RTNW   0FH,0CH
       .
       .
       .
       .

然后通过写TBR寄存器来查表调用字码?
另外如果真如上面所说的,定义字库时,在ROM的哪里定义比较好,上面我只所随意在2000H定义的
沙发
aport| | 2007-11-21 11:42 | 只看该作者

bcvvb

使用特权

评论回复
板凳
aport| | 2007-11-21 11:46 | 只看该作者

用RDT查表更好

org 2000h
1004H,1FFCH,0C04H,0300H,00E0H,1018H,1FFCH,1000H

用RDT查表更好,更节省空间 是16BIT的呵,如用你所列方法太浪费ROM了

使用特权

评论回复
地板
elecqht|  楼主 | 2007-11-21 12:04 | 只看该作者

有道路

想想也是,不然显示一张图,估计定义字库就累趴了,呵呵!
可否介绍下用RDT查表的过程,也就是通过哪些方式得到想要的字码,这字码放在哪?

使用特权

评论回复
5
elecqht|  楼主 | 2007-11-21 16:22 | 只看该作者

进一步了解下

上面的程序结果
TEMP1=0
TEMP2=3
TEMP3=2
TEMP4=1
是吗?

另外数据表部分,可否写成aport所说的写成连续的方式
如:
ORG   300H
DATA_TABLE:
DW    0123H,1230H,2301H ............

使用特权

评论回复
6
warm_ice| | 2007-11-21 16:26 | 只看该作者

可以

您说的结果是对了,DW连写也是可以的。

使用特权

评论回复
7
elecqht|  楼主 | 2007-11-22 09:11 | 只看该作者

还有个疑问

如果对RDT_L进行+1操作,是对数据+1还是地址+1?
比如说前面的程序如果将RDT的值取给TEMP1~TEMP4后
RDT_L+1,此时的RDT=1231H,还是RDT=0302H?
也就是问此时的RDT值是地址值还是数据值

使用特权

评论回复
8
warm_ice| | 2007-11-23 09:06 | 只看该作者

这样

RDT的4个寄存器,对其进行写操作时,是地址,进行读操作时,是相应地址的数据。

在例子中,当查询完一次后,再次查询时,对RDT_L+1,则其地址对应0302H,此时,再读取RDT的4个寄存器,就是0302H地址对应的数据2301H。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

44

帖子

0

粉丝