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

📄 pcm.asm

📁 基于DSP的数字电话的实现 汇编代码的在ccs平台上实现
💻 ASM
字号:
;PCM编解码器驱动程序,可观察到电话直通。
		.mmregs
		.def  _c_int00
        .data
TEMP	.usect	"TEMP", 20H 
TMP		.set	6AH 

K_SPCR10 .set 0000000010100001b		;串口0的初始化数据
K_SPCR20 .set 0000001011100001b
K_RCR10  .set 0001111100000000b 
K_RCR20  .set 0001111100000000b
K_XCR10  .set 0001111100000000b
K_XCR20  .set 0001111100000000b
K_SRGR10 .set 0000000000000111b
K_SRGR20 .set 0011000011111111b
                     ;       ;
K_PCR0   .set 0000101000000000b     

K_MCR10  .set 0000000000000000b		;PCM编解码器的初始化数据
K_MCR20  .set 0000000000000010b
K_RCERA0 .set 0000000000000001b	
K_RCERB0 .set 0000000000000000b
K_XCERA0 .set 0000000000000001b
K_XCERB0 .set 0000000000000000b

SPSA0	.set 	38h
McBSP0	.set 	39h
DXR10   .set 	23h
DXR20	.set 	22h
DRR10   .set 	21h
DRR20   .set 	20h 


 
SPCR10  .set 	00h 
SPCR20  .set 	01h
RCR10   .set 	02h
RCR20   .set 	03h
XCR10   .set 	04h
XCR20   .set 	05h
SRGR10	.set	06h	
SRGR20  .set	07h
MCR10   .set	08h
MCR20   .set    09h
RCERA0  .set    0ah
RCERB0  .set    0bh
XCERA0  .set    0ch
XCERB0  .set    0dh
PCR0    .set 	0Eh
		.text
_c_int00
		b start
		nop
		nop
NMI	rete
		nop
		nop
		nop
SINT17	.space 4*16
SINT18	.space 4*16
SINT19	.space 4*16
SINT20	.space 4*16
SINT21	.space 4*16
SINT22	.space 4*16
SINT23	.space 4*16
SINT24	.space 4*16
SINT25	.space 4*16
SINT26	.space 4*16
SINT27	.space 4*16
SINT28	.space 4*16
SINT29	.space 4*16
SINT30	.space 4*16
INT0	rsbx 	intm
		rete
		nop
		nop
INT1	rsbx 	intm
		rete
		nop
		nop
INT2	rsbx 	intm
		rete
		nop
		nop
TINT:	RETE
		nop
		nop
		nop
RINT0:	BD		RECIV				;RINT0接收中断向量
		nop
		nop
		nop
XINT0:	BD		XT					;XINT0发送中断向量
		nop
		nop
		nop 
SINT6	.space 4*16
SINT7	.space 4*16
INT3:	rete
		nop
		nop
		nop  
HPINT:	rete
		nop
		nop
		nop  
RINT1:	RETE
		nop
		nop
		nop
XINT1:	RETE
		nop
		nop
		nop
;*************************
start:	LD 		#0,DP
		STM		#200h,SP
		STM 	#07FFFh,SWWSR
		STM 	#1060h,PMST  
		STM		#3FFFH,IFR   
				
		LD		#0AH,A
        STL		A,TMP
        PORTW 	TMP,7H 					;选通串口0给PCM编解码器用
        
        STM		#4000H,AR0
		STM		#1000H,AR2
					    
        CALL	INBSP					;串口0和PCM编解码器初始化
        STM		#3FFFH,IFR  		
		STM		#0010H,IMR				;ENABLE RINT0 INTERRUPT 
		RSBX	INTM					;开中断
;*************************				
WAIT:		B 		WAIT   
;*************************        
INBSP	STM 	#SPCR10,SPSA0  
		STM 	#0000h,McBSP0  			;RESET R
		NOP
		NOP
		
		STM 	#SPCR20,SPSA0  
		STM 	#0000h,McBSP0  			;RESET X	
		NOP
		NOP
		
		STM 	#RCR10,SPSA0
		STM 	#K_RCR10,McBSP0 
		NOP
		NOP   
		
		STM 	#XCR10,SPSA0
		STM 	#K_XCR10,McBSP0
		NOP
		NOP
		
		STM 	#PCR0,SPSA0
		STM 	#K_PCR0,McBSP0
		NOP
		NOP
	    
	    STM		SRGR10,SPSA0
	    STM		#K_SRGR10,McBSP0
	    NOP
		NOP
		
		STM		SRGR20,SPSA0
	    STM		#K_SRGR20,McBSP0
	    NOP
		NOP 
		
		STM 	#RCR20,SPSA0
		STM 	#K_RCR20,McBSP0 
		NOP
		NOP 
		
		STM 	#XCR20,SPSA0
		STM 	#K_XCR20,McBSP0
		NOP
		NOP   
		
		STM 	#MCR10,SPSA0
		STM 	#K_MCR10,McBSP0
		NOP
		NOP  
	
		STM 	#MCR20,SPSA0
		STM 	#K_MCR20,McBSP0
		NOP
		NOP  
		
		STM 	#RCERA0,SPSA0
		STM 	#K_RCERA0,McBSP0
		NOP
		NOP  
		
		STM 	#RCERB0,SPSA0
		STM 	#K_RCERB0,McBSP0
		NOP
		NOP 
		
		STM 	#XCERA0,SPSA0
		STM 	#K_XCERA0,McBSP0
		NOP
		NOP 
		
		STM 	#XCERB0,SPSA0
		STM 	#K_XCERB0,McBSP0
		NOP
		NOP 
		
		STM 	#SPCR10,SPSA0
		STM 	#K_SPCR10,McBSP0    ;ENBLE R
		NOP
		NOP
						   
		STM 	#SPCR20,SPSA0
		STM 	#K_SPCR20,McBSP0    ;ENBLE X
		NOP
		NOP	
		RET
;*********************************		
RECIV:  STM		#3FFFH,IFR			;串口0的接收中断服务程序
		LDM		DRR10,A 
	    STLM	A,DXR10
	    STL		A,*AR0+
		BANZ	RECIV1,*AR2-
		STM		#4000H,AR0
		STM		#1000H,AR2			   		
RECIV1:  RETE
;***************
XT:	RETE
;***************
		.end


⌨️ 快捷键说明

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