写了个简单的595驱动,用89s52传一个8位数据。控制孔定义如下,P1.0 OE,P1.1 DA,P1.2 CK,P1.3 LA,硬件上s52的p1口接个74hc245,其他引脚信号正常,就是la信号不对。用示波器测p1.3正常,245输出p1.3高电平只有2.xv,改用其他引脚作la还是同样问题,看起来不像是mcu或245的问题。程序如下, MOV P1,#0F6H ;初始化p0 main: MOV 29H,#0aaH ACALL SEND SETB P1.3 NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP CLR P1.3 ljmp main SEND: MOV R0,#08H ;发送显示数据 S_LOOP: MOV C,29H.2 CLR P1.2 NOP NOP NOP NOP MOV P1.1,C NOP NOP SETB P1.2 MOV A,29H RL A MOV 29H,A NOP NOP NOP NOP CLR P1.2 DJNZ R0,S_LOOP CLR P1.1 RET |