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

📄 zt0519.asm

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

       LIST P=16C73
       INCLUDE <P16C73.INC>
  	     INCLUDE <ZT0519.H>
  	     INCLUDE <TABLE.H>

     ;  __CONFIG   _BODEN_ON & _CP_ALL & _PWRTE_ON & _WDT_ON & _XT_OSC  
            __CONFIG   _CP_ALL & _PWRTE_ON & _WDT_OFF & _XT_OSC      
;---------------------------------------------
	       ORG	      RESET_VECTOR_ADDR
RESET                         
	       BCF	      PCLATH,3
	       BCF	      PCLATH,4
	       GOTO	      MCLR_RESET
	       GOTO	      MCLR_RESET

	ORG	0004
PER_INT_V
	MOVWF	W_TEMP 
	SWAPF   STATUS,W
	CLRF    STATUS
	MOVWF   STATUS_TEMP
	MOVF    PCLATH,W
	MOVWF   PCLATH_TEMP
	CLRF    PCLATH 
	MOVF    FSR,W
	MOVWF   FSR_TEMP

	BTFSC   PIR1,TMR1IF
	GOTO    TIME1_OVER_INT
	BTFSC	INTCON,INTF
	GOTO	RED_RECEIVE_INT
              BTFSC       PIR1,TMR2IF  
              GOTO        TIME2_OVER_INT
	BCF	INTCON,RBIF
	BCF	INTCON,T0IF
	CLRF	PIR1

RETURN_FR_INT
	BCF     STATUS,RP0 
	MOVF    PCLATH_TEMP,W
	MOVWF   PCLATH  
	MOVF    FSR_TEMP,W
	MOVWF   FSR
	SWAPF   STATUS_TEMP,W
	MOVWF   STATUS
	SWAPF   W_TEMP,F
	SWAPF   W_TEMP,W
	RETFIE				

;===============================================================================
;表格
;===============================================================================
FIND_COLOR_TABLE              
               MOVLW          32H
               SUBWF          TFT_COLOR,W     
               BTFSS          STATUS,C    
               GOTO           $+3            
               MOVLW          0FH            
               MOVWF          TFT_COLOR  
               MOVF           TFT_COLOR,W               
               ADDWF          PCL,F
               RETLW          COLOR0
               RETLW          COLOR1
               RETLW          COLOR2
               RETLW          COLOR3
               RETLW          COLOR4
               RETLW          COLOR5
               RETLW          COLOR6
               RETLW          COLOR7
               RETLW          COLOR8
               RETLW          COLOR9
               RETLW          COLOR10
               RETLW          COLOR11 
               RETLW          COLOR12
               RETLW          COLOR13
               RETLW          COLOR14
               RETLW          COLOR15
               RETLW          COLOR16
               RETLW          COLOR17
               RETLW          COLOR18
               RETLW          COLOR19
               RETLW          COLOR20
               RETLW          COLOR21
               RETLW          COLOR22
               RETLW          COLOR23
               RETLW          COLOR24
               RETLW          COLOR25
               RETLW          COLOR26
               RETLW          COLOR27
               RETLW          COLOR28
               RETLW          COLOR29
               RETLW          COLOR30
               RETLW          COLOR31                          
               
;---------------------------------------------------------------
FIND_CONST_TABLE              ;对比度表
               MOVLW          32H
               SUBWF          TFT_CONST,W     
               BTFSS          STATUS,C    
               GOTO           $+3             
               MOVLW          0FH            
               MOVWF          TFT_CONST  
               MOVF           TFT_CONST,W 
               ADDWF          PCL,F
               RETLW          CONST0
               RETLW          CONST1
               RETLW          CONST2
               RETLW          CONST3
               RETLW          CONST4
               RETLW          CONST5
               RETLW          CONST6
               RETLW          CONST7
               RETLW          CONST8
               RETLW          CONST9
               RETLW          CONST10
               RETLW          CONST11 
               RETLW          CONST12
               RETLW          CONST13
               RETLW          CONST14
               RETLW          CONST15
               RETLW          CONST16
               RETLW          CONST17
               RETLW          CONST18
               RETLW          CONST19
               RETLW          CONST20
               RETLW          CONST21
               RETLW          CONST22
               RETLW          CONST23
               RETLW          CONST24
               RETLW          CONST25
               RETLW          CONST26
               RETLW          CONST27
               RETLW          CONST28
               RETLW          CONST29
               RETLW          CONST30
               RETLW          CONST31
