51、AVR、PIC、ARM单片机的总线与存储空间的理解

51单片机

   特殊指令MOVC实现读取程序存储区域的静态数据,只能读取,不能写入,因此不能实现自编程。

   外部存储器通过P2、P0端口连接地址和数据总线,可实现扩展。P0与P2组合实现地址输出,

   P0实现数据总线,因此一个数据周期需要两个总线周期。16位地址可访问64K外部地址空间。

   外部内存地址与内部内存地址是平行的,因此都有0x0001,但是访问外部存储器通过MOVX指令实现。

-----------------

 

AVR:程序存储空间与SRAM数据存储空间独立编址。

           数据存储空间:通用寄存器、IO寄存器、临时数据区。

           静态数据存储在程序存储空间,用LPM、SPM指令存取静态常量。

           全局变量:存放在SRAM中,对于C语言来说,由编译器规划整个SRAM数据区域的内存分配。

         SRAM:全局变量、栈空间、堆空间,如果没有实现malloc,那么就没有实现堆管理。那么内存分配基本就是从栈上分配。因此就只存在两个区域,一个全局变量区,一个局部变量区(栈)。

AVR的内存地址空间的首地址是R0-R31通用寄存器。其它的状态寄存器SREG和堆栈指针寄存器SP

AVR可以实现自编程,通过SPM指令修改程序存储区。

------&#x

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值