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

📄 test.asm

📁 dsp tmslf2407a 汇编,c的原代码,包括i2c,scitimer,fir等的很多程序.
💻 ASM
📖 第 1 页 / 共 5 页
字号:
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
            NOP          
            MAR     *,AR4
            BANZ    DELAY8      
            NOP
            RET               
;*********************发送数据帧头部信号**1/256****(clk:40M)********************			     
SOF:		LDP     #DP_PF2
            LACL	PEDATDIR
            AND 	#0FF9FH                       ;IOPE5,6输出为0,9.44us(17AH)
            SACL    PEDATDIR        
            LDP     #0                            ;2
            SPLK    #016FH,COUNTER                 ;2
            RPT     COUNTER                       ;1
            NOP                
;*****************                                ;2
            LDP     #DP_PF2                       ;1
            LACL	PEDATDIR                      ;1
       	    OR  	#0060H                        ;IOPE5,6输出为1,56.64us(8DAH)
            SACL    PEDATDIR                   
            LDP     #0
            SPLK    #08CFH,COUNTER        
            RPT     COUNTER
            NOP        
;*****************      
            LDP     #DP_PF2
            LACL	PEDATDIR
            AND 	#0FF9FH                       ;IOPE5,6输出为0,9.44us(17AH)
            SACL    PEDATDIR         
            LDP     #0
            SPLK    #016FH,COUNTER        
            RPT     COUNTER       
            NOP                  
**********************
            LDP     #DP_PF2
            LACL	PEDATDIR
       	    OR  	#0060H                        ;IOPE5,6输出为1
            SACL    PEDATDIR               
            RET		
;*********************发送数据帧头部信号**1/4******(20M)******************			     
SOFQ:       LDP     #DP_PF2
            LACL	PEDATDIR
            AND 	#0FF9FH                       ;IOPE5,6输出为0,9.44us(17AH)
            SACL    PEDATDIR 
            LDP     #0
            SPLK    #016EH,COUNTER        
            RPT     COUNTER
            NOP                
;*****************      
            LDP     #DP_PF2
            LACL	PEDATDIR
       	    OR  	#0060H                 ;IOPE5,6输出为1,37.76us(5E6)
            SACL    PEDATDIR                   
            LDP     #0
            SPLK    #05DAH,COUNTER        
            RPT     COUNTER
            NOP        
;*****************      
            LDP     #DP_PF2
            LACL	PEDATDIR
            AND 	#0FF9FH                ;IOPE5,6输出为0,9.44us(17AH)
            SACL    PEDATDIR         
            LDP     #0
            SPLK    #016EH,COUNTER        
            RPT     COUNTER       
            NOP    
**********************
            LDP     #DP_PF2
            LACL	PEDATDIR
       	    OR  	#0060H                 ;IOPE5,6输出为1,18.88us(2F3)
            SACL    PEDATDIR   
            LDP     #0
            SPLK    #02EAH,COUNTER        
            RPT     COUNTER       
            NOP                
            RET		                                      	
;*********************发送数据帧结束信号******(40M)********************			     
;"ENDF"调用前有30个指令周期
ENDF:       LDP     #DP_PF2
            LACL	PEDATDIR
       	    OR  	#0060H                        ;IOPE5,6输出为1,18.88us(2F3H)
            SACL    PEDATDIR                   
            LDP     #0                            ;2C1=2F3-1E-14
            SPLK    #02C1H,COUNTER        
            RPT     COUNTER
            NOP        
;*****************      
            LDP     #DP_PF2
            LACL	PEDATDIR
            AND 	#0FF9FH                       ;IOPE5,6输出为0,9.44us(17AH)
            SACL    PEDATDIR         
            LDP     #0
            SPLK    #016FH,COUNTER        
            RPT     COUNTER       
            NOP     
;****************                  
            LDP     #DP_PF2
            LACL	PEDATDIR
       	    OR  	#0060H                        ;IOPE5,6输出为1,9.44us(17AH)
            SACL    PEDATDIR                   
            LDP     #0
            SPLK    #016FH,COUNTER        
            RPT     COUNTER
            NOP       
            RET			             
*************写指令时的附加结束信号************************
WENDF:      LDP     #DP_PF2
            LACL	PEDATDIR
       	    OR  	#0060H                        ;IOPE5,60输出为1,18.88us(2F3H)
            SACL    PEDATDIR                   
            LDP     #0                            ;2DF=2F3-14
            SPLK    #02DFH,COUNTER        
            RPT     COUNTER
            NOP        
