51单片机的存储器

51采用哈弗结构总线,谈不上明白的透彻,没有深入用过51,就这样放着

调试68013时,用keil一切默认,忽然发现存储器空间不够了,超过了128B,看手册,

68013内部有256B内存,

8KB程序/数据空间,

8KB数据空间,其中4KB多用于FIFO(PDIU12才几十字节FIFO,怪不得这款51芯片能上高速),0.5KB用户随便用(scratch),剩余空间用于寄存器等,还有近3KB保留,但是用户可以使用(够奢侈)

单片机低128B叫data

高128B叫idata,声明该关键字后,内部ram可以用到256B,特殊功能寄存器也在高128B空间,但是用直接寻址,高128B数据空间用间接寻址

还有pdata,xdata,这两个好像类似,没太搞明白,用xdata声明的关键字,在keil bl51 locate里xdata range设置0xe000-0xe1fff(512B),这样编译器就可以自动分配这块空间了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值