51进行外部总线扩展的时候,可不可以不加锁存器件呢,,就扩展一个总线地址,用总线的速
51兼容芯片,S*T*C的,内部有XDATA 1K,
进行外部扩展的时候,如下这样,,
unsigned char volatile xdata CMD_PORT _at_ 0x7FFF; /* 命令端口的I/O地址 */
unsigned char volatile xdata DAT_PORT _at_ 0x3FFF; /* 数据端口的I/O地址 */
A0应该是在上面的地址是CMD为1,DATA为0的,
CS应该在上面的地址 是一直为0的.
再就是把上面的地址要超出内置的XDATA地址之外,,
我不想加上锁存器,太麻烦了,,
起直接P2上接地址那几根线,P2.7 P2.6接 A0 CS
WR RD还是按原样接,
P0直接接数据口,,
但是这样一直没的操作成功呢,,,
请哪位大虾给指点一二.. unsigned char volatile xdata CMD_PORT _at_ 0x7FFF; /* 命令端口的I/O地址 */
unsigned char volatile xdata DAT_PORT _at_ 0x3FFF; /* 数据端口的I/O地址 */
A0应该是在上面的地址是CMD为1,DATA为0的,
CS应该在上面的地址 是一直为0的.
起直接P2上接地址那几根线,P2.7 P2.6接 A0 CS
地址有错误吧?
unsigned char volatile xdata CMD_PORT _at_ 0x8000; /* 命令端口的I/O地址 */
unsigned char volatile xdata DAT_PORT _at_ 0x0000; /* 数据端口的I/O地址 */ unsigned char volatile xdata DAT_PORT _at_ 0x0000; /* 数据端口的I/O地址 */
和内部地址冲突,不会输出
得换接线方式 直接P2上接地址那几根线,P2.7 P2.6接 CS A0
unsigned char volatile xdata CMD_PORT _at_ 0x4F00; /* 命令端口的I/O地址 */
unsigned char volatile xdata DAT_PORT _at_ 0x0F00; /* 数据端口的I/O地址 */ 我试下,3Q 弱弱的问一句,哪位大哥能说一下_at_作用
页:
[1]