;*****************      
            LDP     #DP_PF2
            LACL	PEDATDIR
            AND 	#0FF9FH                       ;IOPE5,6输出为0,9.44us(17AH)
            SACL    PEDATDIR         
            LDP     #0
            SPLK    #016FH,COUNTER        
            RPT     COUNTER       
            NOP     
;****************                  
            LDP     #DP_PF2
            LACL	PEDATDIR
       	    OR  	#0060H                        ;IOPE5,6输出为1,9.44us(17AH)
            SACL    PEDATDIR                   
            LDP     #0
            SPLK    #016FH,COUNTER        
            RPT     COUNTER
            NOP       
            RET			                             
;**************************** 位置脉冲************(40M)*********************
;"PULSE"调用前有34个指令周期
PULSE:      LDP     #DP_PF2
            LACL	PEDATDIR
       	    OR  	#0060H            ;IOPE5,6输出为1,9.44us(17AH)
            SACL    PEDATDIR                   
            LDP     #0                            ;142= 17A-22-16
            SPLK    #142H,COUNTER        
            RPT     COUNTER
            NOP   
;**********************************                        
            LDP     #DP_PF2
            LACL	PEDATDIR
            AND 	#0FF9FH                       ;IOPB0输出为0,9.44us(17AH)
            SACL    PEDATDIR         
            LDP     #0
            SPLK    #016FH,COUNTER        
            RPT     COUNTER       
            NOP     
************************************
            LDP     #DP_PF2
            LACL	PEDATDIR
            OR 	    #060H                       ;IOPB0输出为1
            SACL    PEDATDIR                      
            RET       
;****************************18.88us的高电平*******(40M)*****************8*  
;"HIGH1"调用前有34个指令周期
HIGH1:      LDP     #DP_PF2   ;2
            LACL	PEDATDIR  ;1
       	    OR  	#0060H    ;2         ;IOPE5,6输出为1,18.88us(2F3)
            SACL    PEDATDIR                   
            LDP     #0         
            LACL    #02B5H                ;2B8=2F3-22-19
         ;   SUB     MODIFY   
            ADD     MODIFY
            SACL    COUNTER              
            RPT     COUNTER
            NOP           
            LDP     #0
            SPLK    #0,MODIFY    
            RET                   
;****************************18.88us的高电平*******(40M)*****************8*  
;"HIGH2"调用前有24个指令周期
HIGH2:      LDP     #DP_PF2
            LACL	PEDATDIR
       	    OR  	#0060H    ;IOPE5,6输出为1,18.88us(2F3)
            SACL    PEDATDIR       
            LDP     #0            
            LACL    #02BFH            ;2C2=2F3-18-19   
           ; SUB     MODIFY 
            ADD     MODIFY
            SACL    COUNTER  
            RPT     COUNTER
            NOP          
            LDP     #0
            SPLK    #0,MODIFY   
            RET    
;**************************** 位置脉冲************(40M)*********************
;"QPULSE"调用前有50个指令周期
QPULSE:      LDP     #DP_PF2
            LACL	PEDATDIR
       	    OR  	#0060H                        ;IOPE5,6输出为1,9.44us(17AH)
            SACL    PEDATDIR                   
            LDP     #0                            ;132= 17A-32-16
            SPLK    #132H,COUNTER        
            RPT     COUNTER
            NOP   
;**********************************                        
            LDP     #DP_PF2
            LACL	PEDATDIR
            AND 	#0FF9FH                       ;IOPE5,6输出为0,9.44us(17AH)
            SACL    PEDATDIR         
            LDP     #0
            SPLK    #016EH,COUNTER        
            RPT     COUNTER       
            NOP     
************************************
            LDP     #DP_PF2
            LACL	PEDATDIR
            OR 	    #060H                       ;IOPE5,6输出为1
            SACL    PEDATDIR                      
            RET                      
;**1/4**************************18.88us的高电平*****(40M)*******************8*  
;"QHIGH1"调用前有50个指令周期
QHIGH1:     LDP     #DP_PF2
            LACL	PEDATDIR
       	    OR  	#0060H            ;IOPE5,6输出为1,18.88us(2F3)
            SACL    PEDATDIR          ;2AD=2F3-32-14         
            LDP     #0
            SPLK    #02ADH,COUNTER        
            RPT     COUNTER
            NOP             
            RET       
;**1/4**************************18.88us的高电平*****(20M)*******************8*  
;"QHIGH2"调用前有14个指令周期
QHIGH2:     LDP     #DP_PF2
            LACL	PEDATDIR
       	    OR  	#0060H            ;IOPE5,6输出为1,18.88us(2F3)
            SACL    PEDATDIR          ;2D1=2F3-E-14         
            LDP     #0
            SPLK    #02D1H,COUNTER        

⌨️ 快捷键说明

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