• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

各位高人我是单片机新手,问一关于C51程序储存器使用量的问题

在KEILC51里面,编译程序通过之后,
在下面会有XDATA和DATA还有CODE的使用情况
比如我的DEVICE选择的是AT89C51,4K程序储存器
那我的CODE使用到百分之多少算是危险了?
DATA使用到百分之多少算是危险了?
XDATA使用到百分之多少算是危险了?
请各位高人指导~~
全部回复(5)
正序查看
倒序查看
ppp123456
LV.5
2
2006-06-07 22:19
只要不超过即可.
0
回复
wanyou132
LV.2
3
2006-06-08 10:01
@ppp123456
只要不超过即可.
只要不超过
那也有极限啊
AT89C51的CODE使用到4096
DATA使用到80
XDATA也使用到上限
我也知道这样是完全利用了AT89C51的空间
但是我记得DATA使用到70已经算是危险了,
0
回复
slowdown
LV.1
4
2006-06-08 15:33
@wanyou132
只要不超过那也有极限啊AT89C51的CODE使用到4096DATA使用到80XDATA也使用到上限我也知道这样是完全利用了AT89C51的空间但是我记得DATA使用到70已经算是危险了,
我算是51初学者,对这个问题也有兴趣,大家探讨一下吧.
我自己理解,反正CODE不能由51自己写,那都用完也没事.
DATA一般是有堆栈在里头的,看我们软件的子函数跳转情况了.我一般都是写小程序,嵌套很少上10层,调用情况自己又很清楚,就没在意这个,想来留出二、三十字节应该够用了.程序复杂、变量又多的话,可就要好好合计合计了.不过现在51的增强机种很多,应该不难从硬件上解决.
(XDATA现在应该没什么人用了吧?E2P或闪存应该也不是这个用法)
在此顺便请教各位,只使用keil uv3,怎么在debug功能下看到某段程序运行中的内存用量和机器周期?请指点我应该在那里找相关信息,谢谢!
0
回复
wanyou132
LV.2
5
2006-06-09 17:00
@slowdown
我算是51初学者,对这个问题也有兴趣,大家探讨一下吧.我自己理解,反正CODE不能由51自己写,那都用完也没事.DATA一般是有堆栈在里头的,看我们软件的子函数跳转情况了.我一般都是写小程序,嵌套很少上10层,调用情况自己又很清楚,就没在意这个,想来留出二、三十字节应该够用了.程序复杂、变量又多的话,可就要好好合计合计了.不过现在51的增强机种很多,应该不难从硬件上解决.(XDATA现在应该没什么人用了吧?E2P或闪存应该也不是这个用法)在此顺便请教各位,只使用keiluv3,怎么在debug功能下看到某段程序运行中的内存用量和机器周期?请指点我应该在那里找相关信息,谢谢!
在debug下面调试的时候,
你看看左边的框框里面,
应该有内存用量和机器周期的
呵呵
我记得好象是有
0
回复
g_yong
LV.4
6
2006-06-09 17:24
@ppp123456
只要不超过即可.
对,如果全部都刚刚用完也没什么危险.因为没有操作系统,如果编译时没用到的内存或程序储存器,则系统永远也不会用到它.除非你修改程序.
0
回复