ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV SP,#60H
MOV A,#11000000B
MOV DPTR,#7FFFH ;;8255控制口地址
MOVX @DPTR,A
START: MOV 26H,#0BH ;; 扫描寄存器 (显示位数)
MOV 27H,#07H ;; 取值由 00-- 07 , 分别表示显示 1 --- 8 个数码管
LCALL DISPLAY |
MOV 26H,#0CH ;; 关灭寄存器
MOV 27H,#01H ;; 取值为 0, 或 1. 为1,正常操作; 为0,关灭
LCALL DISPLAY
MOV 26H,#0FH ;; 测试寄存器
MOV 27H,#00H ;; 取值为 0, 或 1. 为1,测试状态; 为0,正常操作
LCALL DISPLAY
MOV 26H,#09H ;; 译码方式寄存器
MOV 27H,#0FFH ;; 取值为0FFH时为BCD码方式,00H时为段选码方
LCALL DISPLAY
MOV 26H,#01H ;; 位0
MOV 27H,#01H
LCALL DISPLAY
MOV 26H,#02H
MOV 27H,#02H
LCALL DISPLAY
MOV 26H,#03H
MOV 27H,#03H
LCALL DISPLAY
MOV 26H,#04H
MOV 27H,#04H
LCALL DISPLAY
MOV 26H,#05H
MOV 27H,#05H
LCALL DISPLAY
MOV 26H,#06H
MOV 27H,#06H
LCALL DISPLAY
MOV 26H,#07H
MOV 27H,#07H
LCALL DISPLAY
MOV 26H,#08H
MOV 27H,#08H
LCALL DISPLAY
DISPLAY:
PUSH 00H
MOV R0,#08H
MOV A,26H
L000: PUSH ACC
MOV A,#00H
MOV DPTR,#7FFFH
MOVX @DPTR,A
POP ACC
RLC A
MOV P1.6,C
NOP
PUSH ACC
MOV A,#01H
MOV DPTR,#7FFFH
MOVX @DPTR,A
POP ACC
DJNZ R0,L000
NOP
;;=====
MOV R0,#08H
MOV A,27H
L001: PUSH ACC
MOV A,#00H
MOV DPTR,#7FFFH
MOVX @DPTR,A
POP ACC
RLC A
MOV P1.6,C
NOP
PUSH ACC
MOV A,#01H
MOV DPTR,#7FFFH
MOVX @DPTR,A
POP ACC
DJNZ R0,L001
NOP
CLR P3.5 ;;即MAX7219的LOAD脚
NOP
NOP
SETB P3.5
pop 00H
RET
;;==================
END