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

📄 ad50.asm

📁 《DSP原理及应用》源代码
💻 ASM
字号:
		;程序功能为:AD50初始化后,采样输入端的数据,不做任何处理,直接输出。
		.mmregs
		.def  _c_int00
        .data
TEMP	.usect	"TEMP", 20h  
t0_flag	.usect  "vars",1 
t0_cout	.usect  "vars",1 	

K_SPCR10 .set 0000000010100001b 
K_SPCR20 .set 0000000000100001b
K_RCR10  .set 0000000001000000b;1 fax 1 word,1 word 16 bit
K_RCR20  .set 0000000001000000b;
K_XCR10  .set 0000000001000000b 
K_XCR20  .set 0000000001000000b 

K_PCR0   .set 0000000000001100b 

WriteCR1 .set	0100h
WriteCR2 .set	0200h
WriteCR3 .set	0300h
WriteCR4 .set	0408h
SECRequ  .set	0001h
           
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
PCR0    .set 	0Eh

TMP		.set	6Ah 
	.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
		nop
		nop
		nop
XINT0:	BD		XT
		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 	#1020h,PMST  
		        
        LD		#09H,A
        STL		A,TMP
        PORTW 	TMP,7H  			;使串口0的时钟和帧频由外设输入  
        
        
        CALL	INBSP 				;串口0初始化
        STM		#3FFFH,IFR
        RSBX	INTM  
        STM		#0010H,IMR          ;开串口0的接收中断
		CALL	INAD50              ;AD50初始化
		
		STM		#0020H,IMR          ;开发送中断
WAIT:	IDLE	1
		B 		WAIT                 		
;**********************		
RECIV:  RETE
;**********************
XT:     STM 	#3FFFH,IFR          ;清中断标志寄存器
		LDM		DRR10,A             ;接收的数据
		AND		#0FFFEH,A           ;使数据的最低位为0
		STLM	A,DXR10             ;发送数据
		RETE 
;**********************  
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 	#RCR20,SPSA0
		STM 	#K_RCR20,McBSP0 
		NOP
		NOP 
		
		STM 	#XCR20,SPSA0
		STM 	#K_XCR20,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
;*********************************
INAD50:	STM		#3FFFH,IFR          ;AD50初始化程序
		STM		#SECRequ,DXR10
		IDLE	1
		
		STM 	#0x3FFF,IFR
		STM		#0180H,DXR10
		IDLE	1  
		
		RPT		#100H 
						
		STM		#3FFFH,IFR
		STM		#SECRequ,DXR10
		IDLE	1
		
		STM 	#0x3FFF,IFR
		STM		#WriteCR1,DXR10
		IDLE	1           
			
		STM		#3FFFH,IFR
		STM		#SECRequ,DXR10
		IDLE	1
		
		STM 	#3FFFH,IFR
		STM		#WriteCR2,DXR10
		IDLE	1 
					
		STM		#3FFFH,IFR
		STM		#SECRequ,DXR10
		IDLE	1
		
		STM 	#3FFFH,IFR
		STM		#WriteCR4,DXR10	
		IDLE	1   
		
		STM		#3FFFH,IFR
		STM		#SECRequ,DXR10
		IDLE	1
		
		STM 	#3FFFH,IFR
		STM		#WriteCR3,DXR10
		IDLE	1  
        STM 	#3FFFH,IFR
        
		RET   
;**********************************
		.end


⌨️ 快捷键说明

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