;--------------------------------------------------               
FIND_BRIGHT_TABLE             ;亮度表
               MOVLW          32H
               SUBWF          TFT_BRIGHT,W    
               BTFSS          STATUS,C    
               GOTO           $+3            
               MOVLW          0FH            
               MOVWF          TFT_BRIGHT  
               MOVF           TFT_BRIGHT,W 
               ADDWF          PCL,F
               RETLW          BRIGHT0
               RETLW          BRIGHT1
               RETLW          BRIGHT2
               RETLW          BRIGHT3
               RETLW          BRIGHT4
               RETLW          BRIGHT5
               RETLW          BRIGHT6
               RETLW          BRIGHT7
               RETLW          BRIGHT8
               RETLW          BRIGHT9
               RETLW          BRIGHT10
               RETLW          BRIGHT11 
               RETLW          BRIGHT12
               RETLW          BRIGHT13
               RETLW          BRIGHT14
               RETLW          BRIGHT15
               RETLW          BRIGHT16
               RETLW          BRIGHT17
               RETLW          BRIGHT18
               RETLW          BRIGHT19
               RETLW          BRIGHT20
               RETLW          BRIGHT21
               RETLW          BRIGHT22
               RETLW          BRIGHT23
               RETLW          BRIGHT24
               RETLW          BRIGHT25
               RETLW          BRIGHT26
               RETLW          BRIGHT27
               RETLW          BRIGHT28
               RETLW          BRIGHT29
               RETLW          BRIGHT30
               RETLW          BRIGHT31
;--------------------------------------------------               
FIND_VOL_TABLE               
               MOVLW          .16
               SUBWF          VOL,W     
               BTFSS          STATUS,C    
               GOTO           $+3      
               MOVLW          00H           
               MOVWF          VOL 
               MOVF           VOL,W
               ADDWF          PCL,F
               RETLW          VOL0
               RETLW          VOL1
               RETLW          VOL2
               RETLW          VOL3
               RETLW          VOL4
               RETLW          VOL5
               RETLW          VOL6
               RETLW          VOL7
               RETLW          VOL8
               RETLW          VOL9
               RETLW          VOL10
               RETLW          VOL11 
               RETLW          VOL12
               RETLW          VOL13
               RETLW          VOL14
               RETLW          VOL15
;-------------------------------------------------
;--------------------------------------------------
TIME2_OVER_INT
                BCF	PIR1,TMR2IF 
                
                DECFSZ  TMR2_COUNT0,F
                GOTO	RETURN_FR_INT
                     ;1S定时到
                BTFSS   VOL_FLAG,LOW_POWER
                GOTO    RELOAD_TMR2C0
                BTFSS   VOL_FLAG,LED_STATUS
                GOTO    SET_LED_HIGH
                BCF	PORTB,LED
                BCF	VOL_FLAG,LED_STATUS
                GOTO    RELOAD_TMR2C0
SET_LED_HIGH                
                BSF	PORTB,LED
                BSF	VOL_FLAG,LED_STATUS   

RELOAD_TMR2C0   MOVLW   .244                
                MOVWF   TMR2_COUNT0
                BSF     VOL_FLAG,ONE_S
                GOTO	RETURN_FR_INT
;--------------------------------------------------        


TIME1_OVER_INT
	BCF	PIR1,TMR1IF
	CLRF	IR_RECEIVE_FLAG
	BSF	STATUS,RP0
	BCF	OPTION_REG,INTEDG		
	BCF	STATUS,RP0
	GOTO	RETURN_FR_INT
;**************************************************
RED_RECEIVE_INT
	BCF	INTCON,INTF
               BTFSC     COMM_FLAG,RX_IR_SUCCESS
               GOTO    	RETURN_FR_INT
	BTFSC	IR_RECEIVE_FLAG,RECEIVE_IR_HIGH_FLAG
	GOTO	RECEIVE_IR_DATA
	BTFSC	IR_RECEIVE_FLAG,RECEIVE_IR_LOW_FLAG
	GOTO	RECEIVE_IR_HIGH_SET
	BTFSC	IR_RECEIVE_FLAG,RECEIVE_IR_4.5MS_FLAG
	GOTO	RECEIVE_START_IF_OK
	BTFSC	IR_RECEIVE_FLAG,RECEIVE_IR_9MS_FLAG
	GOTO	RECEIVE_START_4.5MS_HIGH_SET
RECEIVE_START_9MS_LOW_SET
	BSF	IR_RECEIVE_FLAG,RECEIVE_IR_9MS_FLAG
	CLRF	TMR1L
	CLRF	TMR1H
	BSF	STATUS,RP0
	BSF	OPTION_REG,INTEDG		
	BCF	STATUS,RP0
	GOTO	RETURN_FR_INT
