• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

51单片机如何统一编址?

fda17c478812bc2e 2019-09-16 浏览量:1758
51单片机如何统一编址?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 51有四个地址空间,软件不能统一编址。 

    内部ram区(dataidatabdata修饰);

    位区(bit修饰,物理内存和bdata共享);

    rom区(code修饰);

    外部ram(pdata,xdata修饰)。

    • 发布于 2019-09-16
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:3
  • 在电路设计时,地址的分配不可能总是连续的,因为各种选通器件的电路不同,将导致出现离散的地址,这是就要用到XBYTE来决定绝对地址了。比如p2决定外部地址的高八位,它的一些引脚是选通器件的,所以对外部器件而言的地址跟单片机内部的地址是不一样的,这要根据经验来决定电路设计和绝对地址的分配。
    • 发布于2019-09-16
    • 举报
    • 评论 0
    • 1
    • 0

  • 其实我觉得普通开发不用关注这方面问题,

    因为这其实是开发工具考虑的问题,

    普通应用开发时一般不用涉及这方面,

    按规范进行开发就好,

    开发出的代码在编译时,

    工具系统会自动予以调整,

    毕竟现在更多的是用C在开发啦,不像原来是用汇编。

    • 发布于2019-09-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 在计算机系统中所谓独立编址,就是CPU根据不同的存储器、IO外设等采取不同的编制方法,读写有不同的指令,其编址空间有可能重叠也有可能不重叠,有可能连续也可能不连续,特点在于不同的寻址指令。而所谓统一编址,就是CPU根据不同的存储器、IO外设等采取相同的编制方法,读写使用相同的指令,区别只在于地址不同,其编址空间不可能重叠,但有可能连续也可能不连续,特点在于相同的寻址指令。
    51单片机采用的是独立编址体系。内部存储器低128字节地址从0开始,高128字节内部存储器地址和低128字节内部存储器地址相连,但和特殊功能寄存器地址重叠,而程序存储器也是从地址0开始,有外部RAM的单片机,其有外部RAM地址也是从0开始。尽管这样有几个地址重叠的情况,但由于有不同指令寻址,单片机执行指令是不会出现错误的。例如:
    内部存储器低128字节使用直接寻址,高128字节内部存储器只能使用R0、R1间接寻址,而特殊功能寄存器使用直接寻址,程序存储器使用MOVC寻址,外部RAM使用MOVX寻址,这样就不会混淆,完全区别开来了。
    • 发布于2019-09-16
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

51单片机如何统一编址?