我想用74HC595做为驱动,驱动LED数码管。 现在只是用这个芯片试验一下。 显示一个固定的数,静态显示,结果显示的不对,找不出原因,请帮助一下 下面就显示“0” SDATA_595 EQU P1.0 ;串行数据输入 SCLK_595 EQU P1.1 ;移位时钟脉冲 RCK_595 EQU P1.2 ;输出锁存器控制脉冲
ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV SP,#60H START:MOV R0,#3FH CALL OUT_595 CALL DELAY AJMP START ;输出锁存器输出数据子程序
OUT_595: LCALL WR_595 CLR RCK_595 NOP NOP SETB RCK_595 ;上升沿将数据送到输出锁存器 RET ;移位寄存器接收数据子程序 WR_595: CLR C MOV R4,#08H MOV A,R0 WR_LOOP: RRC A MOV SDATA_595,C SETB SCLK_595 ;上升沿发生移位 NOP NOP CLR SCLK_595 DJNZ R4,WR_LOOP RET ;延时子程序 DELAY: MOV R5,#03H DEL0: MOV R6,#0FFH DEL1: MOV R7,#0FFH DJNZ R7,$ DJNZ R6,DEL1 DJNZ R5,DEL0 RET
END |