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

📄 main.asm

📁 C5402DSP汇编编写的FIR滤波器的实现程序
💻 ASM
字号:
	
	.mmregs
	
	.global _c_int00
	
	.ref    fir_init
	.ref    cf_serial
	
SPSA0	.set 	38h
SPSD0	.set 	39h

SPSA1 	.set  0x0048
SPSD1	.set  0x0049
SPSA2	.set  0x0034
SPSD2	.set  0x0035

SPCR1   .set  0x0000
SPCR2   .set  0x0001
PCR     .set  0x000e
	
	.text
_c_int00:	
;-------------------------------------------
;                 初始化DSP
;-------------------------------------------
      	; 关中断		
   		SSBX  	INTM
   		RSBX    CPL
   		NOP
   		NOP
   		; 设置堆栈
   		STM     600h,SP
   		; 设置中断屏蔽寄存器,开串口0收中断
   		STM   	#10h,IMR	
   		; 清中断标志
   		STM 	0,IFR	
   		; 设置DP指针值,用于DP寻址高9位
   		LD    	#0h,DP
   		; 设置软件等待状态寄存器和块转移控制寄存器		
        STM   	7fffh,SWWSR	
        STM   	800h,BSCR	
        ; 设置中断向量表首地址
        LDM   	PMST,A		
        AND   	#7fh,0,A,A	
        OR    	#0080h,0,A,A
        STLM 	A,PMST	
        
        ;将串口1配置为通用IO
        STM     #SPCR1,SPSA1
        ANDM    #0xfffe,SPSD1
        STM     #SPCR2,SPSA1
        ANDM    #0xfffe,SPSD1
        RPT     #0x1ff
        NOP
        STM     #PCR,SPSA1
        STM     #0x3f00,SPSD1
        	
        ;AD50 reset
        STM     #PCR,SPSA1
        ANDM    #0xfffB,SPSD1				;实现复位
	    RPT     #0x7fff
	    NOP
	    RPT     #0x7fff
	    NOP
	    STM     #PCR,SPSA1
        ORM     #0x0004,SPSD1
	    RPT     #0x7fff
	    NOP
	    NOP
	    RPT     #0x7fff
	    NOP	
        ; 设置时钟模式寄存器,根据需要倍频
        STM   	0h,CLKMD	
cmode:	LDM   	CLKMD,A		
        AND   	#1h,0,A,A	
        BC    	cmode,ANEQ
        STM   	1207h,CLKMD	
        
;-------------------------------------------
;                 初始化串口
;-------------------------------------------
		
		; 串口收发复位
        STM   	0h,SPSA0		
    	ANDM  	0fffeh,SPSD0	
    	STM   	1h,SPSA0		 
    	ANDM  	0ff3eh,SPSD0	
    	RPT   	#1ffh	
    	NOP   
    	; 根据串口配置表配置串口
    	STM   	SPSA0,AR2		
    	STM   	6h,BRC		
    	LD    	#cf_serial,0,A	
    	RPTB  	sconf-1	
    	READA 	*AR2+		
    	ADD   	#1h,0,A,A	
    	READA 	*AR2-		 
 		ADD   	#1h,0,A,A
sconf:
		nop
		; 使能串口	
    	RPT   	#1ffh
        NOP   
    	STM   	0h,SPSA0	
    	ORM   	1h,SPSD0	
    	STM   	1h,SPSA0	
    	ORM   	1h,SPSD0
;-------------------------------------------
;                完成处理工作
;-------------------------------------------
		CALL    fir_init
		; 开中断
        RSBX  	INTM
        NOP
        NOP
loop:   NOP
		NOP
		B       loop	

	.end

⌨️ 快捷键说明

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