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

📄 initad50.asm

📁 语音信号的fir滤波!!整个dsp的程序!!调试可用!
💻 ASM
字号:

			.include	"reg.h"
			.def		_init_AD50
			.mmregs
temp        .usect 		"temp",1
NOP_REQ		.set		0000h	; Pseudo reg0 val

    ;DSP16位数据线中前8位(04)用来选择AD50中的寄存器,后4位设定寄存器的值
REG1_VAL	.set		0104h	; INP & INM for DAC, (15+1)bit mode DAC(D0用于二次通讯方式)
READ_REG1   .set        2100h	; read reg1 value
REG2_VAL	.set		0210h 	; 16-bit ADC mode, rest is default 
REG3_VAL	.set		0300h	; No delayed frame-sync
REG4_VAL	.set		04B0h	; Fs = MCLK/(256*N) = 8.192E6/(256*4) 
								; Gain: Input=0dB, Output=0db
SEC_REQ		.set		0001h
RST_REQ     .set        0180h

			.text
_init_AD50:	  
			PORTW	15,#0 ;选通CODEC(复位,此时处于二次通讯方式)
			NOP
			NOP
			
			
 ;通过MCBSP1串口发送数据之前要判断是否发送准备好			
 ;判断SPCR2中XRDY是否为1(发送是否准备好),为1(准备好)就继续执行,否则死循环。
			
            STM 	SPCR2,MCBSP1_SPSA
LOOP1:      BITF    *(MCBSP1_SPSD), #0x0002  ;如果SPCR2中XRDY=1(发送准备好),TC=1             
        	BC      LOOP1, NTC     ;如果ST0中的TC=0 就跳到LOOP1循环(死循环)
        	NOP
        	NOP
        	
        	;发送数据到AD50
 		   	STM 	SEC_REQ, MCBSP1_DXR1 ;通过MCBSP1_DXR1的DX引脚传送数据到AD50中,对其初始化
 		   	                             ; 但是此时是二次通讯,告诉AD50要设定寄存器的值	
 		   	
 		   	
 		    STM 	SPCR2,MCBSP1_SPSA
LOOP11:     BITF   	*(MCBSP1_SPSD), #0x0002               
        	BC      LOOP11,NTC 
        	NOP
        	NOP
        	STM 	#REG4_VAL, MCBSP1_DXR1	;设定AD50中寄存器4的参数
        	                                ;Fs = MCLK/(256*N) = 8.192E6/(256*4) 
							            	; Gain: Input=0dB, Output=0db
 		   	
 		   	STM 	SPCR2,MCBSP1_SPSA
LOOP2:      BITF    *(MCBSP1_SPSD), #0x0002               
        	BC      LOOP2, NTC 
        	NOP
        	NOP
        	STM 	SEC_REQ, MCBSP1_DXR1 ;二次通讯
 		   		
			STM 	SPCR2,MCBSP1_SPSA
LOOP22:    	BITF    *(MCBSP1_SPSD), #0x0002               
        	BC      LOOP22, NTC
        	NOP
        	NOP 
        	STM 	#REG1_VAL, MCBSP1_DXR1	
        	
        	 		   	 		   	
 		    STM 	SPCR2,MCBSP1_SPSA
LOOP3:     	BITF    *(MCBSP1_SPSD), #0x0002               
        	BC      LOOP3, NTC 
        	NOP
        	NOP
        	STM 	SEC_REQ, MCBSP1_DXR1 ;二次通讯
        	
        							
 		   	STM 	SPCR2,MCBSP1_SPSA
LOOP33:     BITF   	*(MCBSP1_SPSD), #0x0002               
        	BC      LOOP33, NTC 
        	NOP
        	NOP
        	STM 	#REG2_VAL, MCBSP1_DXR1 	
        	
        		   				   			
            STM 	SPCR2,MCBSP1_SPSA
LOOP4:     	BITF    *(MCBSP1_SPSD), #0x0002               
        	BC      LOOP4, NTC 
        	NOP
        	NOP
        	STM 	SEC_REQ, MCBSP1_DXR1 ;二次通讯
        			   			   	
		    STM 	SPCR2,MCBSP1_SPSA
LOOP44:    	BITF    *(MCBSP1_SPSD), #0x0002               
        	BC      LOOP44, NTC 
        	NOP
        	NOP
        	STM 	#REG3_VAL, MCBSP1_DXR1
           	RETD
			NOP
			NOP

⌨️ 快捷键说明

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