写0X06返回的都是0XFA void CH375_WR_CMD( uchar cmd ) { /* 向CH375的命令端口写入命令,周期不小于4uS,如果单片机较快则延时 */ A0 = 1 ; WR = 0 ; RD = 1 ; CS = 0 ; DATA_PORT = cmd ; delayus(10) ; WR = 1 ; CS = 1 ; delayms(1); }
void CH375_WR_DAT( uchar dat ) { /* 向CH375的数据端口写入数据,周期不小于1.5uS,如果单片机较快则延时 */ A0 = 0 ; WR = 0 ; RD = 1 ; CS = 0 ; DATA_PORT = dat ; delayus(10) ; WR = 1 ; CS = 1 ; delayms(1); }
uchar CH375_RD_DAT(void) { /* 从CH375的数据端口读出数据,周期不小于1.5uS,如果单片机较快则延时 */ uchar dat = 0 ; A0 = 0 ; WR = 1 ; RD = 0 ; P0 = 0XFF ; CS = 0 ; dat = DATA_PORT ; delayus(10) ; RD = 1 ; CS = 1 ; delayms(1); return(dat) ; } void main(void) { uchar status = 0 ; Uart0_Init(57600) ; P0 = 0XFF ; P1 = 0XFF ; P2 = 0XFF ; P3 = 0XFF ; EA = 1 ; Send_Uart0(0x55) ; while(1) { CH375_WR_CMD(CMD_CHECK_EXIST); CH375_WR_DAT(0X55) ; status = CH375_RD_DAT() ; Send_Uart0(status) ; delayms(1000) ; } }