serial led disp.asm
来自「《Proteus在MCS-51&ARM7系统中的应用百例》书中附带原程序代码」· 汇编 代码 · 共 38 行
ASM
38 行
DBUF0 EQU 30H ;置存储区首址
TEMP EQU 40H ;置存储区首址
DIN BIT 0B0H ;置串行输出口
CLK BIT 0B1H ;置时钟输出口
ORG 00H
MOV 30H,#1H ;存入显示数据
MOV 31H,#5H
DISP: MOV R0,#DBUF0
MOV R1,#TEMP
MOV R2,#2
DP10: MOV DPTR,#SEGTAB ;表头地址
MOV A,@R0
MOVC A,@A+DPTR ;查表指令
MOV @R1,A
INC R1
INC R0
DJNZ R2,DP10
MOV R0,#TEMP ;段码地址指针
MOV R1,#2 ;段码字节数
DP12: MOV R2,#8 ;输出子程序
MOV A,@R0 ;取段码
DP13: RLC A ;段码左移
MOV DIN,C ;输出一位段码
CLR CLK ;发送位移脉冲一位
SETB CLK
DJNZ R2,DP13
INC R0
DJNZ R1,DP12
SJMP $
SEGTAB: DB 3FH,06H,5BH,4FH,66H ;0,1,2,3,4
DB 6DH,7DH,07H,7FH,6FH ;5,6,7,8,9
DELAY: MOV R4,#03H ;延时子程序
AA1: MOV R5,#0FFH
AA: DJNZ R5,AA
DJNZ R4,AA1
RET
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?