我的電路是仿效CH375的datasheet1中的并行電路畫的,只是單片機(jī)的P2^7直接和ch375的cs相聯(lián),而P2^7經(jīng)過7404反相后和62256的片選相聯(lián),也就是62256的地址為8000-FFFF,下面是我的簡(jiǎn)單的測(cè)試程序,為什么沒反應(yīng)。我用的是STC89C54RD+單片機(jī)。 #include #include "CH375INC.H" #include /* 以下定義適用于MCS-51單片機(jī),其它單片機(jī)參照修改 */ #define UINT8 unsigned char #define UINT16 unsigned short #define UINT32 unsigned long #define UINT8X unsigned char xdata #define UINT8VX unsigned char volatile xdata UINT8VX CH375_CMD_PORT _at_ 0x0ff1; /* CH375命令端口的I/O地址 */ UINT8VX CH375_DAT_PORT _at_ 0x0ff0; /* CH375數(shù)據(jù)端口的I/O地址 */
sfr AUXR=0x8e;//聲明AUXR寄存器的地址
void mDelaymS( UINT8 delay ) { UINT8 i, j, c; for ( i = delay; i != 0; i -- ) { for ( j = 200; j != 0; j -- ) c += 3; for ( j = 200; j != 0; j -- ) c += 3; } }
void CH375_WR_CMD_PORT( UINT8 cmd ) { /* 向CH375的命令端口寫入命令 */ CH375_CMD_PORT=cmd; for ( cmd = 2; cmd != 0; cmd -- ); /* 發(fā)出命令碼前后應(yīng)該各延時(shí)2uS */ } void CH375_WR_DAT_PORT( UINT8 dat ) { /* 向CH375的數(shù)據(jù)端口寫入數(shù)據(jù) */ CH375_DAT_PORT=dat; /* 因?yàn)镸CS51單片機(jī)較慢所以實(shí)際上無需延時(shí) */ } UINT8 CH375_RD_DAT_PORT( void ) { /* 從CH375的數(shù)據(jù)端口讀出數(shù)據(jù) */ return( CH375_DAT_PORT ); /* 因?yàn)镸CS51單片機(jī)較慢所以實(shí)際上無需延時(shí) */ }
main() {
mDelaymS(200); AUXR=0x02;//禁止STC89C54RD+的內(nèi)部擴(kuò)展RAM
// mInitSTDIO( ); CH375_WR_CMD_PORT(CMD_SET_USB_MODE); CH375_WR_DAT_PORT(6); CH375_WR_CMD_PORT(CMD_CHECK_EXIST);//測(cè)試狀態(tài) CH375_WR_DAT_PORT(5); TEST=CH375_RD_DAT_PORT(); P1=TEST; //通過測(cè)量P1的值來判定
while(1); } 好像ch375沒有工作,苦惱啊,大俠們幫幫忙,幫我分析分析,上面測(cè)試程序沒錯(cuò)吧, 還有一般ch375不工作都有哪些情況。下面是我的PCB圖。