📄 aaaa.asm
字号:
ORG 0200H
LJMP MAIN
ORG 0BH
LJMP DISPLAY
/*MAIN: MOV TMOD,#01H
MOV TH0,#(65536-1000)/256
MOV TL0,#(65536-1000) MOD 256
SETB TR0
SETB ET0
SETB EA
MOV SP,#20H */
MAIN:
LOOP: MOV DPTR,#7FF8H
MOVX @DPTR,A
MOV R6,#09H
DELAY: NOP
NOP
DJNZ R6,DELAY
MOVX A,@DPTR ;数据送入累加器
MOV B,#100 ;B=100
DIV AB ;累加器A除以寄存器B,相当于十进制的除法
MOV 33H,A ;商放在33H单元,相当于百位
MOV A,B ;暂存余数
MOV B,#10 ;暂存除数10
DIV AB ;余数与10做除法
MOV 34H,A ;余数商存储34H,相当于十位
MOV 35H,B ;存储个位
CALL DISPLAY
SJMP LOOP
;******************************************;
; LED 显示子程序
; 显示缓冲区为33H--35H
;******************************************;
DISPLAY:;MOV 50H,A
;PUSH B
MOV DPTR,#LED
MOV A,33H ;*******
; MOVC A,@A+DPTR
DA A
MOV P1,A ;送至P1口进行显示
SETB P3.0
CLR P3.1
CLR P3.2
LCALL DELAY1
MOV A,34H
;MOVC A,@A+DPTR
DA A
MOV P1,A
SETB P3.1
CLR P3.0
CLR P3.2
LCALL DELAY1
MOV A,35H
; MOVC A,@A+DPTR
DA A
MOV P1,A
SETB P3.2
CLR P3.0
CLR P3.1
LCALL DELAY1
CALL DELAY2
;MOV A,50H
;POP B
MOV TH0,#(65536-1000)/256
MOV TL0,#(65536-1000) MOD 256
RETI
;****************************************
;延时程序
;****************************************
DELAY1: MOV R5,#01H ;延时子程序
D: MOV R3,#0FFH
E: DJNZ R3,E
DJNZ R5,D
RET
DELAY2: MOV R5,#01H ;延时子程序
X: MOV R3,#0E2H
Z: DJNZ R3,Z
DJNZ R5,X
RET
;****************************************
;LED数据表 0 1 2 3
; 4 5 6 7
; 8 9
;****************************************
LED: DB 40H,0F9H,0A4H,0B0H
DB 99H, 92H ,82H,0F8H
DB 00H, 90H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -