打印

请教关于SH66P12 RAM问题

[复制链接]
2319|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
snic_k|  楼主 | 2009-9-29 14:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教下 SH66P12 RAM是不是有256个?那它的高128位是怎么定义及访问的?我的程序在定义变量到大于80H时编译会出错。
沙发
warm_ice| | 2009-9-29 16:21 | 只看该作者
直接定义就好了.
编译时出错的图片能否上传来看看?

使用特权

评论回复
板凳
snic_k|  楼主 | 2009-11-9 18:24 | 只看该作者
MONL                EQU        0A5H
MONM                EQU        0A6H
MONH                EQU        0A7H

我定义的寄存器地址如上,但是在编译时会提示 Memory Address is out of range,truncated to 7 bits.
SH66P12的RAM不是有256个吗?怎么会提示溢出呢?

使用特权

评论回复
地板
虎虎生威| | 2009-11-9 21:27 | 只看该作者
是啊,奇怪

使用特权

评论回复
5
warm_ice| | 2009-11-10 08:59 | 只看该作者
MONL                EQU        0A5H
MONM                EQU        0A6H
MONH                EQU        0A7H

我定义的寄存器地址如上,但是在编译时会提示 Memory Address is out of range,truncated to 7 bits.
SH66P12的RAM不是有256个吗?怎么会提示溢出呢? ...
snic_k 发表于 2009-11-9 18:24

这样定义不会有错,您是不是没有没有正确选择芯片的型号?

使用特权

评论回复
6
snic_k|  楼主 | 2009-11-10 14:01 | 只看该作者
这样定义不会有错,您是不是没有没有正确选择芯片的型号?
warm_ice 发表于 2009-11-10 08:59


芯片型号不会有错的,我直接连接ICE然后编译的,如果我用间接引用,就只会出现WARNING警告,而不会出现ERROR。

TEMP    EQU    20H

MONL    EQU    0A0H
MONM   EQU    0A1H
MONH   EQU    0A2H

然后这样调用:比如赋值MONL=05H
LDI    TEMP,05H
STA    MONL,01H

使用特权

评论回复
7
warm_ice| | 2009-11-10 16:22 | 只看该作者
一般"Memory Address is out of range,truncated to 7 bits"只是"warnning",只是提醒一下,不会有问题.

如果是ERROR的话,您就是仔细检查一下报名的行号,例如A0H前面的0是数字0还是字母O;或者其上下行是否有不可见的字符等.

如果还解决不了,请把文件发上来,我来试试.

使用特权

评论回复
8
snic_k|  楼主 | 2009-11-10 17:01 | 只看该作者
附件为程序,麻烦版主帮我试下。。谢谢!

我现在编译时TEMP1会出现错误提示,程序中TEMP1地址为0X80H。

所用芯片为SH66P12.

Flowmeter.rar

8.72 KB

使用特权

评论回复
9
warm_ice| | 2009-11-10 17:19 | 只看该作者
终于知道您的问题了.
不是定义变量的问题,是您使用变量的问题.
不知道您有没有注意到,有些指令只能对00H~7FH这段的RAM进行操作,如LDI,EORIM等等.
您的程序中提示错误的地方是您将TEMP1定义在了80H, 这样,对TEMP1进行操作时,像LDI,EORIM等指令都是不能使用的.

关于哪些指令可以对所有RAM进行操作,您可以查看一下SH66P12规格书中第14,15页的指令的部分,凡是指令中寄存器X后为(,B)的,即可对所有RAM进行操作,否则就不行.
再说一下,这个逗号及后面的B是可以省略不写的(这个B是指RAM的页),前提是您按实际地址定义寄存器.

使用特权

评论回复
10
warm_ice| | 2009-11-10 17:23 | 只看该作者
另外,您的程序已经超过了2K的ROM空间.

使用特权

评论回复
11
snic_k|  楼主 | 2009-11-10 17:26 | 只看该作者
原来如此,汗。。。建议在DS中增加对此操作的说明。。。:lol

谢谢版主。。:handshake

使用特权

评论回复
12
warm_ice| | 2009-11-10 17:29 | 只看该作者
从您的程序来看,你对中颖的4BIT 芯片还不太了解,建议您有时间可以看一下本版置顶帖子"中颖单片机入门与实战"一书,会对您有所帮助.

使用特权

评论回复
13
snic_k|  楼主 | 2009-11-10 18:21 | 只看该作者
已申请了一本印刷版的。。。这个是本人的第一个中颖应用项目。。。以后可能还要请版主多多指点下哈。

使用特权

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

本版积分规则

1

主题

8

帖子

1

粉丝