请教下面中的两个地址 0xBDF1和0xBCF0,是单片机里的地址么(既由地址译码器选中ch375的地址编号)还是u盘的对应地址啊 unsigned char volatile xdata CH375_CMD_PORT _at_ 0xBDF1; /* CH375命令端口的I/O地址 */ unsigned char volatile xdata CH375_DAT_PORT _at_ 0xBCF0; /* CH375数据端口的I/O地址 */ 多谢
是单片机操作375的地址
:)我这么想的,但为什么 CH375_DAT_PORT 要在 CH375_CMD_PORT 之前这么多,是不是从0xBCF0-0xBDF0都看作数据缓冲区阿, 另外,如果我单片机片选ch375的地址是从0xC000-0xDFFF,那么我可以从其中任选两个地址as端口地址啊, 只要保证两点: (1)命令端口地址的位0是1,eg 0xC901 (2)数据端口地址的位0是0,eg 0xC800 而把我要保存到u盘里的数据写到0xA00-0xDFFF
倒! 按测试电路的接法,P2.1(A9)接CH372片选引脚,P2.0(A8)接CH375的A0脚,因此: 51地址引脚: A15 A14 A13 A12 A11 A10 A09 A08 A07 A06 A05 A04 A03 A02 A01 A00 命令端口可以是: x x x x x x 0 1 x x x x x x x x (Bin) 数据端口: x x x x x x 0 0 x x x x x x x x (Bin) 满足上述组合的端口地址有N种之多,但是命令端口只能是 X1XX,X5XX,X9XX,XDXX (Hex) 数据端口只能是:X0XX,X4XX,X8XX,XCXX (Hex)。
片选决定地址!
你其它地方要使用A00(?)—DFFF地址空间,则应想法使CH375的端口地址处于这些地址之外,例如可以使用译码芯片138,A、B、C、E3分别接51的P2.7、P2.6、P2.5、P2.4,138的Y7接CH375的CS脚;51的P2.3接CH375的A0脚。这样,CH375的命令口地址就是:1111 1xxx xxxx xxxx (Bin),数据口地址就是:1111 0xxx xxxx xxxx (Bin),F800(命令)、F700(数据)就满足
:)明白了,很有价值,很谢谢你