C51单片机 如何用xdata 定义整形数组

本人菜鸟由于内部RAM内存有限,想扩充内存,用xdata定义一个整形数组inttable[20];具体操作如何?请高手指点!... 本人菜鸟 由于内部RAM内存有限,想扩充内存,用xdata定义一个整形数组 int table[20] ;具体操作如何?请高手指点! 展开
 我来答
Tsingheng
推荐于2018-04-27 · TA获得超过579个赞
知道小有建树答主
回答量:218
采纳率:0%
帮助的人:242万
展开全部
直接定义即可:
xdata int table[20];
操作也像正常的数组一样操作。
默认的话,编译器会把地址安排在外部0x0000开始的地址,即汇编里的dptr=0x0000的地址。如果此时你外部没有存储器硬件的话,程序也能编译过,但最后的现像就是能写,但读出来都是随机值 或者全0。除此,使用指针操作外部存储器时,也不要和你已经分配的这一段地址重合。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yyhhzhs
2018-05-26 · TA获得超过179个赞
知道答主
回答量:23
采纳率:0%
帮助的人:10.9万
展开全部
按照你的描述,建议方法如下:
1)修改现有电路,增加外部RAM器件(最常用的如62C64(8kRAM)、62C256(32KRAM)等)和相应的驱动电路。
2)更改单片机型号,选择内部集成有扩展RAM的单片机(如STC的增强型51单片机,一般集成的外部扩展RAM有256字节~4K字节)。这个方案是我强烈推荐的,他的好处是只要选择一块封装一样、PIN对pin兼容的,软、硬件几乎不用更改,就可以达成目的。
做到上述以后,就可以按你的意思直接定义你想定义的数组了。剩余的xdata空间还可以用于它途。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式