CH376检测联机失败

我用C8051F020开发板与CH376并口通讯,用汇编编写的检测联机程序总是检测失败,硬件连接都很正确。哪位高手帮忙解决下,联机都失败更别提实现其他功能了。程序如下:

$include (c8051f020.inc) RD BIT P2.3 WR BIT P2.2 AO BIT P2.1 PCS BIT P2.0 LED BIT P1.6 ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV WDTCN,#0DEH MOV WDTCN,#0ADH;关闭看门狗 MOV OSCICN,#94H;设置内部振荡器为系统时钟,2MHZ系统时钟 LCALL CS_F020 LCALL CS_CH376 SJMP $

;C8051F020初始化 CS_F020: MOV XBR0,#00H MOV XBR1,#00H MOV XBR2,#40H;启动交叉开关 MOV P3MDOUT,#0FFH;设置P3口输出方式为推挽 MOV P2MDOUT,#0FH;设置P2口低四位输出方式为推挽 MOV P1MDOUT,#40H MOV P1,#00H MOV P2,#01H;不选中CH376 MOV P3,#00H RET

;CH376初始化 CS_CH376: MOV P3,#06H;检测联机命令 MOV P2,#0A0H;选中CH376,CH376芯片读选通,向CH376芯片写命令 ACALL YS MOV P2,#0C0H;选中CH376,但不进行任何操作 ACALL YS MOV P3,#0AAH;向P3端口写数据 MOV P2,#80H;向CH376芯片写数据 ACALL YS MOV P2,#0C0H ACALL YS MOV P3MDOUT,#00H MOV P3,#0FFH;设定P3为输入模式 MOV P2,#40H;从CH376的数据端口读出数据 ACALL YS MOV A,P3;读出CH376返回数据 CJNE A,#55H,CS_CH376;相等则说明联机成功,不相等则重新检测 SETB P1.6;点亮绿灯

X1:RET

;延时 YS:MOV R1,#10 DJNZ R1,$ RET END

CH376上电之后的复位延时在50ms左右,所以程序刚开始要有一个延时,读写控制线用的是P2口低四位,程序上面好像用的是高四位。 、 MOV P2,#0A0H;选中CH376,CH376芯片读选通,向CH376芯片写命令


只有登录才能回复,可以选择微信账号登录