📄 text2.asm
字号:
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV SP,#60H
LCALL LED_00
LCALL LED_0
LCALL OW_REST
MOV 30H,#0CCH
LCALL WRITE_BYTE
MOV 30H,#44H
LCALL WRITE_BYTE
MAIN0: SETB F0
LCALL READ_TEMP
LCALL WORK_TEMP
LCALL LED_11
LCALL LED_1
AJMP MAIN0
OW_REST: NOP
LOOP: SETB P3.7
NOP
NOP
CLR P3.7
LCALL DElAY550US
SETB P3.7
LCALL DELAY65US
JB P3.7,LOOP1
LCALL DElAY550US
SETB P3.7
RET
LOOP1: AJMP LOOP
WRITE_BYTE: MOV R1,#08H
LOOP2: SETB P3.7
NOP
NOP
CLR P3.7
NOP
NOP
NOP
MOV A,30H
ANL A,#01H
RRC A
MOV P3.7,C
MOV A,30H
RR A
MOV 30H,A
LCALL DELAY65US
DJNZ R1,LOOP2
LCALL DELAY65US
SETB P3.7
RET
READ_BYTE: MOV R2,#08H
LOOP3: SETB P3.7
MOV A,40H
RR A
CLR P3.7
NOP
NOP
NOP
SETB P3.7
NOP
NOP
NOP
NOP
JB P3.7,LOOP4
ANL A,#7FH
AJMP LOOP5
LOOP4: ORL A,#80H
LOOP5: MOV 40H,A
LCALL DELAY65US
DJNZ R2,LOOP3
LCALL DELAY65US
SETB P3.7
RET
READ_TEMP: LCALL OW_REST
MOV 30H,#0CCH
LCALL WRITE_BYTE
MOV 30H,#0BEH
LCALL WRITE_BYTE
LCALL READ_BYTE
MOV 50H,40H
LCALL READ_BYTE
MOV 51H,40H
LCALL OW_REST
MOV 30H,#0CCH
LCALL WRITE_BYTE
MOV 30H,#044H
LCALL WRITE_BYTE
RET
WORK_TEMP: MOV A,51H
CJNE A,#127,LOOP7
JC LOOP7
MOV A,51H
CPL A
MOV 51H,A
MOV A,50H
CPL A
ADD A,#01H
MOV 50H,A
CLR F0
LOOP7: MOV A,50H
ANL A,#0FH
MOV 52H,A ; 存小数
MOV A,50H
ANL A,#0F0H
RR A
RR A
RR A
RR A
MOV 53H,A
MOV A,51H
ANL A,#0FH
RL A
RL A
RL A
RL A
ORL A,53H
MOV B,#64H
DIV AB
MOV 54H,A; 存百位
MOV A,B
MOV B,#0AH
DIV AB
MOV 55H,A ; 存十位
MOV 56H,B; 存个位
RET
LED_0: MOV R4,#04H
MOV R0,#0EFH
MOV DPTR,#TABLE
LED_01: CLR A
MOVC A,@A+DPTR
MOV P0,A
MOV P2,R0
MOV A,R0
RL A
MOV R0,A
INC DPTR
LCALL DELAY1MS
DJNZ R4,LED_01
RET
LED_1: MOV R3,#03H
LOOP11: MOV R5,#0FFH
LOOP00: LCALL LED_BAIWEI
LCALL LED_SHIWEI
LCALL LED_GEWEI
LCALL LED_XIAOSHU
DJNZ R5,LOOP00
DJNZ R3,LOOP11
RET
LED_XIAOSHU: MOV DPTR,#TABLE1
MOV A,52H
MOVC A,@A+DPTR
MOV R7,A
MOV DPTR,#TABLE2
MOV A,R7
MOVC A,@A+DPTR
MOV P2,#0EFH
MOV P0,A
LCALL DELAY1MS
RET
LED_GEWEI: MOV DPTR,#TABLE3
MOV A,56H
MOVC A,@A+DPTR
MOV P2,#0DFH
MOV P0,A
LCALL DELAY1MS
RET
LED_SHIWEI: MOV A,57H
CJNE A,#12H,LOOP21
MOV A,55H
CJNE A,#00H,LOOP25
MOV P2,#0BFH
MOV P0,#00H
RET
LOOP25: JB F0,LOOP21
MOV P2,#0BFH
MOV P0,#00H
RET
LOOP21: MOV DPTR,#TABLE2
MOV A,55H
MOVC A,@A+DPTR
MOV P2,#0BFH
MOV P0,A
LCALL DELAY1MS
RET
LED_BAIWEI: JB F0,LED_BAIWEI0
MOV P2,#7FH
MOV P0,#40H
LCALL DELAY1MS
RET
LED_BAIWEI0: MOV A,54H
CJNE A,#00H,LOOP20
MOV P2,#7FH
MOV P0,#00H
MOV 57H,#12H
RET
LOOP20: MOV DPTR,#TABLE2
MOVC A,@A+DPTR
MOV P2,#7FH
MOV P0,A
LCALL DELAY1MS
RET
LED_00: LCALL DELAY15MS; 初始化LED
MOV P1,#38H
MOV P3,#0F4H
CLR P3.2
LCALL DELAY5MS
MOV P1,#38H
MOV P3,#0F4H
CLR P3.2
LCALL DELAY5MS
MOV P1,#38H
MOV P3,#0F4H
CLR P3.2
LCALL DELAY5MS
MOV P1,#38H
MOV P3,#0F4H
CLR P3.2
LCALL DELAY5MS
MOV P1,#08H
MOV P3,#0F4H
CLR P3.2
LCALL DELAY5MS
MOV P1,#01H
MOV P3,#0F4H
CLR P3.2
LCALL DELAY5MS
MOV P1,#06H
MOV P3,#0F4H
CLR P3.2
LCALL DELAY5MS
MOV P1,#0CH
MOV P3,#0F4H
CLR P3.2
LCALL DELAY5MS
MOV P1,#54H
MOV P3,#0F5H
CLR P3.2
LCALL DELAY5MS
MOV P1,#65H
MOV P3,#0F5H
CLR P3.2
LCALL DELAY5MS
MOV P1,#6DH
MOV P3,#0F5H
CLR P3.2
LCALL DELAY5MS
MOV P1,#70H
MOV P3,#0F5H
CLR P3.2
LCALL DELAY5MS
MOV P1,#65H
MOV P3,#0F5H
CLR P3.2
LCALL DELAY5MS
MOV P1,#72H
MOV P3,#0F5H
CLR P3.2
LCALL DELAY5MS
MOV P1,#61H
MOV P3,#0F5H
CLR P3.2
LCALL DELAY5MS
MOV P1,#74H
MOV P3,#0F5H
CLR P3.2
LCALL DELAY5MS
MOV P1,#75H
MOV P3,#0F5H
CLR P3.2
LCALL DELAY5MS
MOV P1,#72H
MOV P3,#0F5H
CLR P3.2
LCALL DELAY5MS
MOV P1,#65H
MOV P3,#0F5H
CLR P3.2
RET
LED_11: JB F0,LOOP8
LCALL LED_FUHAO1
LOOP8: MOV R7,54H
LCALL LED_BAIWEI1
MOV R7,55H
LCALL LED_SHIWEI1
MOV R7,56H
LCALL LED_GEWEI1
LCALL LED_DIAN
LCALL LED_XIAOSHU1
RET
LED_FUHAO1: LCALL DELAY5MS
MOV P1,#0C5H
MOV P3,#0F4H
CLR P3.2
LCALL DELAY5MS
MOV P1,#2DH
MOV P3,#0F5H
CLR P3.2
RET
LED_BAIWEI1:CJNE R7,#00H,LOOP9
MOV 57H,#0A1H
RET
LOOP9: LCALL DELAY5MS
MOV P1,#0C5H
MOV P3,#0F4H
CLR P3.2
LCALL DELAY5MS
MOV A,R7
ADD A,#30H
MOV P1,A
MOV P3,#0F5H
CLR P3.2
RET
LED_SHIWEI1:CJNE R7,#00H,LOOP10
MOV A,#57H
CJNE A,#0A1H,LOOP10
RET
LOOP10: LCALL DELAY5MS
MOV P1,#0C6H
MOV P3,#0F4H
CLR P3.2
LCALL DELAY5MS
MOV A,R7
ADD A,#30H
MOV P1,A
MOV P3,#0F5H
CLR P3.2
RET
LED_GEWEI1: LCALL DELAY5MS
MOV P1,#0C7H
MOV P3,#0F4H
CLR P3.2
LCALL DELAY5MS
MOV A,R7
ADD A,#30H
MOV P1,A
MOV P3,#0F5H
CLR P3.2
RET
LED_DIAN: LCALL DELAY5MS
MOV P1,#0C8H
MOV P3,#0F4H
CLR P3.2
LCALL DELAY5MS
MOV P1,#2EH
MOV P3,#0F5H
CLR P3.2
RET
LED_XIAOSHU1:MOV A,52H
CJNE A,#00H,A0
MOV R6,#00H
LCALL LED
RET
A0: CJNE A,#01H,A1
MOV R6,#01H
LCALL LED
RET
A1: CJNE A,#02H,A2
MOV R6,#01H
LCALL LED
RET
A2: CJNE A,#03H,A3
MOV R6,#02H
LCALL LED
RET
A3: CJNE A,#04H,A4
MOV R6,#03H
LCALL LED
RET
A4: CJNE A,#05H,A5
MOV R6,#03H
LCALL LED
RET
A5: CJNE A,#06H,A6
MOV R6,#04H
LCALL LED
RET
A6: CJNE A,#07H,A7
MOV R6,#04H
LCALL LED
RET
A7: CJNE A,#08H,A8
MOV R6,#05H
LCALL LED
RET
A8: CJNE A,#09H,A9
MOV R6,#06H
LCALL LED
RET
A9: CJNE A,#0AH,AA
MOV R6,#06H
LCALL LED
RET
AA: CJNE A,#0BH,AAA
MOV R6,#07H
LCALL LED
RET
AAA: CJNE A,#0CH,AAC
MOV R6,#08H
LCALL LED
RET
AAC: CJNE A,#0DH,AD
MOV R6,#08H
LCALL LED
RET
AD: CJNE A,#0EH,AE
AE: MOV R6,#09H
LCALL LED
RET
LED: LCALL DELAY5MS
MOV P1,#0C9H
MOV P3,#0F4H
CLR P3.2
LCALL DELAY5MS
MOV A,R6
ADD A,#30H
MOV P1,A
MOV P3,#0F5H
CLR P3.2
RET
DELAY5MS: MOV R5,#100
DEL50: MOV R4,#24
DEL51: DJNZ R4,DEL51
DJNZ R5,DEL50
RET
DELAY15MS: MOV R5,#255
DEL150: MOV R4,#24
NOP
DEL151: DJNZ R4,DEL151
DJNZ R5,DEL150
RET
DELAY1MS: MOV R7,#50
D1: MOV R6,#8
D2: DJNZ R6,D2
DJNZ R7,D1
RET
DELAY65US: MOV R5,#30
DEL65: DJNZ R5,DEL65
RET
DELAY550US: MOV R5,#245
DEL550: DJNZ R5,DEL550
ACALL DELAY65US
RET
DELAY1S: MOV R5,#150
DEL5000: MOV R4,#24
ACALL DELAY10MS
DEL5111: DJNZ R4,DEL5111
DJNZ R5,DEL5000
RET
DELAY10MS: MOV R7,#100
DEL100: MOV R6,#24
DEL101: DJNZ R6,DEL101
DJNZ R7,DEL100
RET
TABLE: DB 7FH,0FFH,7FH,7FH
TABLE1: DB 00H,01H,01H,02H,03H,03H,04H,04H,05H,06H,06H,07H,08H,08H,09H,09H
TABLE2: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
TABLE3: DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -