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

📄 sci.asm

📁 TMS320LF2407A_SCI串口通信原码程序
💻 ASM
字号:
*******************************************  

           .sect    "VECTORS" 
*******************************************        
int0		B	    _c_int0		
int1		B		BEGIN
int2		B	    T1_INT
int3		B		BEGIN 
int4		B		BEGIN
int5		B		SCI_INT 
int6		B		BEGIN
            B		BEGIN	
            B		BEGIN	
            B		BEGIN	
            B		BEGIN	
            B		BEGIN	
            B		BEGIN	
            B		BEGIN	
            B		BEGIN	
            B		BEGIN	
            B		BEGIN	
            B		BEGIN	
            B		BEGIN	
            B		BEGIN	
            B		BEGIN	
            B		BEGIN	
            B		BEGIN
            B		BEGIN	
            B		BEGIN	
            B		BEGIN	
            B		BEGIN	
            B		BEGIN	
            B		BEGIN	
            B		BEGIN	
            B		BEGIN 
            B		BEGIN         
*******************************************  
           .bss     SHOUDAO,1  
           .bss     DATE,1 
           .bss     DATE_ADSS,1 
           .bss     DATE_H_L,1 
           .bss     S1,1  
           .bss     S2,1  
           .global     _c_int0  
*******************************************  
IMR        .set      0004h 
IFR        .set      0006h

SCSR1      .set      7018h  
WDCR       .set      7029h 

SCICCR     .set      7050h 
SCICTL1    .set      7051h
SCIHBAUD   .set      7052h
SCILBAUD   .set      7053h
SCICTL2    .set      7054h
SCIRXST    .set      7055h
SCIRXEMU   .set      7056h
SCIRXBUF   .set      7057h
SCITXBUF   .set      7059h
SCIPRI     .set      705Fh 

MCRA       .set      7090h  
MCRB       .set      7092h
MCRC       .set      7094h   

PADATDIR   .set      7098H
PBDATDIR   .set      709AH
PCDATDIR   .set      709CH
PDDATDIR   .set      709EH
PEDATDIR   .set      7095H
PFDATDIR   .set      7096H   


GPTCONA    .set      7400h
T1CNT      .set      7401h  
T1CMPR     .set      7402h 
T1PR       .set      7403h 
T1CON      .set      7404h 
COMCONA    .set      7411h 
EVAIMRA    .set      742Ch 
EVAIMRB    .set      742Dh 
EVAIMRC    .set      742Eh 
EVAIFRA    .set      742Fh 
EVAIFRB    .set      7430h 
EVAIFRC    .set      7431h 

WSGR       .set     0FFFFh  

BIT7       .set     00008H
BIT6       .set     00009H
       	        	        
******************************************* 
*******************************************   
   .text 
*******************************************     
   .word  0ffffh,0ffffh,0ffffh,0ffffh   
******************************************* 
******************************************* 
_c_int0: 
******************清DRAM*********************

CLEAR1:	MAR 		*,AR6
		LAR 		AR6,#60H
		LACL		#0
		RPT 		#01FH
		SACL		*+,0,AR6
		LAR 		AR7,#0FFH
		LAR 		AR6,#300H
		MAR 		*,AR6
CLEAR2:	SPLK		#0H,*+,AR7
		BANZ		CLEAR2,AR6      
		     
		LAR 		AR7,#0FFH
		LAR 		AR6,#200H
		MAR 		*,AR6
CLEAR3:	SPLK		#0H,*+,AR7
		BANZ		CLEAR3,AR6   
		
		LAR 		AR7,#7FFH
		LAR 		AR6,#800H
		MAR 		*,AR6
CLEAR4:	SPLK		#0H,*+,AR7
		BANZ		CLEAR4,AR6   		 		   
*********************************************  
   SETC      INTM
   CLRC      CNF
   LDP       #0
   SPLK      #012H,IMR
   SPLK      #0FFFFH,IFR
   LDP       #0E0H
   SPLK      #0244H,SCSR1
   SPLK      #06FH,WDCR 
   LDP       #0
   SPLK      #0,60H
   OUT       60H,WSGR
   LDP       #225
   SPLK      #0FF00H,PEDATDIR
   LDP 		 #232
   SPLK		 #00000H,GPTCONA     ;#00000H  OFF T1PIN,T2PIN
   SPLK		 #02600H,COMCONA	 ;#0CA07H 
   SPLK		 #00000H,T1CNT
   SPLK		 #10000,T1PR           ;    
   SPLK		 #5000,T1CMPR
   SPLK		 #09046H,T1CON       ;#9046H,   
   SPLK		 #0FFFFH,EVAIFRA	 ;清中断标志
   SPLK		 #0FFFFH,EVAIFRB
   SPLK		 #0FFFFH,EVAIFRC
   SPLK		 #00080H,EVAIMRA	  ;#0180H,允许T1周期,比较中断,其余屏蔽
   SPLK		 #00000H,EVAIMRB	  ; 
   SPLK		 #00000H,EVAIMRC  
   clrc      INTM
