请教一个编程问题

[复制链接]
2279|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
xuyaqi 发表于 2008-9-4 12:24 | 显示全部楼层

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

 楼主| _crystal_ 发表于 2008-9-4 12:28 | 显示全部楼层

已修改

不好意思,写错了,已经修改。
有高手告诉我两个芯片的测试结果不一样是什么原因吗?
lyjian 发表于 2008-9-4 13:07 | 显示全部楼层

XRAM使能没有?

默认的状态XRAM都是关的
 楼主| _crystal_ 发表于 2008-9-4 13:58 | 显示全部楼层

不是默认开的吗?

SCONF的OME位默认设置为1的
 楼主| _crystal_ 发表于 2008-9-4 14:08 | 显示全部楼层

重置OK

重新把OME位置1就好了,谢谢。
lyjian 发表于 2008-9-4 14:10 | 显示全部楼层

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

5964A又默认是关的。
同一个公司的芯片也整得乱七八糟的,真是少见。
 楼主| _crystal_ 发表于 2008-9-4 17:15 | 显示全部楼层

中文资料不行啊

之前看的数据手册是中文的,上面介绍8958默认是开的。后来看英文的才知道默认是关的。看来还是英文的资料准确一点。还是努力一点学好英文啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

131

帖子

0

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