📄 hr52_10_p2.asm
字号:
;;.....................P2............................................
.PUBLIC GET_NUM_SW
GET_NUM_SW: .PROC
LDA SW_COUNT
CMP #11
BNE SW_N11
LDA #1
STA SW_COUNT
SW_N11:
LDA #0
STA LED_BUF1
LDA LED_BUF2
AND #01111110B
STA LED_BUF2
LDA SW_COUNT ;L5 //22.7K
CMP #1
BNE SW_N1
LDA #04H
STA LED_BUF1
LDA #12H
STA SW_SET_H
LDA #2DH
STA SW_SET_L
LDA #13H
STA SW_D_H
LDA #05H
STA SW_D_L
SW_N1:
LDA SW_COUNT ;L10 //22.48
CMP #2
BNE SW_N2
LDA LED_BUF2
ORA #01H
STA LED_BUF2
LDA #12H
STA SW_SET_H
LDA #11H
STA SW_SET_L
LDA #13H
STA SW_D_H
LDA #05H
STA SW_D_L
SET SHINE2_H,0
SET SHINE2_L,0
SW_N2:
LDA SW_COUNT ;L4
CMP #3
BNE SW_N3
LDA #10H
STA LED_BUF1
LDA #11H
STA SW_SET_H
LDA #DDH
STA SW_SET_L
LDA #13H
STA SW_D_H
LDA #05H
STA SW_D_L
SW_N3:
LDA SW_COUNT ;L9
CMP #4
BNE SW_N4
LDA LED_BUF2
ORA #80H
STA LED_BUF2
LDA #11H
STA SW_SET_H
LDA #9FH
STA SW_SET_L
LDA #13H
STA SW_D_H
LDA #05H
STA SW_D_L
SET SHINE2_H,7
SET SHINE2_L,7
SW_N4:
LDA SW_COUNT ;L3
CMP #5
BNE SW_N5
LDA #20H
STA LED_BUF1
LDA #11H
STA SW_SET_H
LDA #70H
STA SW_SET_L
LDA #13H
STA SW_D_H
LDA #05H
STA SW_D_L
SW_N5:
LDA SW_COUNT ;L8
CMP #6
BNE SW_N6
LDA #08H
STA LED_BUF1
LDA #11H
STA SW_SET_H
LDA #4DH
STA SW_SET_L
LDA #12H
STA SW_D_H
LDA #2DH
STA SW_D_L
SW_N6:
LDA SW_COUNT ;L2
CMP #7
BNE SW_N7
LDA #01H
STA LED_BUF1
LDA #11H
STA SW_SET_H
LDA #29H
STA SW_SET_L
LDA #12H
STA SW_D_H
LDA #11H
STA SW_D_L
SW_N7:
LDA SW_COUNT ;L7
CMP #8
BNE SW_N8
LDA #02H
STA LED_BUF1
LDA #11H
STA SW_SET_H
LDA #04H
STA SW_SET_L
LDA #11H
STA SW_D_H
LDA #DDH
STA SW_D_L
SW_N8:
LDA SW_COUNT ;L1
CMP #9
BNE SW_N9
LDA #80H
STA LED_BUF1
LDA #10H
STA SW_SET_H
LDA #DBH
STA SW_SET_L
LDA #11H
STA SW_D_H
LDA #9FH
STA SW_D_L
SW_N9:
LDA SW_COUNT ;L6 //20.72K
CMP #10
BNE SW_N10
LDA #40H
STA LED_BUF1
LDA #10H
STA SW_SET_H
LDA #AEH
STA SW_SET_L
LDA #11H
STA SW_D_H
LDA #70H
STA SW_D_L
SW_N10:
RTS
.ENDP
.PUBLIC CX_GET_NUM
CX_GET_NUM: .PROC
SET FLAG1,N_MH
TST CX_COUNT,4
BEQ CX_N4
LDA #01H
STA CX_COUNT
CX_N4:
TST GC_COUNT,5
BEQ CX_GC_N5
LDA CX_COUNT
CMP #3
BCC CX_GC_N5
LDA #1
STA CX_COUNT
CX_GC_N5:
LDA LED_BUF2
AND #10001011B
STA LED_BUF2
TST CX_COUNT,0 ;L11
BEQ CX_N0
LDA LED_BUF2
ORA #20H
STA LED_BUF2
LDA #6
STA SW_COUNT
JSR GET_NUM_SW
TST GC_COUNT,0 ;L11 L16 L17 L18
BEQ L11_NGC0
LDA #02H
STA LED_BUF4
STA LED_BUF5
LDA #37
STA WASH_SAVE
L11_NGC0:
TST GC_COUNT,1 ;L11 L16
BEQ L11_NGC1
LDA #02H
STA LED_BUF4
STA LED_BUF5
LDA #12
STA WASH_SAVE
L11_NGC1:
TST GC_COUNT,2 ;L11 L16 L17
BEQ L11_NGC2
LDA #02H
STA LED_BUF4
STA LED_BUF5
LDA #31
STA WASH_SAVE
L11_NGC2:
TST GC_COUNT,3
BEQ L11_NGC3
LDA #25
STA WASH_TIMES
SM_SHOW WASH_TIMES
CLR FLAG1,N_MH
L11_NGC3:
TST GC_COUNT,4
BEQ L11_NGC4
LDA #8
STA WASH_TIMES
SM_SHOW WASH_TIMES
CLR FLAG1,N_MH
L11_NGC4:
TST GC_COUNT,5
BEQ L11_NGC5
LDA #02H
STA LED_BUF4
STA LED_BUF5
LDA #62
STA WASH_SAVE
L11_NGC5:
CX_N0:
TST CX_COUNT,1 ;L12
BEQ CX_N1
LDA LED_BUF2
ORA #10H
STA LED_BUF2
TST GC_COUNT,0 ;L12 L16 17 18
BEQ L12_NGC0
LDA #02H
STA LED_BUF4
STA LED_BUF5
LDA #37
STA WASH_SAVE
L12_NGC0:
TST GC_COUNT,1 ;L12 16
BEQ L12_NGC1
LDA #02H
STA LED_BUF4
STA LED_BUF5
LDA #12
STA WASH_SAVE
L12_NGC1:
TST GC_COUNT,2 ;L12 L16 L17
BEQ L12_NGC2
LDA #02H
STA LED_BUF4
STA LED_BUF5
LDA #31
STA WASH_SAVE
L12_NGC2:
TST GC_COUNT,3
BEQ L12_NGC3
LDA #25
STA WASH_TIMES
SM_SHOW WASH_TIMES
CLR FLAG1,N_MH
L12_NGC3:
TST GC_COUNT,4
BEQ L12_NGC4
LDA #8
STA WASH_TIMES
SM_SHOW WASH_TIMES
CLR FLAG1,N_MH
L12_NGC4:
TST GC_COUNT,5
BEQ L12_NGC5
LDA #02H
STA LED_BUF4
STA LED_BUF5
LDA #72
STA WASH_SAVE
L12_NGC5:
CX_N1:
TST CX_COUNT,2 ;.......................L13
BEQ CX_N2
LDA LED_BUF2
ORA #04H
STA LED_BUF2
TST GC_COUNT,0
BEQ L13_NGC0
LDA #24
STA WASH_TIMES
SM_SHOW WASH_TIMES
CLR FLAG1,N_MH
L13_NGC0:
TST GC_COUNT,1
BEQ L13_NGC1
LDA #5
STA WASH_TIMES
SM_SHOW WASH_TIMES
CLR FLAG1,N_MH
L13_NGC1:
TST GC_COUNT,2
BEQ L13_NGC2
LDA #20
STA WASH_TIMES
SM_SHOW WASH_TIMES
CLR FLAG1,N_MH
L13_NGC2:
TST GC_COUNT,3
BEQ L13_NGC3
LDA #19
STA WASH_TIMES
SM_SHOW WASH_TIMES
CLR FLAG1,N_MH
L13_NGC3:
TST GC_COUNT,4
BEQ L13_NGC4
LDA #5
STA WASH_TIMES
SM_SHOW WASH_TIMES
CLR FLAG1,N_MH
L13_NGC4:
CX_N2:
TST CX_COUNT,3 ;.........................L14
BEQ CX_N3
LDA LED_BUF2
ORA #40H
STA LED_BUF2
LDA #2
STA SW_COUNT
JSR GET_NUM_SW
LDA #1
STA GC_COUNT
JSR GC_GET_NUM
LDA #10
STA WASH_TIMES
SM_SHOW WASH_TIMES
CLR FLAG1,N_MH
CX_N3:
RTS
.ENDP
.PUBLIC GC_GET_NUM
GC_GET_NUM: .PROC
TST GC_COUNT,6
BEQ GC_N6
LDA #01H
STA GC_COUNT
GC_N6:
TST CX_COUNT,2
BEQ GC_CX_N2
TST GC_COUNT,5
BEQ GC_CX_N2
LDA #01H
STA GC_COUNT
GC_CX_N2:
LDA #0
STA LED_BUF3
LDA LED_BUF2
AND #11110101B
STA LED_BUF2
TST GC_COUNT,0 ;.............L16 17 18
BEQ GC_N0
LDA LED_BUF2
ORA #08H
STA LED_BUF2
LDA #255
STA LED_BUF3
JSR GET_NUM_SW
GC_N0:
TST GC_COUNT,1 ;......................L16
BEQ GC_N1
LDA LED_BUF2
ORA #08H
STA LED_BUF2
JSR GET_NUM_SW
GC_N1:
TST GC_COUNT,2 ;L16 17
BEQ GC_N2
LDA LED_BUF2
ORA #08H
STA LED_BUF2
LDA LED_BUF3
ORA #80H
STA LED_BUF3
JSR GET_NUM_SW
GC_N2:
TST GC_COUNT,3 ;L17 18
BEQ GC_N3
LDA #255
STA LED_BUF3
JSR GET_NUM_SW
GC_N3:
TST GC_COUNT,4 ;L18 ;单脱水
BEQ GC_N4
LDA LED_BUF3
ORA #01H
STA LED_BUF3
LDA #0
STA LED_BUF1
LDA LED_BUF2
AND #01111110B
STA LED_BUF2
GC_N4:
TST GC_COUNT,5 ;L15 15 17 18
BEQ GC_N5
LDA #255
STA LED_BUF3
LDA LED_BUF2
ORA #00001010B
STA LED_BUF2
JSR GET_NUM_SW
GC_N5:
RTS
.ENDP
.PUBLIC SHOW_SMG
SHOW_SMG: .PROC
jsr F_C1Bin2Bcd ;call the function
sta GB_Test_BCDdata ;save the result
STA DATA_H
STA DATA_L
;
LSR DATA_H
LSR DATA_H
LSR DATA_H
LSR DATA_H
;
LDA DATA_H
CMP #0
BNE GOGO
LDA #0
STA LED_BUF5
JMP GOGO2
GOGO:
LDX DATA_H
LDA T_table,x
STA LED_BUF5
GOGO2:
;
LDA DATA_L
AND #00001111B
STA DATA_L
LDX DATA_L
lda T_table,x
STA LED_BUF4
RTS
.ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -