这个XBYTE【0XE000】是控制什么的,具体是什么意思,和P0是什么关系
XBYTE是一个地址指针(可当成一个数组名或数组的首地址),它在文件absacc.h中由系统定义,指向外部RAM(包括I/O口)的0000H单元,
XBYTE后面的中括号[ ]0xE000H是指数组首地址E000H的偏移地址,即用XBYTE[0xE000]可访问偏移地址为0xE000的I/O端口。
这个主要是在用C51的P0,P2口做外部扩展时使用,其中XBYTE [0xE000],P2口对应于地址高位,P0口对应于地址低位。
一般P2口用于控制信号,P0口作为数据通道。
比如:P2.7接WR,P2.6接RD,P2.5接CS,那么就可以确定个外部RAM的一个地址,想往外部RAM的一个地址写一个字节时,地址可以定为XBYTE [0x4000],其中WR,CS为低,RD为高,那就是高位的4,当然其余的可以根据情况自己定,然后通过
XBYTE [0x4000] = 57;
这赋值语句,就可以把57写到外部RAM的0x4000处了,此地址对应一个字节。
简单来说就是实现对XDATA空间的地址进行读写操作,一般用于对外部总线设备寄存器进行读写。
操作这个会影响外部总线相关的端口,包括P0, P2,还有P3的部分控制端口,具体参考51单片机的外部寻址时序。