找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 770|回复: 4
打印 上一主题 下一主题
收起左侧

怎么才能用51单片机中的高128位内部ram啊?

[复制链接]
跳转到指定楼层
楼主
小弟初学AT89C52单片机,写相关程序的时候看到下面报错
可以看到data超过了128Byte,当我把一个数组改成xdata形式的时候,程序就不报错了,说明程序是没问题的

网上查了不少帖子,说是把变量改成idata类型就可以用高128Byte,可是我改了以后问题依旧
由于是设计,不想把问题搞得太复杂,就没用带xram的增强51单片机了
除了扩展ram外有好办法吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:896907 发表于 2022-11-13 09:15 | 只看该作者
问题已查明。。。使用了AT89C51。。。Keil里单片机型号选错了,留这个问题在这里供后来者参考

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:230742 发表于 2022-11-14 02:18 | 只看该作者
data=128的也不一定就能完美运行。最好是小一点。
回复

使用道具 举报

地板
ID:1034262 发表于 2022-11-14 10:29 | 只看该作者
高128字节SRAM,用idata定义变量即可。
回复

使用道具 举报

5#
ID:123289 发表于 2022-11-14 15:38 | 只看该作者
只要芯片中有高128RAM,你就可以使用。
用汇编写程序时用间接寻址。
用C写程序时,编译平台自动帮你做。
标准51,CPU中没有XRAM要外接。
改进的51,许多芯片内含XRAM,
如STC系列中,很多型号都有。
要用多大的XRAM容量,查一下STC的广告版手册。

你需要多读CPU手册,了解这些知识。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表