📄 pt6523.asm
字号:
CALL CLRD
MOVDF KCOUNT,08H
MOVDF FSR,33H
CLRF INDEX
CLRF FSR
;----------------------------;
; RTCC SETUP ;
;----------------------------;
GO BSF 3,5
GOTO SCANKEY
GO_1 MOVDF FSR,33H
BTFSC INDEX,0
GOTO SHOW_T
MOVLW 07H
OPTION
GO_2 CALL CHECKT
;----------------------------;
; SHOW THE TIMER ;
;----------------------------;
SHOW_T CLRF FSR
SECD_1 MOVLW LCD_1
MOVWF TEMP1
MOVF SECD,W
ANDLW 0FH
MOVWF TEMP2
CALL LCDC
MOVWF UB4
SECD_2 MOVLW LCD_1
MOVWF TEMP1
MOVF SECD,W
MOVWF TEMP3
SWAPF TEMP3
MOVF TEMP3,W
ANDLW 0FH
MOVWF TEMP2
CALL LCDC
MOVWF UB3
MINT_1 MOVLW LCD_1
MOVWF TEMP1
MOVF MINT,W
ANDLW 0FH
MOVWF TEMP2
CALL LCDC
MOVWF UB2
MOVWF UB7
MINT_2 MOVLW LCD_1
MOVWF TEMP1
MOVF MINT,W
MOVWF TEMP3
SWAPF TEMP3
MOVF TEMP3,W
ANDLW 0FH
MOVWF TEMP2
CALL LCDC
MOVWF UB1
MOVWF UB6
MOVDF UB5,01H
ROUND MOVLW 10H
MOVDF FSR,30H
SUBWF INDEX,W
SKPC
GOTO ROUND_D
CLRF INDEX
INCF FSR
INCF INDEX
INCF FSR
INCF INDEX
DECF FSR
COOL1 INDEX,05H,ROUND_E
COOL1 INDEX,01H,R1
COOL1 INDEX,02H,R2
COOL1 INDEX,03H,R3
COOL1 INDEX,04H,R4
ROUND_E MOVDF INDEX,01H
R1 CLRF FSR
MOVDF UB8,D3H
GOTO ROUND_D
R2 CLRF FSR
MOVDF UB8,D5H
GOTO ROUND_D
R3 CLRF FSR
MOVDF UB8,D9H
GOTO ROUND_D
R4 CLRF FSR
MOVDF UB8,F1H
ROUND_D CLRF FSR
NOP
LINE MOVDF FSR,32H
COOL1 INDEX,0EH,LINE_E
COOL1 INDEX,01H,L1
COOL1 INDEX,02H,L2
COOL1 INDEX,03H,L3
COOL1 INDEX,04H,L4
COOL1 INDEX,05H,L5
COOL1 INDEX,06H,L6
COOL1 INDEX,07H,L7
COOL1 INDEX,08H,L6
COOL1 INDEX,09H,L5
COOL1 INDEX,0AH,L4
COOL1 INDEX,0BH,L3
COOL1 INDEX,0CH,L2
COOL1 INDEX,0DH,L1
LINE_E MOVDF INDEX,01H
L1 CLRF FSR
MOVDF UB9,E4H
MOVDF UBA,92H
MOVDF UBB,48H
GOTO LINE_D
L2 CLRF FSR
MOVDF UB9,FCH
MOVDF UBA,92H
MOVDF UBB,48H
GOTO LINE_D
L3 CLRF FSR
MOVDF UB9,FFH
MOVDF UBA,F2H
MOVDF UBB,48H
GOTO LINE_D
L4 CLRF FSR
MOVDF UB9,FFH
MOVDF UBA,FEH
MOVDF UBB,48H
GOTO LINE_D
L5 CLRF FSR
MOVDF UB9,FFH
MOVDF UBA,FFH
MOVDF UBB,C8H
GOTO LINE_D
L6 CLRF FSR
MOVDF UB9,FFH
MOVDF UBA,FFH
MOVDF UBB,F8H
GOTO LINE_D
L7 CLRF FSR
MOVDF UB9,FFH
MOVDF UBA,FFH
MOVDF UBB,FEH
LINE_D CLRF FSR
NOP
CALL GOGO
;----------------------------;
; AUTO SHOW THIS LCD PANEL ;
;----------------------------;
GOTO GO
;----------------------------;
; MAIN 200H ;
;----------------------------;
ORG 200H
;----------------------------;
; SHOW THE WORD 'LOAD' ;
;----------------------------;
LOAD BCF 5,CE
MOVDF COMMAND,82H
BCF 3,5
CALL CCB_W
BSF 5,CE
MOVDF TEMP1,12H
LOAD_1 BCF 3,5
CALL LOW_B
BSF 3,5
DECFSZ TEMP1
GOTO LOAD_1
S_L BCF 3,5
MOVDF COMMAND,64H
CALL CCB_W
CALL LOW_B
CALL LOW_B
CALL LOW_B
CALL LOW_B
S_O MOVDF COMMAND,FCH
CALL CCB_W
CALL LOW_B
S_A MOVDF COMMAND,F9H
CALL CCB_W
CALL LOW_B
S_D MOVDF COMMAND,3DH
CALL CCB_W
MOVDF TEMP1,60H
LOAD_2 BCF 3,5
CALL LOW_B
BSF 3,5
DECFSZ TEMP1
GOTO LOAD_2
MOVFF COMMAND,KCOUNT
BCF 3,5
CALL CCB_W
BCF 5,CE
RETLW 00H
;----------------------------;
; TIMER DELAY SUB-0 ;
;----------------------------;
DELAY1 MOVLW C0H
MOVWF TEMP1
DELAY_1 MOVLW FFH
MOVWF TEMP2
DELAY_2 DECFSZ TEMP2
GOTO DELAY_2
DECFSZ TEMP1
GOTO DELAY_1
RETLW 00H
;----------------------------;
; BLACK PT6523 REGISTER ;
;----------------------------;
SETD BCF 5,CE
MOVDF COMMAND,82H
BCF 3,5
CALL CCB_W
BSF 5,CE
MOVDF TEMP1,98H
SETD_1 BCF 3,5
CALL HIGH_B
BSF 3,5
DECFSZ TEMP1
GOTO SETD_1
MOVFF COMMAND,KCOUNT
BCF 3,5
CALL CCB_W
BCF 5,CE
RETLW 00H
;----------------------------;
; READ FUNCTION KEY_1 ;
;----------------------------;
READ CLRF KEY1
BCF 6,3
BSF 6,4
BTFSS 6,0
GOTO READEND
INCF KEY1
BTFSS 6,1
GOTO READEND
INCF KEY1
BTFSS 6,2
GOTO READEND
INCF KEY1
BSF 6,3
BCF 6,4
BTFSS 6,0
GOTO READEND
INCF KEY1
BTFSS 6,1
GOTO READEND
INCF KEY1
BTFSS 6,2
GOTO READEND
INCF KEY1
READEND RETLW 00H
;----------------------------;
; READ FUNCTION KEY ;
;----------------------------;
SCANKEY COOL1 KEY1,06H,SCAN2
CALL READ
BCF 3,5
COOL3 KEY1,KEY2,GO_1
BSF 3,5
SCAN2 CALL READ
MOVFF KEY2,KEY1
BCF 3,5
COOL1 KEY1,06H,GO_1
;----------------------------;
; HAVE PRESS ANY KEY ;
;----------------------------;
HAVEKEY BSF 3,5
COOL1 KEY1,00H,SLP
COOL1 KEY1,01H,WAKEUP
MOVDF FSR,33H
BTFSC INDEX,1
GOTO H_ED
CLRF FSR
COOL1 KEY1,02H,ALLON
COOL1 KEY1,03H,PAUSE
COOL1 KEY1,04H,PLAY
COOL1 KEY1,05H,STOP
H_ED CLRF FSR
BCF 3,5
GOTO GO
;----------------------------;
; FUNCTION - 1 ;
;----------------------------;
SLP MOVDF FSR,33H
BSF INDEX,1
CLRF FSR
MOVDF KCOUNT,0AH
BCF 3,5
GOTO GO_1
;----------------------------;
; FUNCTION - 2 ;
;----------------------------;
WAKEUP MOVDF FSR,33H
BCF INDEX,1
CLRF FSR
MOVDF KCOUNT,08H
BCF 3,5
GOTO GO_1
;----------------------------;
; FUNCTION - 3 ;
;----------------------------;
ALLON CALL SETD
BSF 3,5
ALLON_1 COOL1 KEY1,06H,ALLON_2
CALL READ
COOL3 KEY1,KEY2,ALLON_1
ALLON_2 CALL READ
MOVFF KEY2,KEY1
COOL1 KEY1,06H,ALLON_1
MOVDF FSR,33H
BTFSC INDEX,7
GOTO ALLON_3
CLRF FSR
COOL1 KEY1,00H,ALL_SP
COOL1 KEY1,04H,PLAY
GOTO ALLON_1
ALLON_3 CLRF FSR
COOL1 KEY1,01H,ALL_WP
GOTO ALLON_1
ALL_WP MOVDF KCOUNT,08H
MOVDF FSR,33H
BCF INDEX,7
CLRF FSR
CALL SETD
BSF 3,5
GOTO ALLON_1
ALL_SP MOVDF KCOUNT,0AH
MOVDF FSR,33H
BSF INDEX,7
CLRF FSR
CALL SETD
BSF 3,5
GOTO ALLON_1
;----------------------------;
; FUNCTION - 4 ;
;----------------------------;
PAUSE MOVDF FSR,33H
BSF INDEX,0
CLRF FSR
BCF 3,5
GOTO GO_1
;----------------------------;
; FUNCTION - 5 ;
;----------------------------;
PLAY MOVDF FSR,33H
BCF INDEX,0
CLRF FSR
BCF 3,5
GOTO GO_1
;----------------------------;
; FUNCTION - 6 ;
;----------------------------;
STOP CLRF SECD
CLRF MINT
CLRF HOUR
MOVDF FSR,30H
CLRF INDEX
INCF FSR
CLRF INDEX
INCF FSR
CLRF INDEX
INCF FSR
BSF INDEX,0
CLRF FSR
BCF 3,5
GOTO GO_1
;----------------------------;
; PROGMAN OVER ;
;----------------------------;
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -