;=======================================================
;利用串行轉并行芯片 調數據表
;========================================================
MR EQU P3.4;MR低電平移位寄存器清零
SH EQU P3.7;SH上升沿數據寄存器移位
ST EQU P3.6;上升沿移位寄存器數據進入數據寄存器
OE EQU P3.3;高電平禁止輸出(高阻態)
DSA EQU P3.5;串行數據輸入
;========================================================
;============主程序============================================
KAI:MOV R0,#00H
MOV DPTR,#TAB
SS: MOV A,R0
MOVC A,@A+DPTR
LCALL W595
INC R0
MOV A,R0
CJNE A,#5D,SS
AJMP KAI
W595:MOV R4,#08H;確定輸出為8位數據
WR_LOOP:RLC A
MOV DSA,C;寫入第一位數據
LCALL DELAY
LCALL DELAY
DJNZ R4,WR_LOOP;等待數據全部發送完畢
RET
;=============================================================
;短延時子程序
;=============================================================
DELAY:MOV R6,#20D
DEL1:MOV R7,#20D
DJNZ R7,$
DJNZ R6,DEL1
RET
TAB:DB 00111110B,01001000B,10000010B,00111111B,11111111B
END
|