8051提供了3个不同的存储空间.每个存储空间包括从0到最大存储范围的连续的字节地址空间..他们分别是CODE区,DATA区,特殊功能寄存器SFR,IDATA区,XDATA区
CODE区
他是存储代码段,用来存放可执行代码.被16位寻址,空间可达64K.代码段是只读的,当要对外接存储器件如EPROM进行寻址时,处理器会产生一个信号.
除了可执行代码,还可以在代码段中存储查询表,为此目的,8051提供了通过数据指针DPTR或程序计数器加上由累加器提供的偏移量进行寻址的指令,这样就可以把表头地址装入DPTR中,把表中要寻址的元素的偏移量装入累加器中,,8051在执行指令的过程中法这两者相加,由此可节省不少指令周期..
DATA区
8051内128字节的内部RAM,这部分主要是作为数据段.它采用直接寻址方式.在数据段中也可以通过R0和R1采用间接寻址,R0和R1被作为数据区的指针,将恢复或改变字节的地址放入R0或R1中..
其他略.
普通8051单片机存储器空间分配
空间名称 地址范围 说明
DATA D:00H~D:7FH 片内RAM直接寻址方式
BDATA D:20H~D:2FH 片内RAM位寻址方式
IDATA I:00H~I:FFH 片内RAM间接寻址方式
XTDATA X:0000H~X:FFFFH 64K片外RAM数据区
CODE C:0000H~C:FFFFH 64K片外ROM代码区
BANK0~BANK31 B0:0000H~B0:FFFFH 分组代码区,最大可扩展32*64KBROM
;;;
B31:0000H~B31:FFFFH
文章评论(0条评论)
登录后参与讨论