| 74HC595具有一個(gè)8位串行輸入并行輸出的移位寄存器和一個(gè)8位輸出鎖存器。 ;================================================ ;74HC595 走馬燈演示程序 ;創(chuàng)作日期:2007/08/012 ;創(chuàng)作者: 給我一支煙 ;================================================ SDATA_595 EQU P1.0 ;串行數(shù)據(jù)輸入 SCLK_595 EQU P1.1 ;移位時(shí)鐘脈沖 RCK_595 EQU P1.2 ;輸出鎖存器控制脈沖 ;================================================ ORG 0000H LJMP MAIN ORG 0030H ;================================================ MAIN: MOV SP,#60H MOV R0,#0FEH MAIN1: CALL OUT_595 CALL DELAY MOV A,R0 RL A MOV R0,A JMP MAIN1 ;--------------------------------------------------------------- ;輸出鎖存器輸出數(shù)據(jù)子程序 ;--------------------------------------------------------------- OUT_595: LCALL WR_595 CLR RCK_595 NOP NOP SETB RCK_595 ;上升沿將數(shù)據(jù)送到輸出鎖存器 NOP NOP NOP CLR RCK_595 RET ;-------------------------------------------------------------- ;移位寄存器接收數(shù)據(jù)子程序 ;-------------------------------------------------------------- WR_595: MOV R4,#08H MOV A,R0 WR_LOOP: RLC A MOV SDATA_595,C SETB SCLK_595 ;上升沿發(fā)生移位 NOP NOP CLR SCLK_595 DJNZ R4,WR_LOOP RET ;-------------------------------------------------------------- ;延時(shí)子程序 ;-------------------------------------------------------------- DELAY: MOV R5,#03H DEL0: MOV R6,#0FFH DEL1: MOV R7,#0FFH DJNZ R7,$ DJNZ R6,DEL1 DJNZ R5,DEL0 RET ;--------------------------------------------------------------- END |