因受CPU的RAM使用限制,参照实例试图自行编写基本不占用00H-7FHRAM而使用80H-FFH的USB读写程序。可调试之初就发现以下这段初始化程序就通不过,返回的测试码仍然是送出码而没取反。
;USB初始化子程序 CH375_INIT: MOV R5,#06H ;CHECK_EXIST测试工作状态 MOV R7,#65H LCALL SEND_CMD MOV DPTR,#CH375_DAT_PORT_ADDR MOVX A,@DPTR CJNE A,#9AH,CHECK_EXIST_1 ;65H取反为9AH MOV R7,#00H ;测试正常返回 RET CHECK_EXIST_1: MOV R5,#06H MOV R7,#9AH ;发送 06H,9AH LCALL SEND_CMD MOV DPTR,#CH375_DAT_PORT_ADDR MOVX A,@DPTR CJNE A,#65H,CHECK_EXIST_2 ;9AH取反为65H JZ CHECK_EXIST_3 CHECK_EXIST_2: MOV R7,#81H ;测试异常返回 RET ; SEND_CMD: MOV DPTR,#CH375_CMD_PORT_ADDR MOV A,R5 MOVX @DPTR,A NOP NOP NOP NOP NOP NOP NOP NOP MOV DPTR,#CH375_DAT_PORT_ADDR MOV A,R7 MOVX @DPTR,A NOP NOP NOP RET
采用CH375B芯片。并口连接。 请问问题出在哪里?请老大指点迷津。谢谢。