用过P89LV51RD2的高手请进~指导一下!

[复制链接]
 楼主| llllwwww 发表于 2009-5-20 16:14 | 显示全部楼层 |阅读模式
现在写程序用的是P89LV51RD2这种单片机,只是用到了内核的128个字节的DATA资源,发现资源不够用,想使用片内的XDATA资源。
现在遇到的问题是:
1.在KEIL里面进行编译的情况下,如果在KEIL的设置里面将MEMORY设置成SMALL模式,发现程序能正常运行。
2.现在想把KEIL里面的设置改成LARGE模式,而且在程序中已经把EXTRAM这个清零了,发现程序还是不能正常运行。而且如果直接定义某个变量为XDATA,发现也不能正常运行!
有一个XDATA的使能寄存器,已经不要它寻址片外XDATA了!
疑问就是怎么把KEIL里面的设置改为LARGE模式,发现问题可能存在3个方面:
1.KEIL里面设置不正确!
2.程序的编写不合理!
3.内部资源的规划不清楚!
大漠孤烟 发表于 2009-5-20 16:31 | 显示全部楼层

查看变量所在RAM位置

可以查看一下,当改为LARGE模式后,你所定义的XDATA变量是否在000H-2FFH之间,可以在OPTION里边定义一下XDATA的访问区间就可以
 楼主| llllwwww 发表于 2009-5-20 16:42 | 显示全部楼层

哦,好的,定义XDATA的地址对吧?

在KEIL里面可以设定XDATA的地址,对吧?我发现,原先用SMALL编译的变量都在0x00-0x7F之间,当使用LARGE模式的时候变到了0x0000开头的区间,而且现在用的都是DPTR来访问的~在哪里定义?BL51 LOCATE里面?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

91

主题

450

帖子

2

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