打印

请教一个编程问题

[复制链接]
1615|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
_crystal_|  楼主 | 2008-9-4 11:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序一:
mov R0, #0001H
mov A, #0EFH
movx @R0, A
mov A, #00H
movx A, @R0
call SendA   ;把A送到串口
程序二:
mov DPTR, #0001H
mov A, #0EFH
movx @DPTR, A
mov A, #00H
movx A, @DPTR
call SendA   ;把A送到串口
以上两个程序分别在新茂的8958A和5964上测试,在SM5964上可得到预期的效果,但在SM8958A上测试,却不能得到预期的效果,请问一下是什么原因?

相关帖子

沙发
lyjian| | 2008-9-4 11:54 | 只看该作者

你所说的预期的效果是什么效果?

使用特权

评论回复
板凳
_crystal_|  楼主 | 2008-9-4 12:01 | 只看该作者

就是

就是可以得到从扩展的768字节中的0001H地址读出的数,即测试程序中的0EFH.

使用特权

评论回复
地板
lyjian| | 2008-9-4 12:10 | 只看该作者

有这种指令吗

mov @DPTR, A
mov A, @DPTR

使用特权

评论回复
5
xuyaqi| | 2008-9-4 12:24 | 只看该作者

应该是 movx @dptr,a; movx a,@dptr

使用特权

评论回复
6
_crystal_|  楼主 | 2008-9-4 12:28 | 只看该作者

已修改

不好意思,写错了,已经修改。
有高手告诉我两个芯片的测试结果不一样是什么原因吗?

使用特权

评论回复
7
lyjian| | 2008-9-4 13:07 | 只看该作者

XRAM使能没有?

默认的状态XRAM都是关的

使用特权

评论回复
8
_crystal_|  楼主 | 2008-9-4 13:58 | 只看该作者

不是默认开的吗?

SCONF的OME位默认设置为1的

使用特权

评论回复
9
_crystal_|  楼主 | 2008-9-4 14:08 | 只看该作者

重置OK

重新把OME位置1就好了,谢谢。

使用特权

评论回复
10
lyjian| | 2008-9-4 14:10 | 只看该作者

8958A默认是关,5964默认是开

5964A又默认是关的。
同一个公司的芯片也整得乱七八糟的,真是少见。

使用特权

评论回复
11
_crystal_|  楼主 | 2008-9-4 17:15 | 只看该作者

中文资料不行啊

之前看的数据手册是中文的,上面介绍8958默认是开的。后来看英文的才知道默认是关的。看来还是英文的资料准确一点。还是努力一点学好英文啦

使用特权

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

本版积分规则

36

主题

131

帖子

0

粉丝