📄 m7219b.asm
字号:
;/* 这是两片MAX7219级连显示16位LED时所用汇编程序, 文件名为 */
;/* M7219B.ASM 。两片MAX7219级连时,第二片的12脚、13脚依次接第一 */
;/* 片的12脚、13脚,第二片的第1脚接第一片的第24脚。 */
;/* 功能:本程序主要是将显示缓冲区的16位数在LED上显示出来, */
;/* 显示缓冲区为单片机的RAM区的40H,41HH,...,4FH连续的16个字节, */
;/* 其中扫描界、数码亮度、译码方式均可选,参见程序中的注释 。 */
DIN EQU P0.0
LOAD EQU P0.1
CLK EQU P0.2
ORG 0000H
LJMP MAIN
ORG 0050H
MAIN: MOV SP,#0CFH
CLR EA
MOV 40H,#07H ;0.1234567
MOV 41H,#06H
MOV 42H,#05H
MOV 43H,#04H
MOV 44H,#03H
MOV 45H,#02H
MOV 46H,#01H
MOV 47H,#80H
MOV 48H,#06H ;3.1415926
MOV 49H,#02H
MOV 4AH,#09H
MOV 4BH,#05H
MOV 4CH,#01H
MOV 4DH,#04H
MOV 4EH,#01H
MOV 4FH,#83H
SETB LOAD
LCALL INI2
LCALL DISP
SJMP $
INI2: MOV R2,#0CH ;选择扫描界0-7
MOV R3,#01H
MOV R4,#01H
LCALL WRIT
MOV R2,#0AH ;选择亮度 01-0FH
MOV R3,#02H
MOV R4,#02H
LCALL WRIT
MOV R2,#09H ;选择译码方式00,0FFH
MOV R3,#0FFH
MOV R4,#0FFH
LCALL WRIT
MOV R2,#0BH ;选择正常工作状态00,01
MOV R3,#07H
MOV R4,#07H
LCALL WRIT
RET
DISP: MOV R5,#8
MOV R0 ,#40H
MOV R1 ,#48H
MOV R2 ,#1
LOP3: MOV A,@R0
MOV R3 ,A
MOV A,@R1
MOV R4 ,A
LCALL WRIT
INC R0
INC R1
INC R2
DJNZ R5, LOP3
RET
WRIT: CLR LOAD
MOV A,R2
LCALL SEND
MOV A,R4
LCALL SEND
MOV A,R2
LCALL SEND
MOV A,R3
LCALL SEND
CLR LOAD
NOP
NOP
SETB LOAD
NOP
RET
SEND:
MOV R6,#08H
LOP1: NOP
NOP
CLR CLK
RLC A
MOV DIN,C
NOP
NOP
SETB CLK
DJNZ R6,LOP1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -