找回密码
 立即注册

QQ登录

只需一步,快速开始

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

请教各位大神,关于51单片机型号选择的问题,目前RAM不够用

[复制链接]
跳转到指定楼层
楼主
ID:901750 发表于 2021-4-7 10:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是一名单片机新手,需要用单片机完成一个设计,一直用的是STC89c52,但发现RAM不太够用,想换stc新出的stc90c54RD+(1280ram),看芯片手册上讲向下兼容的是STC89C54。请问可以直接将原来设计应用于stc90c54,而硬件软件无需更改吗?非常期待各位大神的解答,谢谢谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:230742 发表于 2021-4-7 12:08 | 只看该作者
这个也不是新出的,但程序可以兼容。具体还是自己查一下数据手册吧。只有自己找到答案,才是真正学会了。

评分

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

查看全部评分

回复

使用道具 举报

板凳
ID:901750 发表于 2021-4-7 12:18 | 只看该作者
还有一个问题想请教,我用网上提供的方法,在keil添加了stc的库,选择了stc89c52芯片,但是为什么生成HEX文件时,占用空间如下:
Program Size: data=164.2 xdata=227 code=5138
却报错显示data空间不够呢,data最大有256字节空间吧。还请各位大神不吝赐教
回复

使用道具 举报

地板
ID:901750 发表于 2021-4-7 12:21 | 只看该作者
啤酒瓶子老大 发表于 2021-4-7 12:08
这个也不是新出的,但程序可以兼容。具体还是自己查一下数据手册吧。只有自己找到答案,才是真正学会了。

谢谢您的回答,数据手册讲兼容的是stc89c54但不知和stc89c52是否通用,所以前来求教一下
回复

使用道具 举报

5#
ID:139866 发表于 2021-4-7 16:10 | 只看该作者
稼轩里 发表于 2021-4-7 12:18
还有一个问题想请教,我用网上提供的方法,在keil添加了stc的库,选择了stc89c52芯片,但是为什么生成HEX文 ...

不是从0X00000开始保存数据的
回复

使用道具 举报

6#
ID:883031 发表于 2021-4-7 16:20 | 只看该作者
你要看一下两种芯片的引脚数以及引脚定义是否相同。

评分

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

查看全部评分

回复

使用道具 举报

7#
ID:901927 发表于 2021-4-7 16:20 | 只看该作者
基本无需改动,但是要注意选型
回复

使用道具 举报

8#
ID:883031 发表于 2021-4-7 16:21 | 只看该作者
稼轩里 发表于 2021-4-7 12:18
还有一个问题想请教,我用网上提供的方法,在keil添加了stc的库,选择了stc89c52芯片,但是为什么生成HEX文 ...

对于51单片机来说,低128data采用的是立即寻址,高128data采用的是寄存器间接寻址,你把某些变量定义成idata类型,应该不会报错了。
回复

使用道具 举报

9#
ID:71233 发表于 2021-4-7 16:30 | 只看该作者
STC的型号特别多,要使用哪一种型号,都必须详细了解这种芯片各引脚的功能,弄明白寄存器设置方法。型号不同,一定就有它不同的地方。因为各人使用的功能不同,使用的寄存器也不同,所以、谁都无法告诉你是否可以通用,只能自己看手册去确定是否可以通用。

评分

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

查看全部评分

回复

使用道具 举报

10#
ID:901750 发表于 2021-4-7 16:38 | 只看该作者
本帖最后由 稼轩里 于 2021-4-7 16:53 编辑
cn_zhx 发表于 2021-4-7 16:21
对于51单片机来说,低128data采用的是立即寻址,高128data采用的是寄存器间接寻址,你把某些变量定义成id ...

谢谢您的回答。不知道我这样处理可以吗,我在memory model里设置为compact,有一些变量用data来定义,让它不被默认存进xdata里。倒是没有报错,占用空间为:Program Size: data=82.2 xdata=237 code=5305,xdata有不够用的风险,恰恰好,请问是否可以呢?
回复

使用道具 举报

11#
ID:901750 发表于 2021-4-7 16:39 | 只看该作者
新新科技 发表于 2021-4-7 16:30
STC的型号特别多,要使用哪一种型号,都必须详细了解这种芯片各引脚的功能,弄明白寄存器设置方法。型号不 ...

谢谢
回复

使用道具 举报

12#
ID:901750 发表于 2021-4-7 16:40 | 只看该作者
天ノ忆 发表于 2021-4-7 16:10
不是从0X00000开始保存数据的

谢谢,那么keil给出的data的数据要在多少以下才可以呢?
回复

使用道具 举报

13#
ID:390416 发表于 2021-4-7 16:51 | 只看该作者
你们的网络延迟这么多年吗?STC89是最早出的,STC90系列是较早出的,后来出了STC11  STC12 STC15 现在都出了STC8了。8K的RAM,够你玩
回复

使用道具 举报

14#
ID:901750 发表于 2021-4-7 20:12 | 只看该作者
人人学会单片机 发表于 2021-4-7 16:51
你们的网络延迟这么多年吗?STC89是最早出的,STC90系列是较早出的,后来出了STC11  STC12 STC15 现在都出 ...

我第一次做单片机设计,小白一个哈哈哈哈
回复

使用道具 举报

15#
ID:901750 发表于 2021-4-7 20:13 | 只看该作者
XIAONIU1 发表于 2021-4-7 16:20
基本无需改动,但是要注意选型

谢谢回答,选型就是在stc库里选对应型号就好吧
回复

使用道具 举报

16#
ID:901750 发表于 2021-4-7 20:14 | 只看该作者
cn_zhx 发表于 2021-4-7 16:20
你要看一下两种芯片的引脚数以及引脚定义是否相同。

谢谢,是相同的
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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