📄 51单片机和max7219的接口及编程应用(王青,刘爱娟).txt
字号:
ORG 0000H
DIN EQU P1.7
CLK EQU P1.6
LOAD EQU P1.5
LJMP MAIN
ORG 0030H
MAIN: MOV SP,#30H ;设置堆栈
CLR EA ;关中断
SSS: MOV 7BH,#00H
MOV 7CH,#0CH
LCALL SHONG ;关断寄存器0CH D0位送0,处于关断状态
LCALL YAN ;延时
MOV 7BH,#00H
MOV 7CH,#0FH
LCALL SHONG ;测试寄存器0FH送0,处于正常显示态
MOV 7BH,#0FH
MOV 7CH,#09H
LCALL SHONG ;译码控制寄存器09H送0FH,0-7位处于译码态
MOV 7BH,#07H
MOV 7CH,#0BH
LCALL SHONG ;扫描数量(界限)寄存器0BH送07H,表示
;需用0――7位,共8位数码管
MOV 7BH,#0FH
MOV 7CH,#0AH
LCALL SHONG ;亮度控制寄存器0AH送0FH,处于最亮态
MOV 7BH,#01H
MOV 7CH,#0CH
LCALL SHONG ;关断寄存器0CH D0位送1,退出关断状态
MOV 7BH,#00H
MOV 7CH,#01H
LCALL SHONG ;给第1位数码管送数字0
MOV 7BH,#01H
MOV 7CH,#02H
LCALL SHONG ;给第2位数码管送数字1
MOV 7BH,#02H
MOV 7CH,#03H
LCALL SHONG ;给第3位数码管送数字2
MOV 7BH,#03H
MOV 7CH,#04H
LCALL SHONG ;给第4位数码管送数字3
MOV 7BH,#04H
MOV 7CH,#05H
LCALL SHONG ;给第5位数码管送数字4
MOV 7BH,#05H
MOV 7CH,#06H
LCALL SHONG ;给第6位数码管送数字5
MOV 7BH,#06H
MOV 7CH,#07H
LCALL SHONG ;给第7位数码管送数字6
MOV 7BH,#07H
MOV 7CH,#08H
LCALL SHONG ;给第8位数码管送数字7
. . . . . . . . .
. . . . . . . . . ;以下略
SHONG: MOV 7DH,#08H ;移位数目八位
MOV A,7CH ;取出要送的数
LOOP1: RLC A
MOV DIN,C
CLR CLK ;时钟拉低
NOP
NOP
NOP
NOP
NOP ;延时
SETB CLK ;时钟变高
DJNZ 7DH,LOOP1 ;八位未完,继续循环
MOV A,7BH ;取出要送的数
MOV 7DH,#08H ;移位数目八位
LOOP2: RLC A
MOV DIN,C
CLR CLK ;时钟拉低
NOP
NOP
NOP
NOP
NOP ;延时
SETB CLK ;时钟变高
DJNZ 7DH,LOOP2 ;八位未完,继续循环
CLR LOAD ;LOAD拉低
NOP
NOP
NOP
NOP ;延时
SETB LOAD ;LOAD变高
RET
YAN: MOV 7AH,#0E0H
YY: DJNZ 7AH,YY
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -