循环显示的程序很简单,如下所示:
ORG 0000H
LJMP START
ORG 0030H
START:
MOV DPTR, #LED_TAB
MOV R3, #16 ;此数字应与显示的花样个数相同
LOOP_DISP:
MOV A, R3
MOVC A, @A+DPTR
MOV P1, A
LCALL DELAY
DJNZ R3, LOOP_DISP
SJMP START
LED_TAB:
DB 0FFH, 00H,0FFH, 00H, 01H, 03H, 07H, 0FH,......
; 全灭,全亮,全灭,全亮,亮7个,亮6个,亮5个,亮4个......
;显示花样数据,任意编写,不要超过256个
DELAY: MOV R6, #200
LP: MOV R7, #250
DJNZ R7, $
DJNZ R6, LP
RET