74HC595具有一個8位串行輸入并行輸出的移位寄存器和一個8位輸出鎖存器。74HC595是一個8位串行輸入、并行輸出的位移緩存器:并行輸出為三態(tài)輸出。在SCK 的上升沿,串行數(shù)據(jù)由SDL輸入到內(nèi)部的8位位移緩存器,并由Q7‘輸出,而并行輸出則是在LCK的上升沿將在8位位移緩存器的數(shù)據(jù)存人到8位并行輸出緩存器。
;================================================
;74HC595 走馬燈演示程序
;創(chuàng)作日期:2007/08/012
;創(chuàng)作者:給我一支煙
;================================================
SDATA_595EQUP1.0 ;串行數(shù)據(jù)輸入
SCLK_595 EQUP1.1 ;移位時鐘脈沖
RCK_595EQUP1.2 ;輸出鎖存器控制脈沖
;================================================
ORG0000H
LJMPMAIN
ORG0030H
;================================================
MAIN:
MOVSP,#60H
MOVR0,#0FEH
MAIN1:
CALL OUT_595
CALLDELAY
MOVA,R0
RLA
MOVR0,A
JMPMAIN1
;---------------------------------------------------------------
;輸出鎖存器輸出數(shù)據(jù)子程序
;---------------------------------------------------------------
OUT_595:
LCALL WR_595
CLRRCK_595
NOP
NOP
SETB RCK_595;上升沿將數(shù)據(jù)送到輸出鎖存器
NOP
NOP
NOP
CLRRCK_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
;--------------------------------------------------------------
;延時子程序
;--------------------------------------------------------------
DELAY:
MOVR5,#03H
DEL0:
MOVR6,#0FFH
DEL1:
MOVR7,#0FFH
DJNZR7,$
DJNZR6,DEL1
DJNZR5,DEL0
RET
;---------------------------------------------------------------
END
-
74HC595
+關注
關注
7文章
191瀏覽量
30839 -
走馬燈
+關注
關注
0文章
12瀏覽量
7715
發(fā)布評論請先 登錄
相關推薦
評論