請教下面中的兩個地址 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數(shù)據(jù)端口的I/O地址 */ 多謝
是單片機操作375的地址
:)我這么想的,但為什么 CH375_DAT_PORT 要在 CH375_CMD_PORT 之前這么多,是不是從0xBCF0-0xBDF0都看作數(shù)據(jù)緩沖區(qū)阿, 另外,如果我單片機片選ch375的地址是從0xC000-0xDFFF,那么我可以從其中任選兩個地址as端口地址啊, 只要保證兩點: (1)命令端口地址的位0是1,eg 0xC901 (2)數(shù)據(jù)端口地址的位0是0,eg 0xC800 而把我要保存到u盤里的數(shù)據(jù)寫到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) 數(shù)據(jù)端口: x x x x x x 0 0 x x x x x x x x (Bin) 滿足上述組合的端口地址有N種之多,但是命令端口只能是 X1XX,X5XX,X9XX,XDXX (Hex) 數(shù)據(jù)端口只能是: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),數(shù)據(jù)口地址就是:1111 0xxx xxxx xxxx (Bin),F(xiàn)800(命令)、F700(數(shù)據(jù))就滿足
:)明白了,很有價值,很謝謝你