📄 po.asm
字号:
ORG 0000H
TEMPER_L EQU 29H
TEMPER_H EQU 28H
FLAG1 EQU 38H
A_BIT EQU 20H
B_BIT EQU 21H
MAIN:
LCALL GET_TEMPER
MOV A,29H
MOV C,40H
RRC A
MOV C,43H
RRC A
MOV 29H,A
LCALL DISPLAY
CPL P1.0
AJMP MAIN
INIT_1820:
SETB P2.2
NOP
CLR P2.2
MOV R1,#3
TSR1:
MOV R0,#107
DJNZ R0,$
DJNZ R1,TSR1
SETB P2.2
NOP
NOP
MOV R0,#25H
TSR2: JNB P2.2,TSR3
DJNZ R0,TSR2
LJMP TSR4
TSR3: SETB FLAG1
LJMP TSR5
TSR4: CLR FLAG1
LJMP TSR7
TSR5: MOV R0,#117
TSR6: DJNZ R0,TSR6
TSR7: SETB P2.2
RET
GET_TEMPER:
SETB P2.2
LCALL INIT_1820
JB FLAG1,TSS2
CLR P2.2
RET
TSS2: MOV A,#0CCH
LCALL WRITE_1820
MOV A,#44H
LCALL WRITE_1820
LCALL DISPLAY
LCALL INIT_1820
MOV A,#0BEH
LCALL WRITE_1820
LCALL READ_18200
CLR P1.4
RET
WRITE_1820:
MOV R2,#8
CLR C
WR1: CLR P2.2
MOV R3,#5
DJNZ R3,$
RRC A
MOV P2.2,C
MOV R3,#21
DJNZ R3,$
SETB P2.2
NOP
DJNZ R2,WR1
SETB P2.2
RET
READ_18200:
MOV R4,#2
MOV R1,#29H
RE00: MOV R2,#8
RE01: CLR C
SETB P2.2
NOP
NOP
SETB P2.2
MOV R3,#8
RE10: DJNZ R3,RE10
MOV C,P2.2
MOV R3,#21
RE20: DJNZ R3,RE20
RRC A
DJNZ R2,RE01
MOV @R1,A
DEC R1
DJNZ R4,RE00
RET
DISPLAY:
MOV A,29H
MOV B,#10
DIV AB
MOV B_BIT,A
MOV A_BIT,B
MOV DPTR,#NUMTAB
MOV R0,#4
DPL1: MOV R1,#250
DPLOP: MOV A,A_BIT
MOVC A,@A+DPTR
MOV P0,A
CLR P2.7
MOV A,B_BIT
MOVC A,@A+DPTR
MOV P0,A
CLR P2.6
ACALL D1MS
SETB P2.6
DJNZ R1,DPLOP
DJNZ R0,DPL1
RET
D1MS: MOV R7,#80
DJNZ R7,$
RET
NUMTAB: DB 03FH,06H,5BH,4FH,66H,06DH,07DH,07H,07EH,06FH
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -