?? tab.asm
字號:
MOV DPTR,#D_VISBUF
MOV R7,#32
;
CLR_FRM5: MOVX A,@DPTR
ANL A,#03FH
MOVX @DPTR,A
CLR C
MOV A,#10H
ADD A,DPL
MOV DPL,A
CLR A
ADDC A,DPH
MOV DPH,A
DJNZ R7,CLR_FRM5
;
MOV DPTR,#D_VISBUF
MOV DPL,#09
MOV R7,#32
;
CLR_FRM6: MOVX A,@DPTR
ANL A,#0C0H
MOVX @DPTR,A
CLR C
MOV A,#10H
ADD A,DPL
MOV DPL,A
CLR A
ADDC A,DPH
MOV DPH,A
DJNZ R7,CLR_FRM6
;
RET
;
;****************************************************************
; FRM_FS ; 加外框并閃爍
;****************************************************************
FRM_FS: MOV DPTR,#D_VISBUF
MOV R7,#00H
CLR C
;
FRM_FS1: MOVX A,@DPTR
INC DPH
INC DPH
MOVX @DPTR,A
DEC DPH
DEC DPH
INC DPTR
DJNZ R7,FRM_FS1
;
MOV DPTR,#D_VISBUF
INC DPH
MOV R7,#00H
CLR C
;
FRM_FS2: MOVX A,@DPTR
INC DPH
INC DPH
MOVX @DPTR,A
DEC DPH
DEC DPH
INC DPTR
DJNZ R7,FRM_FS2
;
LCALL VIS_FRM
SETB biFRMFS
RET
;
;
;****************************************************************
; VIS_FS ; 除外框外全閃爍
;****************************************************************
VIS_FS: MOV DPTR,#D_VISBUF2
CLR A
;
MOV R6,#02H
;
VIS_FS01: MOV R7,#00H
CLR A
;
VIS_FS02: MOVX @DPTR,A
INC DPTR
DJNZ R7,VIS_FS02
DJNZ R6,VIS_FS01
;
;
;
MOV DPTR,#D_VISBUF2
MOV R7,#10
;
VIS_FS1: MOV A,#0FFH
MOVX @DPTR,A
INC DPTR
DJNZ R7,VIS_FS1
;
MOV DPTR,#D_VISBUF2
MOV DPL,#010H
MOV R7,#10
;
VIS_FS2: MOV A,#0FFH
MOVX @DPTR,A
INC DPTR
DJNZ R7,VIS_FS2
;
MOV DPTR,#D_VISBUF2
MOV DPL,#0E0H
INC DPH
MOV R7,#10
;
VIS_FS3: MOV A,#0FFH
MOVX @DPTR,A
INC DPTR
DJNZ R7,VIS_FS3
;
MOV DPTR,#D_VISBUF2
MOV DPL,#0F0H
INC DPH
MOV R7,#10
;
VIS_FS4: MOV A,#0FFH
MOVX @DPTR,A
INC DPTR
DJNZ R7,VIS_FS4
;
MOV DPTR,#D_VISBUF2
MOV R7,#32
;
VIS_FS5: MOVX A,@DPTR
ORL A,#0C0H
MOVX @DPTR,A
CLR C
MOV A,#10H
ADD A,DPL
MOV DPL,A
CLR A
ADDC A,DPH
MOV DPH,A
DJNZ R7,VIS_FS5
;
MOV DPTR,#D_VISBUF2
MOV DPL,#09
MOV R7,#32
;
VIS_FS6: MOVX A,@DPTR
ORL A,#03H
MOVX @DPTR,A
CLR C
MOV A,#10H
ADD A,DPL
MOV DPL,A
CLR A
ADDC A,DPH
MOV DPH,A
DJNZ R7,VIS_FS6
;
SETB biFRMFS
RET
;
;
;****************************************************************
; CLR_VIS ; 清顯示
;****************************************************************
CLR_VIS: MOV DPTR,#D_VISBUF
CLR A
;
MOV R6,#02H
;
CLR_VIS1: MOV R7,#00H
CLR A
;
CLR_VIS2: MOVX @DPTR,A
INC DPTR
DJNZ R7,CLR_VIS2
DJNZ R6,CLR_VIS1
RET
;
;
;
;
;****************************************************************
; INT_DYNA 初始 生成動態顯示內容
;****************************************************************
INT_DYNA: CLR C
MOV R1,#08H
MOV R2,#10H
;
INT_DYNA0: CLR C
MOV R7,#00H
MOV R6,#00H
;
INT_DYNA1: MOV DPTR,#TAB_DYNA
MOV A,R6
MOVC A,@A+DPTR
MOV DPH,R2
MOV DPL,R6
MOVX @DPTR,A
INC R6
DJNZ R7,INT_DYNA1
;
INC R2
MOV R7,#00H
MOV R6,#00H
;
INT_DYNA2: MOV DPTR,#TAB_DYNA
INC DPH
MOV A,R6
MOVC A,@A+DPTR
MOV DPH,R2
MOV DPL,R6
MOVX @DPTR,A
INC R6
DJNZ R7,INT_DYNA2
;
INC R2
DJNZ R1,INT_DYNA0
;
RET
;
;
;****************************************************************
; CRT_DYNA 生成動態顯示內容
;****************************************************************
CRT_DYNA: CLR C
MOV R1,#08H ; 8個顯示緩存計數
;
CRT_DYNA1: CLR C
MOV DPTR,#TAB_MAXF
MOV A,R1
DEC A
MOVC A,@A+DPTR ; A=顯示邊框值
MOV R7,A
MOV A,R1
DEC A
ADD A,#08H
MOVC A,@A+DPTR ; A=顯示邊框值
MOV R5,A
;
;
MOV A,R1
DEC A
RL A
ADD A,#010H
MOV DPH,A
MOV DPL,#00H
;
;
MOV R2,#4
CRT_DYN25: CLR C
MOV A,R7
MOV R6,A
;
MOV R3,#08
;
CRT_DYN251:
CLR C
MOV A,R6
RRC A
MOV R6,A
MOV A,#0C0H
JC CRT_DYN252
MOV A,#00H
CRT_DYN252:MOVX @DPTR,A
CLR C
MOV A,DPL
ADD A,#10H
MOV DPL,A
CLR A
ADDC A,DPH
MOV DPH,A
DJNZ R3,CRT_DYN251
;
DJNZ R2,CRT_DYN25
;
;
;
MOV A,R1
DEC A
RL A
ADD A,#010H
MOV DPH,A
MOV DPL,#09H
;
;
MOV R2,#4
CRT_DYN26: CLR C
MOV A,R7
MOV R6,A
;
MOV R3,#08
;
CRT_DYN261:
CLR C
MOV A,R6
RLC A
MOV R6,A
MOV A,#03H
JC CRT_DYN262
MOV A,#00H
CRT_DYN262:MOVX @DPTR,A
CLR C
MOV A,DPL
ADD A,#10H
MOV DPL,A
CLR A
ADDC A,DPH
MOV DPH,A
DJNZ R3,CRT_DYN261
;
DJNZ R2,CRT_DYN26
;
;
MOV A,R1
DEC A
RL A
ADD A,#010H
MOV DPH,A
;
MOV DPL,#00H
MOV R2,#10
MOV A,R7
CRT_DYN21: MOVX @DPTR,A
INC DPTR
DJNZ R2,CRT_DYN21
;
MOV DPL,#010H
MOV R2,#10
MOV A,R7
CRT_DYN22: MOVX @DPTR,A
INC DPTR
DJNZ R2,CRT_DYN22
;
INC DPH
MOV DPL,#0E0H
MOV R2,#10
MOV A,R5
CRT_DYN23: MOVX @DPTR,A
INC DPTR
DJNZ R2,CRT_DYN23
;
MOV DPL,#0F0H
MOV R2,#10
MOV A,R5
CRT_DYN24: MOVX @DPTR,A
INC DPTR
DJNZ R2,CRT_DYN24
;
;
;
; 內框
CLR C
MOV DPTR,#TAB_MINF
MOV A,R1
DEC A
MOVC A,@A+DPTR ; A=顯示邊框值
MOV R7,A
;
MOV A,R1
DEC A
RL A
ADD A,#010H
MOV DPH,A
MOV DPL,#081H
;
;
MOV R2,#2
CRT_DYN35: CLR C
MOV A,R7
MOV R6,A
;
MOV R3,#08
;
CRT_DYN351:
CLR C
MOV A,R6
RRC A
MOV R6,A
MOV B,#080H
JC CRT_DYN352
MOV B,#00H
CRT_DYN352:MOVX A,@DPTR
ORL A,B
MOVX @DPTR,A
CLR C
MOV A,DPL
ADD A,#10H
MOV DPL,A
CLR A
ADDC A,DPH
MOV DPH,A
DJNZ R3,CRT_DYN351
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -