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

📄 ad50.asm

📁 C5402DSP汇编编写的FIR滤波器的实现程序
💻 ASM
字号:
;
;  版权归解放军理工大学通信工程学院所有
;  
;  ======== AD50.asm ========
;  串口测试程序
;
    
	.title 	"AD50.asm"
	.mmregs

	; 定义中断标号
	.def	BRINT0_ISR
	
	.ref    fir_task
	
	.ref    cf_ad50
	
	
SPSA0	.set 	38h
SPSD0	.set 	39h
DXR10   .set    23h
DRR10   .set	21h 


	.data	
temp       .word 0

data_master .word 0 ;用于保存主数据
data_slave  .word 0 ;用于保存从数据
	
	.text    
;-------------------------------------------
;             串口中断服务程序
;-------------------------------------------
		.text					
BRINT0_ISR:   
		; 压栈               	  
    	PSHM  	AG		
    	PSHM  	AH            
		PSHM  	AL  
		PSHM    BG
		PSHM    BH
		PSHM    BL   
		PSHM    AR0
		PSHM    AR1 
		PSHM    AR2
		PSHM    AR3           
		PSHM  	AR4 
		PSHM    AR5
;-------------------------------------------
;             配置AD50寄存器
;-------------------------------------------  
		RSBX    CPL
		NOP
		NOP
		NOP
		NOP
		; 读取配置次数     
	    LD    	*(cf_ad50),A		
	    AND   	#0fh,0,A,A
	    ; 当配置计数减为0,配置结束
	    BC    	#tr_data,AEQ
pconf_ad50:		
	    ADD   	#cf_ad50,0,A,A
	    STLM  	A,AR4			
        ADDM  	0ffffh,*(cf_ad50)
        NOP
        NOP	
	    LD    	*AR4,A
	    NOP
	    NOP
	    STLM  	A,DXR10			
	    B     	#cf_end			
;-------------------------------------------
;           配置结束,进行正常通信 
;-------------------------------------------         
tr_data:
;判断主从模式
		LDM    	DRR10,A 
		;将直流偏置减掉
		SUB     #0x360e,A
		;SUB     #6a6eh,a
		NOP
		NOP
		STL     A,*(temp)		;zx.03.10.21
		ANDM    #1,*(temp)		;zx.03.10.21
		NOP						;zx.03.10.21
		NOP						;zx.03.10.21
		CMPM    *(temp),#1		;zx.03.10.21
		BC      slavemode,TC		;zx.03.10.21
		
		STL     A,*(data_slave)
		NOP
		NOP
		LD      *(data_master),A
		
;进行FIR滤波		
FIR_sub:
		NOP
		CALL    fir_task
		NOP
		SFTA    A,-16
		NOP
		NOP
		AND     #0xfffe,A
		NOP
		STLM    A,DXR10
		B 		cf_end

slavemode:
		SUB     #0x1,A
		STL     A,*(data_master)
		NOP
		NOP
		LD      *(data_slave),A
				
		STLM     A,DXR10
		NOP
		B       cf_end

cf_end:	
		; 出栈	
		POPM    AR5      
		POPM  	AR4 
		POPM    AR3
		POPM    AR2
		POPM    AR1
		POPM    AR0
		POPM    BL
		POPM    BH
		POPM    BG          
		POPM  	AL            
		POPM  	AH            
		POPM  	AG           
		POPM  	ST1            
		POPM  	ST0            
		RETE		

    	.end		


⌨️ 快捷键说明

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