74HC595具有一个8位串行输入并行输出的移位寄存器和一个8位输出锁存器。74HC595是一个8位串行输入、并行输出的位移缓存器:并行输出为三态输出。在SCK 的上升沿,串行数据由SDL输入到内部的8位位移缓存器,并由Q7‘输出,而并行输出则是在LCK的上升沿将在8位位移缓存器的数据存人到8位并行输出缓存器。
;================================================
;74HC595 走马灯演示程序
;创作日期:2007/08/012
;创作者:给我一支烟
;================================================
SDATA_595EQUP1.0 ;串行数据输入
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
;---------------------------------------------------------------
;输出锁存器输出数据子程序
;---------------------------------------------------------------
OUT_595:
LCALL WR_595
CLRRCK_595
NOP
NOP
SETB RCK_595;上升沿将数据送到输出锁存器
NOP
NOP
NOP
CLRRCK_595
RET
;--------------------------------------------------------------
;移位寄存器接收数据子程序
;--------------------------------------------------------------
WR_595:
MOV R4,#08H
MOV A,R0
WR_LOOP:
RLC A
MOV SDATA_595,C
SETB SCLK_595 ;上升沿发生移位
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浏览量
30843 -
走马灯
+关注
关注
0文章
12浏览量
7715
发布评论请先 登录
相关推荐
评论