⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zt0519.asm

📁 DVD的PROTABLE(7寸屏)的CODE,PIC写的ASM,OSD通过协议来显示,电池电量的显示,TFT屏的控制.
💻 ASM
📖 第 1 页 / 共 5 页
字号:
               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 + -