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

📄 ex.asm

📁 这是DSP2407的RAM测试程序,含全部源码,调试通过,可运行.
💻 ASM
字号:
;ex.asm,定时器控制LED
            .title    "ex.asm"   
            .include  "F2407REGS.H" 
            
            .sect ".data"
numled		.set	0d01h
;建立中断向量表           
            .sect     ".vectors"            
RSVECT      B	    start
INT1     	B		PHANTOM
INT2     	B       GISR2
INT3        B       PHANTOM
INT4		B		PHANTOM
INT5        B		PHANTOM
INT6		B       PHANTOM
;中断子向量入口定义  
		.sect    ".pvecs"      ;定义子向量段
PVECTORS	B       PHANTOM        ;保留向量偏移量0000H
			B       PHANTOM        ;偏移量0001H
			B       PHANTOM        ;偏移量0002H
			B       PHANTOM        ;偏移量0003H
			B       PHANTOM        ;偏移量0004H
			B       PHANTOM        ;偏移量0005H
			B       PHANTOM        ;偏移量0006H
			B       PHANTOM        ;偏移量0007H
			B       PHANTOM        ;偏移量0008H
			B       PHANTOM        ;偏移量0009H
			B       PHANTOM        ;偏移量000AH
			B       PHANTOM        ;偏移量000BH
			B       PHANTOM        ;偏移量000CH
			B       PHANTOM        ;偏移量000DH
			B       PHANTOM        ;偏移量000EH
			B       PHANTOM        ;偏移量000FH
			B       PHANTOM        ;偏移量0010H
			B       PHANTOM		   ;偏移量0011H
			B       PHANTOM        ;偏移量0012H
			B       PHANTOM        ;偏移量0013H
			B       PHANTOM        ;偏移量0014H
			B       PHANTOM        ;偏移量0015H
			B       PHANTOM        ;偏移量0016H
			B       PHANTOM		   ;偏移量0017H
			B       PHANTOM        ;偏移量0018H
			B       PHANTOM        ;偏移量0019H
			B       PHANTOM        ;偏移量001AH
			B       PHANTOM        ;偏移量001BH
			B       PHANTOM        ;偏移量001CH
			B       PHANTOM        ;偏移量001DH
			B       PHANTOM        ;偏移量001EH
			B       PHANTOM        ;偏移量001FH
			B       PHANTOM        ;偏移量0020H
			B       PHANTOM        ;偏移量0021H
			B       PHANTOM        ;偏移量0022H
			B       PHANTOM        ;偏移量0023H
			B       PHANTOM        ;偏移量0024H
			B       PHANTOM        ;偏移量0025H
			B       PHANTOM        ;偏移量0026H
			B       T1PINT_ISR     ;偏移量0027H
			B       PHANTOM        ;偏移量0028H
			B       PHANTOM        ;偏移量0029H
			B       PHANTOM        ;偏移量002AH
			B       PHANTOM        ;偏移量002BH
			B       PHANTOM        ;偏移量002CH
			B       PHANTOM        ;偏移量002DH
			B       PHANTOM        ;偏移量002EH
			B       PHANTOM	;T3PINT_ISR     ;偏移量002FH,T3PINT周期中断
			B       PHANTOM        ;偏移量0030H
			B       PHANTOM        ;偏移量0031H
			B       PHANTOM        ;偏移量0032H
			B       PHANTOM        ;偏移量0033H
			B       PHANTOM        ;偏移量0034H
			B       PHANTOM        ;偏移量0035H
			B       PHANTOM        ;偏移量0036H
			B       PHANTOM        ;偏移量0037H
			B       PHANTOM        ;偏移量0038H
			B       PHANTOM        ;偏移量0039H
			B       PHANTOM        ;偏移量003AH
			B       PHANTOM        ;偏移量003BH
			B       PHANTOM        ;偏移量003CH
			B       PHANTOM        ;偏移量003DH
			B       PHANTOM        ;偏移量003EH
			B       PHANTOM        ;偏移量003FH
			B       PHANTOM;CANMBX_ISR     ;偏移量0040H
			B       PHANTOM        ;偏移量0041H
			B       PHANTOM        ;偏移量0042H       
						 
            .text                 
start:
			CALL    SYSINIT      		;系统初始化程序 
            
            LDP 	#DP_PF2
            SPLK	#0FEFFH,MCRA        ;IOPB0置为IO
            SPLK	#0FFFEH,PBDATDIR	;IOPB0=0,置低,LED指示灯灭  
            
            LDP		#DP_SARAM2   
            SPLK	#200,numled         ;控制LED闪烁频率的参数
            
            CALL	T1_INIT             ;定时器1初始化

            CLRC     INTM               ;打开中断

WAIT:
			NOP 
 			NOP
			B		WAIT		
                        
SYSINIT:
			SETC     INTM
			CLRC 	 SXM
			CLRC	 OVM
			CLRC     CNF
			LDP		 #0E0H
			SPLK     #83FEH,SCSR1       ;CLKIN=20M,CLKOUT=40M   
 
		    SPLK	 #006FH,WDCR        ;关看门狗
			KICK_DOG
			LDP      #0  
			SPLK	 #0FFFFH,IFR        ;清所有中断标志 
			SPLK	 #0002H,IMR         ;允许INT2中断			
			
			RET	   
			
T1_INIT:
            LDP		#DP_EVA
            SPLK	#0080H,EVAIMRA		;定时器1周期中断使能
            SPLK	#0FFFFH,EVAIFRA		;清除中断标志
            SPLK	#0000H,GPTCONA
            SPLK	#2500,T1PR         ; 
            SPLK	#0,T1CNT
            SPLK	#144EH,T1CON		; 增模式, TPS系数40M/16=2.5M,T1使能
                                        ;定时周期2500*0.4=1ms   
            RET                            
GISR2:
		    LDP      #224
		    LACC     PIVR,1   
		    ADD      #PVECTORS
		    BACC
		
T1PINT_ISR:  
            LDP		#DP_EVA  
            SPLK	#0,T1CNT 
            SPLK	#0FFFFH,EVAIFRA   
            
            LDP		#DP_SARAM2
            LACC	numled
            SUB		#1                  ;每次减1
            SACL	numled
            BCND	P1,NEQ				;若不为0则跳转
            SPLK	#200,numled         ;为0则执行此处,每进200次中断后执行LED操作 
            
            LDP		#DP_PF2
            BIT		PBDATDIR,15
            BCND	LEDL,TC				;若该位为1,则跳转到LEDL 
            SPLK	#0101H,PBDATDIR		;IOPB0=1  
            B		P1
LEDL:       
			LDP		#DP_PF2
            SPLK	#0100H,PBDATDIR		;IOPB0=0
P1:                  
			CLRC    INTM          
			
			RET                 		;中断返回

		
PHANTOM:
		    KICK_DOG
			RET					
		.end

⌨️ 快捷键说明

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