永发信息网

C51单片机里关于xbyte的问题

答案:2  悬赏:40  手机版
解决时间 2021-04-27 16:28
  • 提问者网友:鐵馬踏冰河
  • 2021-04-27 01:11
C51单片机里关于xbyte的问题
最佳答案
  • 五星知识达人网友:北城痞子
  • 2021-04-27 02:15
XBYTE定义的是外部地址,这样才能和接到你的IO口上的器件通信
关于你的不充问题:
你把0xff7c展开成二进制形式就全明白了,0xff7c的二进制是:1111,1111,0111,1100
再结合后面的注释可知外部电路管脚的对应关系为:
CS——P1.7
A0——P1.1
R/C——P1.0
用XBYTE定义的目的是将外部电路不同的功能编程不同的地址而已
这样就可以在程序里面通过直接对地址附置,就能使外部电路实现需要的功能,这样做还有一个好处就是在编译的时候会产生 MOVX 指令,这样可以操作WR和RD引脚,以实现特定的功能
至于用XBYTE定义的地址是多少就得根据实际的外围电路的连接来确定,不是随便写的
全部回答
  • 1楼网友:佘樂
  • 2021-04-27 02:22
#define XBYTE ((unsigned char volatile xdata *) 0)
这个是xbyte的原型..
注释还是注视..根本就没有初始化的作用,
另外后的注视..不是初始化某个值得作用,
而是对应地址的功能..
例如..ADLO 0xff7c 如果写这个地址那么A0=1 R/C=1 CS=0
这个和你电路里面的接法有关..因为地址是0x7f = 0b0
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