RECEIVE_START_4.5MS_HIGH_SET
	BSF	STATUS,RP0
	BCF	OPTION_REG,INTEDG	
	BCF	STATUS,RP0
	BSF	IR_RECEIVE_FLAG,RECEIVE_IR_4.5MS_FLAG
	GOTO	RETURN_FR_INT
RECEIVE_START_IF_OK
	MOVLW	38
	SUBWF	TMR1H,W
	BTFSC	STATUS,C
	GOTO	RECEIVE_IR_BAD
	MOVLW	30
	SUBWF	TMR1H,W
	BTFSS	STATUS,C
	GOTO	RECEIVE_IR_BAD
	BSF	STATUS,RP0
	BSF	OPTION_REG,INTEDG		
	BCF	STATUS,RP0
	CLRF	TMR1L
	CLRF	TMR1H
	CLRF	IR_RECEIVE_BIT_COUNT
	BSF	IR_RECEIVE_FLAG,RECEIVE_IR_LOW_FLAG
	GOTO	RETURN_FR_INT
RECEIVE_IR_HIGH_SET
	BSF	STATUS,RP0
	BCF	OPTION_REG,INTEDG		
	BCF	STATUS,RP0
	BSF	IR_RECEIVE_FLAG,RECEIVE_IR_HIGH_FLAG
	GOTO	RETURN_FR_INT
RECEIVE_IR_DATA
	INCF	IR_RECEIVE_BIT_COUNT,F
	MOVLW	3
	SUBWF	TMR1H,W
	BTFSS	STATUS,C
	GOTO	RECEIVE_IR_IF_1
	MOVLW	6
	SUBWF	TMR1H,W
	BTFSC	STATUS,C
	GOTO	RECEIVE_IR_IF_1
	BCF	IR_RECEIVE_FLAG,RECEIVE_IR_DATA_BIT
	GOTO	SHIFT_BIT_TO_REGISTER
RECEIVE_IR_IF_1
	BSF	IR_RECEIVE_FLAG,RECEIVE_IR_DATA_BIT
SHIFT_BIT_TO_REGISTER
	MOVLW	.9
	SUBWF	IR_RECEIVE_BIT_COUNT,W
	BTFSS	STATUS,C
	GOTO	SHIFT_DATA_TO_ADD1
	MOVLW	.17
	SUBWF	IR_RECEIVE_BIT_COUNT,W
	BTFSS	STATUS,C
	GOTO	SHIFT_DATA_TO_ADD2
	MOVLW	.25
	SUBWF	IR_RECEIVE_BIT_COUNT,W
	BTFSS	STATUS,C
	GOTO	SHIFT_DATA_TO_ADD3
	BCF	STATUS,C
	BTFSC	IR_RECEIVE_FLAG,RECEIVE_IR_DATA_BIT
	BSF	STATUS,C
	RRF	IR_RECEIVE_DATA4,F
	MOVLW	.32
	SUBWF	IR_RECEIVE_BIT_COUNT,W
	BTFSS	STATUS,C
	GOTO	SHIFT_DATA_RETURN
	CLRF	IR_RECEIVE_FLAG
	MOVLW	01
	XORWF	IR_RECEIVE_DATA1,W
	BTFSS	STATUS,Z
	GOTO	RECEIVE_IR_BAD
	MOVLW	0FE
	XORWF	IR_RECEIVE_DATA2,W
	BTFSS	STATUS,Z
	GOTO	RECEIVE_IR_BAD
	COMF	IR_RECEIVE_DATA3,W      
	XORWF	IR_RECEIVE_DATA4,W
	BTFSS	STATUS,Z
	GOTO	RECEIVE_IR_BAD	           
	MOVF	IR_RECEIVE_DATA3,W
	MOVWF	C_TX_BUFF0
	MOVF	IR_RECEIVE_DATA4,W
	MOVWF	C_TX_BUFF1
	BSF	IR_RECEIVE_FLAG,RECEIVE_IR_OK_FLAG
	BSF	COMM_FLAG,RX_IR_SUCCESS
	BSF	STATUS,RP0              
	BCF	OPTION_REG,INTEDG		
	BCF	STATUS,RP0
	GOTO	RETURN_FR_INT
SHIFT_DATA_TO_ADD3
	BCF	STATUS,C
	BTFSC	IR_RECEIVE_FLAG,RECEIVE_IR_DATA_BIT
	BSF	STATUS,C
	RRF	IR_RECEIVE_DATA3,F
	GOTO	SHIFT_DATA_RETURN
SHIFT_DATA_TO_ADD2
	BCF	STATUS,C
	BTFSC	IR_RECEIVE_FLAG,RECEIVE_IR_DATA_BIT

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -