|
写了个简单的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的问题。程序如下,<br />MOV P1,#0F6H ;初始化p0<br />main: MOV 29H,#0aaH <br /> ACALL SEND<br /> SETB P1.3<br /> NOP<br /> NOP<br /> NOP<br /> NOP<br /> NOP<br /> NOP<br /> NOP<br /> NOP<br /> NOP<br /> NOP<br /> NOP<br /> NOP<br /> NOP<br /> NOP<br /> NOP<br /> NOP<br /> CLR P1.3<br /> ljmp main<br />SEND: MOV R0,#08H ;发送显示数据<br />S_LOOP: MOV C,29H.2<br /> CLR P1.2<br /> NOP<br /> NOP<br /> NOP<br /> NOP<br /> MOV P1.1,C<br /> NOP<br /> NOP<br /> SETB P1.2<br /> MOV A,29H<br /> RL A<br /> MOV 29H,A<br /> NOP<br /> NOP<br /> NOP<br /> NOP<br /> CLR P1.2<br /> DJNZ R0,S_LOOP<br /> CLR P1.1<br /> RET<br /> |
|