51单片DATA IDATA XDATA PDATA CODE的区别与访问速度!

in 学习笔记 with 0 comment

51单片机有以下几个内存模块组成:

RAM有
------内部RAM的低128字节(00-7F)
------内部RAM的高128字节(80-FF)---【89C51单片机没有这一段空间】
------特殊功能寄存器(SFR)(80-FF)
------外部RAM 64K(0000-FFFF)
data 表示的是内部RAM的低128字节,可以直接寻址,速度比较快
idata 表示内部RAM高128字节,只能是间接寻址,速度比data里的数据要慢。
此外,还有pdata,xdata,pdata是外部RAM中的前256个,也就是外部RAM中的00--FF,只能MOVX 间接寻址,但是,因为可以用R0做为指针,所以,速度与idata是一样的。
xdata是外部RAM的全部,也可以包括前256个,也就是说,外部RAM前256个,可以用pdata和xdata定义,都行,只能是MOVX 和 DPTR联合寻址,速度最慢。
code是程序代码存储空间也就是ROM或Flash!

Responses