📄 zt0519.asm
字号:
GOTO ANORMAL_MAIN
;--------------------------------------------------------
;命令B1,屏显消失
DO_DSP_B1 CLRF SCREEN_STATUS
BCF COMM_FLAG,RX_DSP_SUCCESS
GOTO ANORMAL_MAIN
;--------------------------------------------------------
;命令B2,制式为PAL
DO_DSP_B2
BSF TFT_CONFIG0,PNS ;PNS为1,pal制式
MOVF TFT_CONFIG0,W
MOVWF TFT_BUFF1
MOVLW TFT_CONFIG0_ADDR
MOVWF TFT_BUFF0
CALL TRANS_TFT
BSF FLAG,CONFIG_CHANGE
BCF COMM_FLAG,RX_DSP_SUCCESS
GOTO ANORMAL_MAIN
;--------------------------------------------------------
;命令B3,制式为NTSC
DO_DSP_B3
BCF TFT_CONFIG0,PNS ;PNS为0,NTSC制式
MOVF TFT_CONFIG0,W
MOVWF TFT_BUFF1
MOVLW TFT_CONFIG0_ADDR
MOVWF TFT_BUFF0
CALL TRANS_TFT
BSF FLAG,CONFIG_CHANGE
BCF COMM_FLAG,RX_DSP_SUCCESS
GOTO ANORMAL_MAIN
;--------------------------------------------------------
;命令B6,关机
DO_DSP_B6 GOTO ASTANDBY_MODE
BCF COMM_FLAG,RX_DSP_SUCCESS
GOTO ANORMAL_MAIN
;--------------------------------------------------------
;命令B7,上
DO_DSP_B7
MOVF SCREEN_STATUS,W
BTFSC STATUS,Z
GOTO DO_DSP_B7_END
MOVF SCREEN_STATUS,W
XORLW 01H
BTFSC STATUS,Z
GOTO UP_TFT_COLOR
MOVF SCREEN_STATUS,W
XORLW 02H
BTFSC STATUS,Z
GOTO UP_TFT_CONST
MOVF SCREEN_STATUS,W
XORLW 03H
BTFSC STATUS,Z
GOTO UP_TFT_BRIGHT
MOVF SCREEN_STATUS,W
XORLW 04H
BTFSC STATUS,Z
GOTO UP_SCREEN_MODE
DO_DSP_B7_END
BSF FLAG,CONFIG_CHANGE
BCF COMM_FLAG,RX_DSP_SUCCESS
GOTO ANORMAL_MAIN
UP_TFT_COLOR
INCF TFT_COLOR,F
MOVLW .32
SUBWF TFT_COLOR,W
BTFSS STATUS,C
GOTO $+3
MOVLW .31
MOVWF TFT_COLOR
CALL FIND_COLOR_TABLE
MOVWF TFT_BUFF1
MOVLW TFT_CONFIG2_ADDR
MOVWF TFT_BUFF0
CALL TRANS_TFT
CALL TX_A1_DSP
GOTO DO_DSP_B7_END
UP_TFT_CONST
INCF TFT_CONST,F
MOVLW .32
SUBWF TFT_CONST,W
BTFSS STATUS,C
GOTO $+3
MOVLW .31
MOVWF TFT_CONST
CALL FIND_CONST_TABLE
MOVWF TFT_BUFF1
MOVLW TFT_CONFIG4_ADDR
MOVWF TFT_BUFF0
CALL TRANS_TFT
CALL TX_A2_DSP
GOTO DO_DSP_B7_END
UP_TFT_BRIGHT
INCF TFT_BRIGHT,F
MOVLW .32
SUBWF TFT_BRIGHT,W
BTFSS STATUS,C
GOTO $+3
MOVLW .31
MOVWF TFT_BRIGHT
CALL FIND_COLOR_TABLE
MOVWF TFT_BUFF1
MOVLW TFT_CONFIG5_ADDR
MOVWF TFT_BUFF0
CALL TRANS_TFT
CALL TX_A3_DSP
GOTO DO_DSP_B7_END
;............................................
UP_SCREEN_MODE
INCF SCREEN_MODE,F
MOVLW 04H
SUBWF SCREEN_MODE,W
BTFSS STATUS,C
GOTO $+3
MOVLW 01H
MOVWF SCREEN_MODE
CALL SET_SCREEN_MODE
CALL TX_A6_DSP
GOTO DO_DSP_B7_END
;--------------------------------------------------------
;命令B8,下
DO_DSP_B8
MOVF SCREEN_STATUS,W
BTFSC STATUS,Z
GOTO DO_DSP_B8_END
MOVF SCREEN_STATUS,W
XORLW 01H
BTFSC STATUS,Z
GOTO DOWN_TFT_COLOR
MOVF SCREEN_STATUS,W
XORLW 02H
BTFSC STATUS,Z
GOTO DOWN_TFT_CONST
MOVF SCREEN_STATUS,W
XORLW 03H
BTFSC STATUS,Z
GOTO DOWN_TFT_BRIGHT
MOVF SCREEN_STATUS,W
XORLW 04H
BTFSC STATUS,Z
GOTO DOWN_SCREEN_MODE
DO_DSP_B8_END
BSF FLAG,CONFIG_CHANGE
BCF COMM_FLAG,RX_DSP_SUCCESS
GOTO ANORMAL_MAIN
DOWN_TFT_COLOR
MOVF TFT_COLOR,W
BTFSC STATUS,Z
GOTO $+2
DECF TFT_COLOR,F
CALL FIND_COLOR_TABLE
MOVWF TFT_BUFF1
MOVLW TFT_CONFIG2_ADDR
MOVWF TFT_BUFF0
CALL TRANS_TFT
CALL TX_A1_DSP
GOTO DO_DSP_B8_END
DOWN_TFT_CONST
MOVF TFT_CONST,W
BTFSC STATUS,Z
GOTO $+2
DECF TFT_CONST,F
CALL FIND_CONST_TABLE
MOVWF TFT_BUFF1
MOVLW TFT_CONFIG4_ADDR
MOVWF TFT_BUFF0
CALL TRANS_TFT
CALL TX_A2_DSP
GOTO DO_DSP_B8_END
DOWN_TFT_BRIGHT
MOVF TFT_BRIGHT,W
BTFSC STATUS,Z
GOTO $+2
DECF TFT_BRIGHT,F
CALL FIND_BRIGHT_TABLE
MOVWF TFT_BUFF1
MOVLW TFT_CONFIG5_ADDR
MOVWF TFT_BUFF0
CALL TRANS_TFT
CALL TX_A3_DSP
GOTO DO_DSP_B8_END
DOWN_SCREEN_MODE
DECF SCREEN_MODE,F
BTFSS STATUS,Z
GOTO $+3
MOVLW 03H
MOVWF SCREEN_MODE
CALL SET_SCREEN_MODE
CALL TX_A6_DSP
GOTO DO_DSP_B8_END
SET_SCREEN_MODE
MOVF SCREEN_MODE,W
XORLW 01H
BTFSC STATUS,Z
GOTO SET_FULL_MODE
MOVF SCREEN_MODE,W
XORLW 02H
BTFSC STATUS,Z
GOTO SET_ZOOM_MODE
MOVF SCREEN_MODE,W
XORLW 03H
BTFSC STATUS,Z
GOTO SET_NORMAL_MODE
SET_MODE_END
RETLW 00H
SET_FULL_MODE
BCF PORTB,4
BCF PORTB,5
BCF PORTC,3
GOTO SET_MODE_END
SET_ZOOM_MODE
BCF PORTB,4
BCF PORTB,5
BSF PORTC,3
GOTO SET_MODE_END
SET_NORMAL_MODE
BCF PORTB,4
BSF PORTB,5
BCF PORTC,3
GOTO SET_MODE_END
;==============================================================================
;响应SCREEN按键子程序
;==============================================================================
MANAGE_SW_SCREEN
MOVLW .50
MOVWF TEMP_COUNT0
SW_CREEN_2
CLRWDT
MOVLW .200
MOVWF TEMP_COUNT1
SW_CREEN_1
BTFSC PORTB,SW_SCREEN
RETLW 00H
DECFSZ TEMP_COUNT1,F
GOTO SW_CREEN_1
DECFSZ TEMP_COUNT0,F
GOTO SW_CREEN_2
NOP
CLRWDT
BTFSS PORTB,SW_SCREEN
GOTO $-2
INCF SCREEN_STATUS,F
MOVF SCREEN_STATUS,W
SUBLW 04H
BTFSC STATUS,C
GOTO JUDGE_SCREEN_STATUS
MOVLW 01H
MOVWF SCREEN_STATUS
JUDGE_SCREEN_STATUS
MOVF SCREEN_STATUS,W
XORLW 01H
BTFSS STATUS,Z
GOTO $+3
CALL TX_A1_DSP
RETLW 00H
MOVF SCREEN_STATUS,W
XORLW 02H
BTFSS STATUS,Z
GOTO $+3
CALL TX_A2_DSP
RETLW 00H
MOVF SCREEN_STATUS,W
XORLW 03H
BTFSC STATUS,Z
BTFSS STATUS,Z
GOTO $+3
CALL TX_A3_DSP
RETLW 00H
MOVF SCREEN_STATUS,W
XORLW 04H
BTFSS STATUS,Z
GOTO $+3
CALL TX_A6_DSP
RETLW 00H
RETLW 00H
;------------------------------------------------
TX_A1_DSP
MOVLW 03H
MOVWF TEMP
RE_IS_TFT_COLOR
MOVLW 0A1H
MOVWF TX_BUFF0
MOVF TFT_COLOR,W
MOVWF TX_BUFF1
CALL ATX_DSP
BTFSC COMM_FLAG,TX_DSP_SUCCESS
GOTO IS_TFT_COLOR_END
DECFSZ TEMP,F
GOTO RE_IS_TFT_COLOR
IS_TFT_COLOR_END
BCF COMM_FLAG,TX_DSP_SUCCESS
RETLW 00H
;------------------------------------------------
TX_A2_DSP
MOVLW 03H
MOVWF TEMP
RE_IS_TFT_CONST
MOVLW 0A2H
MOVWF TX_BUFF0
MOVF TFT_CONST,W
MOVWF TX_BUFF1
CALL ATX_DSP
BTFSC COMM_FLAG,TX_DSP_SUCCESS
GOTO IS_TFT_CONST_END
DECFSZ TEMP,F
GOTO RE_IS_TFT_CONST
IS_TFT_CONST_END
BCF COMM_FLAG,TX_DSP_SUCCESS
RETLW 00H
;------------------------------------------------
TX_A3_DSP
MOVLW 03H
MOVWF TEMP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -