📄 ch8_disp8-2.asm
字号:
程序范例:DISP8-2.ASM
CNT EQU 30H
ORG 0000H
MOV P1,#BFH
START MOV R1,#00H
$ DJNZ R1,$
MOV SP,#50H
;
MOV CNT,#00H ;计数值先清为0
LOOP MOV A,CNT ;读取计数值至累加器中
MOV DPTR,#TABLE ;定义字形表的起始地址
MOVC A,@A+DPTR ;查询计数值所对应的字形码
CALL OUTPUT
INC CNT ;计数值加1
MOV A,CNT ;将计数值存到累加器中
CJNG A,#10,LOOP ;判断累加器中计数值等于10则离开循环
MOV CNT,#00H ;将计数值填成0
SJMP LOOP
;
;7 SEGMENT DISPLAY TABLE
TABLE DB 3FH ;0
DB 06H ;1
DB 5BH ;2
DB 4FH ;3
DB 66H ;4
DB 6DH ;5
DB 7DH ;6
DB 27H ;7
DB 7FH ;8
DB 6FH ;9
OUTPUT
CPL A ;输出时因为电路设计的缘故,所以要做取反处理
MOV P1,A
CALL DELAY
RET
;
DELAY MOV R0,#00H
$1 MOV R1,#00H
$ DJNZ R1,$
DJNZ R0,$1
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -