📄 hy.asm
字号:
LED_0 EQU 30H
LED_1 EQU 31H
LED_2 EQU 32H
ADCDATA EQU 35H
CLOCK BIT P2.4
ST BIT P2.5
EOC BIT P2.6
OE BIT P2.7
ORG 0000H
JMP START
ORG 000BH
LJMP INT_T0
START:
MOV LED_0,#00H
MOV LED_1,#00H
MOV LED_2,#00H
MOV DPTR,#TABLE
MOV TMOD,#22H
MOV TH0,#245
MOV TL0,#00H
MOV IE,#82H
MOV SCON,#50H
ORL PCON,#80H
MOV TH1,#0F3H
MOV TL1,#0F3H
SETB TR0
SETB TR1
WAIT:
CLR ST
SETB ST
CLR ST
JNB EOC,$
SETB OE
MOV ADCDATA,P1
CLR OE
MOV A,ADCDATA
MOV B,#100
DIV AB
MOV LED_2,A
MOV A,B
MOV B,#10
DIV AB
MOV LED_1,A
MOV LED_0,B
LCALL DISP
LCALL AGAIN
SJMP WAIT
INT_T0:
CPL CLOCK
RETI
DISP: MOV DPTR,#TABLE
MOV A,LED_0
MOVC A,@A+DPTR
CLR P2.3
MOV P0,A
LCALL DELAY
SETB P2.3
MOV A,LED_1
MOVC A,@A+DPTR
CLR P2.2
MOV P0,A
LCALL DELAY
SETB P2.2
MOV A,LED_2
MOVC A,@A+DPTR
CLR P2.1
MOV P0,A
LCALL DELAY
SETB P2.1
RET
AGAIN:
MOV DPTR,#ASCII
MOV A,LED_2
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
MOV A,LED_1
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
MOV A,LED_0
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
MOV A,#0DH
MOV SBUF,A
JNB TI,$
CLR TI
RET
DELAY: MOV R6,#10 ;延时5ms
D1: MOV R7,#250
DJNZ R7,$
DJNZ R6,D1
RET
TABLE: DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
ASCII: DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -