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

📄 rfcode40old.asm

📁 dsp tmslf2407a 汇编,c的原代码,包括i2c,scitimer,fir等的很多程序.
💻 ASM
📖 第 1 页 / 共 5 页
字号:
		   CALL    JIUCUO_ONEBIT		 
		   CALL    CHECK            ;100
		   LDP     #4
		   LACL    RESPONCE_FLAG
		   SUB     #01H
		   BCND    RESULT_ZHISHI,EQ
		    NOP
		   NOP
           LAR     AR3,#ADDR_JIUCUO_POSITION
		   MAR     *,AR3
		   ADRK    #01H	
		   LACL    *
		   SACL    JIUCUO_COUNTER
		   CALL    JIUCUO_ONEBIT		 
		   CALL    CHECK            ;010
		   LDP     #4
		   LACL    RESPONCE_FLAG
		   SUB     #01H
		   BCND    RESULT_ZHISHI,EQ
		     NOP
		   NOP
           LAR     AR3,#ADDR_JIUCUO_POSITION
		   MAR     *,AR3
		   ADRK    #02H	
		   LACL    *
		   SACL    JIUCUO_COUNTER
		   CALL    JIUCUO_ONEBIT		 
		   CALL    CHECK            ;001
		   B       RESULT_ZHISHI        
RESULT_ZHISHI:            
            LDP     #4
            LACL    RESPONCE_FLAG 
            SUB     #01H
            BCND    NO_RIGHT,NEQ              
            NOP
            NOP  
       ;     CALL   LIGHT_4           ;正确解码指示    
            CALL    LED2_DL
            LDP     #0
            SPLK    #0FFFFH,60H
            RPT     60H
            NOP
            CALL    LED_GM        
            RET
NO_RIGHT:   
			NOP
            NOP            
            CALL    LED4_DL
            LDP     #0
            SPLK    #0FFFFH,60H
            RPT     60H
            NOP
            CALL    LED_GM        
            RET  
NO_SOF_AFSK: CALL    LED1_DL
            LDP     #0
            SPLK    #0FFFFH,60H
            RPT     60H
            NOP
            CALL    LED_GM 
            RET           
;*****************ADD_JIUCUO***********************
;*******************************************                      
JIUCUO_ONEBIT:
		   LDP     #5
		   LACL    JIUCUO_COUNTER
		   SFR
		   SFR
		   SFR
		   SACL   JIUCUO_BYTES
		   LACL   JIUCUO_COUNTER
		   AND    #07H
		   SACL   JIUCUO_BITS
		   SPLK   #01H,JIUCUO_TEMP
J_ZERO:	   LDP    #5		  
		   LACL   JIUCUO_BITS
		   BCND   JC_CHANGE,EQ
		   NOP
		   NOP
		   LACL   JIUCUO_TEMP
		   SFL
		   SACL   JIUCUO_TEMP
		   LACL   JIUCUO_BITS
		   SUB    #01H
		   SACL   JIUCUO_BITS
		   B      J_ZERO
JC_CHANGE: LACL   #ADDR_CAPTURE
           ADD    #01H
           ADD    JIUCUO_BYTES		   
		   SACL   JIUCUO_BYTES
		   LAR    AR3,JIUCUO_BYTES
		   MAR     *,AR3
		   LACL    *
		   SACL    JIUCUO_COUNTER
		   AND     JIUCUO_TEMP
		   BCND    CHANGE_0TO1,EQ
		   NOP
		   NOP
		   LACL    JIUCUO_TEMP
		   NEG
		   AND     JIUCUO_COUNTER
		   SACL    *
		   B       CHANGE_OVER
CHANGE_0TO1: LACL    JIUCUO_TEMP
		     OR      JIUCUO_COUNTER
			 SACL    *
CHANGE_OVER: NOP
             NOP
             RET   
;**************************************************
;*****************************************************
AVERAGE_4H:  MAR        *,AR7
            ADRK       #04H      
;            LDP        #05H       
;            SPLK       #0,CAP4TEMP                   
;            LAR        AR5,#03H      ;5
;JH_CYCLE:   MAR        *,AR7
;            LACL       *+,AR5
;            ADD        CAP4TEMP
;            SACL       CAP4TEMP
;            BANZ       JH_CYCLE  
;            NOP
;            NOP                    ;37  
            LACL         *+
            ADD          *+
            ADD          *+
            ADD          *+
***************************            
            SFR
            SFR          
            MAR        *,AR6
            SACL       *+
            RET		              ;48    

*****************************************************
AVERAGE_4L:  MAR        *,AR7     
            ADRK       #01CH     
            LDP        #05H       
            SPLK       #0,CAP4TEMP                   
            LAR        AR5,#03H      ;5
JL_CYCLE:   MAR        *,AR7
            LACL       *+,AR5
            ADD        CAP4TEMP
            SACL       CAP4TEMP
            BANZ       JL_CYCLE  
            NOP
            NOP                    ;37
            SFR
            SFR          
            MAR        *,AR6
            SACL       *+
            RET		              ;48               
***********************************;帧头的判断          
SOF_JUDGE:LDP      #4
         SPLK     #00h,RESPONCE_FLAG
         LDP      #5      
         SPLK    #0,CAP4TEMP
;         LAR     AR6,#9D0H      ;;;;;;;;;;;;;;;;;;;;; 
         LAR     AR6,#89D0H
         LAR     AR5,#07H
SOFJ_CYCLE:
         MAR     *,AR6
         LACL    *+
         SUB     #35H
         BCND    GET_H,GEQ
         NOP
         NOP
         LACL    CAP4TEMP
         SFL      
         SACL    CAP4TEMP
         B       SOFJ_ON
GET_H:   LACL    CAP4TEMP  
         SFL
         OR      #01H
         SACL    CAP4TEMP
SOFJ_ON: MAR     *,AR5
         BANZ    SOFJ_CYCLE           
         NOP
         NOP
         LACL    CAP4TEMP
         SUB     #76H
         BCND    SOF_RIGHT,EQ
         NOP
         NOP     
      ;   CALL    LIGHT_1       ;无返回信号指示
         RET
SOF_RIGHT:          
          LDP      #4
          SPLK     #02h,RESPONCE_FLAG     
       ;   CALL     FSK_JIEMA
          RET         
**********************************************
IOPE56_L:LDP     #DP_PF2
         LACL	 PEDATDIR
         AND	 #0FF9FH              ;IOPE5,6口输出为1
         SACL    PEDATDIR           
         RET                              
IOPE56_H:LDP         #DP_PF2   
         LACL        PEDATDIR
         OR         #060H
         SACL        PEDATDIR        ;IOPE5,6口输出为1
         RET                         
;(5)中断程序程序*/
_GISR4:						    ;优先级INT4中断人口
		PUSH			        ;保护现场 
		SST     #0,71H    ;1
		SST     #1,72H    ;1
		LDP		#0E0H     ;2
		LACC	PIVR,1	  ;1		;读取外设中断向量寄存器(PIVR),并左移一位
		ADD		#PVECTORS ;1		;加上外设中断人口地址 
;	    ADD		#44h
		BACC			  ;4		;跳到相应的中断服务子程序
	   
_CAP3_ISR:					   ;捕获单元4中断程序入口
       ; LDP 		#DP_EVB   ;2    
       ; LACL	    CAP4FIFO  ;1   ;读出捕获的值          
      ;  SPLK		#0,T3CNT  ;2   ;清 T3 计数值,使其重新计?     
      ;  SPLK 	    #0FFFFh,EVBIFRC ;2  
        LDP 		#DP_EVA   ;2    
        LACL	    CAP3FIFO  ;1  ;读出捕获的值          
        SPLK		#0,T2CNT  ;2   ;清 T2 计数值,使其重新计?     
        SPLK 	    #0FFFFh,EVAIFRC ;2 
        MAR         *,AR7
        SACL        *+        ;20            
JUDGE_FHL:LDP     #5    
        LACL    CAPNUM
	    ADD     #01H
    	SACL    CAPNUM   
	    SUB     SETNUM
        BCND    GISR4_RET,NEQ
		NOP
		NOP				    
	 ;   LDP     #DP_EVB
     ;	SPLK 	#00H,EVBIMRC      
     ;	LACL    CAPCONB
     ;   AND     #0DFFFH
     ;   SACL    CAPCONB     
        LDP     #DP_EVA
     	SPLK 	#00H,EVAIMRC      
     	LACL    CAPCONA
        AND     #0EFFFH
        SACL    CAPCONA 
