你的ACK等待有误,现修改如下:wait:clr p0.2; 等待应答 setb p0.1 nop nop setb p0.2 loop: mov c,p0.1;从这句开始开始等待ACK jc loop;原句跳转到wailt等待是错误的, clr p0.1 clr p0.2 ret