SCI:
   LDP       #0E1H
   SPLK      #003H,MCRA  
   SPLK      #000H,MCRC
   LDP       #0E0H
   LAR       AR0,#SCITXBUF
   LAR       AR1,#SCIRXBUF
   LAR       AR2,#0FFH
   LAR       AR3,#0200H   
   LDP       #0E0H   
   SPLK      #0FFH,SCIPRI
   SPLK      #07H,SCICCR
   SPLK      #03H,SCICTL1
   SPLK      #02H,SCICTL2 
   SPLK      #02H,SCIHBAUD 
   SPLK      #08H,SCILBAUD 
   SPLK      #023H,SCICTL1 
   LACL      #012H
   MAR       *,AR0
   SACL      *     
*******************************************  
   
LOOP:   
        LDP         #5
        LACL        S1
        BCND        LOOP,EQ
        SPLK        #0,S1 
        
        CALL        XMIT_CHAR
        
        B           LOOP  
        
*******************************************          
XMIT_CHAR:
   LDP       #5            
   LACL      SHOUDAO
   BCND      XMIT_CHAR2,EQ
   SPLK      #0,SHOUDAO
   LACL      DATE_H_L
   BCND      XMIT_CHAR1,EQ
   LACL      #034H
   MAR       *,AR0
   SACL      * 
   B         RCV_RDY1
XMIT_CHAR1:
   LACL      #012H
   MAR       *,AR0
   SACL      *
RCV_RDY1:
   MAR       *,AR2   
   BANZ      XMIT_CHAR2  
   LAR       AR2,#0FFH  
   LAR       AR3,#0200H
   LDP       #5
   SPLK      #0,DATE_H_L
   CLRC      XF  
XMIT_CHAR2:   
   RET        
*******************************************
T1_INT: 
        MAR         *,AR4               ;AR4保存现场
        MAR         *+ 
        SST         #1, *+              ;保存ST1
        SST         #0, *+              ;保存ST0
        SACH        *+                  ;保存ACC高16位
        SACL        *                   ;保存ACC低16位 
        
        LDP         #5         
        SPLK        #1,S1
        LACL        DATE_ADSS
        ADD         #1
        SACL        DATE_ADSS 
        SUB         #4000
        BCND        T1_INT1,LT 
        SPLK        #0,DATE_ADSS  
        LACL        S2
        ADD         #1
        SACL        S2 
        SUB         #5
        BCND        T1_INT0,LT 
        SPLK        #0,S2
        SPLK        #1,SHOUDAO 
        SPLK        #0,DATE_H_L 
        LAR         AR2,#0FFH  
        LAR         AR3,#0200H
        
T1_INT0:               
        ldp         #225
        LACL        PEDATDIR
        XOR         #01H
        SACL        PEDATDIR
T1_INT1:        
        LDP         #232
        LACL        #080H 
        OR          EVAIFRA 
        SACL        EVAIFRA               
        
        MAR         *, AR4               ;AR4恢复现场
        LACL        *-
        ADDH        *-
        LST         #0, *- 
        LST         #1, *- 
        CLRC        INTM                 ;开中断        
        RET 
        
*******************************************                
SCI_INT:
        MAR         *,AR4               ;AR4保存现场
        MAR         *+ 
        SST         #1, *+              ;保存ST1
        SST         #0, *+              ;保存ST0
        SACH        *+                  ;保存ACC高16位
        SACL        *                   ;保存ACC低16位
        
        LDP         #5
        LACL        DATE_H_L  
        BCND        DATE_H,EQ
        LDP         #5               
        MAR         *,AR1
        LACL        *,AR3 
        ADD         DATE
        SACL        *+  
        SPLK        #0,DATE_H_L  
        B           SCI_INT1
DATE_H:
        LDP         #5               
        MAR         *,AR1
        LACC        *,8 
        SACL        DATE
        SPLK        #1,DATE_H_L
SCI_INT1:        
        LDP         #5
        SPLK        #1,SHOUDAO 
        SPLK        #0,S2
         
        MAR         *, AR4               ;AR4恢复现场
        LACL        *-
        ADDH        *-
        LST         #0, *- 
        LST         #1, *- 
        CLRC        INTM                 ;开中断        
        RET
   
BEGIN:
        clrc        INTM
        RET 
*******************************************  
     
   .end
        
   
   
   

⌨️ 快捷键说明

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