用74hc373扩展32个输出端口,接法如图: /OE接地,2个373的LE分别接P2.0-P2.1,373的D0-D7都接P0.0-P0.7,373的Q0-Q7
接发光二极管。 实际做板子试验的时候,测试程序如下: ORG 0000H AJMP MAIN ORG 0100H MAIN: MOV DPTR,#0F2FFH;P2.1=1,P2.0=0,第一个373被选通接受P0口 MOV A,#00h;第一组发光二极管全黑 MOVX @DPTR,A;这个时候,用万用表测P0,P2口电压分别是多少呢?(
对比下我的 测试结果) ACALL time1s 等待1秒
MOV DPTR,#0F2FFH; MOV A,#0FFH;第一组发光二极管全亮 MOVX @DPTR,A;这个时候,用万用表测P0,P2口电压分别是多少呢?(对
比下我的 测试结果) ACALL time1s
MOV DPTR,#0F1FFH;P2.1=0,P2.0=1,第二个373被选通接受P0口 MOV A,#00h;第二组全黑 MOVX @DPTR,A ACALL time1s
MOV DPTR,#0F1FFH MOV A,#0FFH;第二组全亮 MOVX @DPTR,A这个时候,用万用表测P0,P2口电压分别是多少呢?(对比
下我的 测试结果) ACALL time1s
AJMP MAIN;循环
time1s: mov r5,#08h ;延时子程序 time1s_1: mov r6,#0f4h time1s_2: mov r7,#0ffh loop: djnz r7,loop djnz r6,time1s_2 djnz r5,time1s_1 ret 将以上程序写入AT89C52,用万用表测试P0P2口结果为: PO全为1,P2全为1(插上373) P0全为0,P2全为1(取下373) 完全和预期不合啊!!!! 我预期P0口在1和0之间来回切换,P2口除了P2.0,P2.1外全为1,P2.0和P2.1都在1和0之间切换。 是这程序有问题吗?? |