GISR4_RET:  
        LDP     #0          ;2     ;中断返回;复现场         
        LST     #1,72H          ;2
        LST     #0,71H          ;2
        POP                     ;1
	CLRC	INTM			;1    ;开总中断,因为一进中断就自动关闭总中断
	RET         	        ;4          -->21
;***************************         
*************************************8     
*************************************       
LEVEL_TXD: ; LAR          AR3,#_ADDR_CODEN
            MAR          *,AR3     
            LACL         #0BCH
            SACL         *+   
            LDP          #4
            LACL         RESPONCE_FLAG
            SACL         *+  
            LACL         #7EH
            RPT          #09H
            SACL         *+
            LAR          AR4,#0AFH
            LAR          AR5,#8A00H  
PULSE_MV1:   MAR          *,AR5
            LACL         *+,AR3
            SACL         *+,AR4
            BANZ         PULSE_MV1               
            NOP
            NOP     
            RET      
*********88                
ISO_LV_TXD: ;LAR          AR3,#_ADDR_CODEN
            MAR          *,AR3     
            LACL         #0BCH
            SACL         *+   
            LDP          #4
            LACL         CARD_ALL
            SACL         *+  
            LACL         #7EH
            RPT          #09H
            SACL         *+
            LAR          AR4,#0AFH
            LAR          AR5,#8A00H  
PULSE_MV:   MAR          *,AR5
            LACL         *+,AR3
            SACL         *+,AR4
            BANZ         PULSE_MV             
            NOP
            NOP        
            RET        
******************************************************
DELAY250:   RPT     #0FFH
            NOP
            RET                               
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;                        
;DELAY_10MS:	LAR        AR4,#9930H
;	    	KICK_DOG
;DDD_ON:		RPT        #0FFH
;            	NOP
;            	MAR        *,AR4
;            	BANZ       DDD_ON            
;            	NOP
;            	NOP
;            	RET  
         
DELAY_10MS: 	LAR        AR4,#1538	;10ms	   
DDD_ON:     	RPT        #0FFH
            	NOP
            	MAR        *,AR4
            	BANZ       DDD_ON              	                                
            	ret           
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;            
PARA_LOW_SPEED:NOP    
           LDP      #5    
           SPLK     #018H,SWIDTH           
           SPLK     #030H,DWIDTH          
           SPLK     #48H,TWIDTH          
           SPLK     #48H,LONGHIGH          
           SPLK     #0BH,WIDTH_SPACE 
           SPLK     #889CH,ADDR_SJ        
         ;  SPLK     #0105H,NUM_PRESAM  
           SPLK     #0100H,NUM_PRESAM    
         ;  SPLK     #69H,NUM_PREJUDGE  
           SPLK     #64H,NUM_PREJUDGE
         ;  SPLK     #013AH,NUM_SJUDGE 
           SPLK     #0135H,NUM_SJUDGE  
           SPLK     #8A04H,ADDR_LEVEL
           RET 
PARA_HIGH_SPEED:NOP  
           LDP      #5    
           SPLK     #06H,SWIDTH           
           SPLK     #0CH,DWIDTH          
           SPLK     #12H,TWIDTH          
           SPLK     #12H,LONGHIGH          
           SPLK     #02H,WIDTH_SPACE  
           SPLK     #886DH,ADDR_SJ        
         ;  SPLK     #87H,NUM_PRESAM   
           SPLK     #8CH,NUM_PRESAM   
         ;  SPLK     #1AH,NUM_PREJUDGE  
           SPLK     #1FH,NUM_PREJUDGE
         ;  SPLK     #94H,NUM_SJUDGE 
           SPLK     #9DH,NUM_SJUDGE   
           SPLK     #8A06H,ADDR_LEVEL
           RET  
*********************************************
RESET_TO_READY:
           LDP      #4        
           SPLK     #240H,ADR_CODEN
           SPLK     #04H,CODEN_NUMBERS
           LAR      AR6,ADR_CODEN   
           MAR      *,AR6
           LACL     #002H
           SACL     *+
           LACL     #026H
           SACL     *+
           LACL     #0C3H
           SACL     *+
           LACL     #078H
           SACL     *+       
            CALL    SOFQ
            CALL    DATA_CODING   
            CALL    ENDF                
            LAR     AR4,#0500H
DELAY8:     LDP     #0
            SPLK    #0FFH,60H
            RPT     60H

⌨️ 快捷键说明

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