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

📄 adda.asm

📁 dsp5402编写的汇编语言AD转换程序 !
💻 ASM
字号:
;A/D转换器和D/A转换器的直通程序,由A/D采样实验电路产生的
;模拟信号(可选择方波、正弦波、三角波),再由D/A直接输出,
;采样一个点输出一个点。
		.mmregs
		.def  _c_int00
        .data
TEMP	.usect	"TEMP", 20h  
t0_flag	.usect  "vars",1 
t0_cout	.usect  "vars",1
flag	.usect  "vars",1  	

AK_SPCR11 .set 0000000000000001b 
AK_SPCR21 .set 0000000011100001b
AK_RCR11  .set 0000000001000000b;1 fax 1 word,1 word 16 bit
AK_RCR21  .set 0000000001000000b;
AK_XCR11  .set 0000000001000000b 
AK_XCR21  .set 0000000001000000b 
AK_SRGR11 .set 0000000000010011b	;clock 4.096mhz/s
AK_SRGR21 .set 0011000000011111b	;sample rate 128k/s
                     ;       ;
AK_PCR1   .set 0000111100000000b 

GPIOCR	  .set 3ch
GPIOSR    .set 3dh	
           
SPSA1	.set 48h
McBSP1	.set 49h
DXR11   .set 43h
DXR21	.set 42h
DRR11   .set 41h
DRR21   .set 40h 

TMP		.set 6Ah 
 
SPCR11  .set 00h 
SPCR21  .set 01h
RCR11   .set 02h
RCR21   .set 03h
XCR11   .set 04h
XCR21   .set 05h
PCR1    .set 0Eh
SRGR11  .set 06h
SRGR21  .set 07h     


DK_SPCR10 .set 0000000000000000b 
DK_SPCR20 .set 0000000011100001b ;FREE=1
DK_RCR10  .set 0000000001000000b;1 fax 1 word,1 word 16 bit
DK_RCR20  .set 0000000001000000b;
DK_XCR10  .set 0000000001000000b 
DK_XCR20  .set 0000000001000000b 
DK_SRGR10 .set 0000111000010011b;0000000000010100b
DK_SRGR20 .set 0011000000011111b;0011000000010000b
                      ;       ;
DK_PCR0   .set 0000101000001100b 
           
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
SRGR10  .set 06h
SRGR20  .set 07h


		.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:	rete
		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:	BD		RECIV
		nop
		nop
		nop
;*************************
start:	LD 		#0,DP
		STM		#200h,SP
		STM 	#07FFFh,SWWSR
		STM 	#1020h,PMST 
		STM		#3FFFH,IFR    
		STM		#00FFH,GPIOCR
		STM		#00FFH,GPIOSR		
								
        CALL	ADCBSP   
        
	    CALL	DACBSP
	    ST		#0,*(flag)
	    STM		#500H,AR0
	    STM		#600H,AR4
	    STM		#255,AR2 
	    LD		#0FE00H,A   		
        STM		#0820H,IMR			;ENABLE TINT1 INTERRUPT 
		RSBX	INTM
				
WAIT:	IDLE	1
		B 		WAIT   
;*************************        
ADCBSP	STM 	#SPCR11,SPSA1  
		STM 	#0000h,McBSP1  		;RESET R
		NOP
		NOP
		
		STM 	#SPCR21,SPSA1  
		STM 	#0000h,McBSP1  		;RESET X	
		NOP
		NOP
				
		STM 	#SPCR11,SPSA1
		STM 	#AK_SPCR11,McBSP1    ;ENBLE R
		NOP
		NOP
		
		STM		#0000000111111011b,GPIOSR	
		   
		STM 	#SPCR21,SPSA1
		STM 	#AK_SPCR21,McBSP1    ;ENBLE X
		NOP
		NOP
		  
		STM 	#RCR11,SPSA1
		STM 	#AK_RCR11,McBSP1 
		NOP
		NOP   
		
		STM 	#XCR11,SPSA1
		STM 	#AK_XCR11,McBSP1
		NOP
		NOP
		
		STM 	#PCR1,SPSA1
		STM 	#AK_PCR1,McBSP1
		NOP
		NOP
	    
	    STM		SRGR11,SPSA1
	    STM		#AK_SRGR11,McBSP1
	    NOP
		NOP
		
		STM		SRGR21,SPSA1
	    STM		#AK_SRGR21,McBSP1
	    NOP
		NOP 
		
		STM 	#RCR21,SPSA1
		STM 	#AK_RCR21,McBSP1 
		NOP
		NOP 
		
		STM 	#XCR21,SPSA1
		STM 	#AK_XCR21,McBSP1
		NOP
		NOP  
		RET
;*********************************		
RECIV:  PSHM	AL		
		LDM		DRR11,A
		STL		A,2,*AR4+
		POPM	AL    
		RETE           
;*************** 
XT:		RPT		#20
		NOP
		READA	AR0
		ADD		#1,A
		LDM		AR0,B
		NOP
		NOP
		NOP
		NOP
		NOP
		NOP
		AND		#0FFCH,B   	
        STLM	B,DXR10
		BANZ	XT8,*AR2-
		LD		#0FE00H,A	
				
XT8:	
		RETE  
;**********************
DACBSP:	STM 	#SPCR10,SPSA0  
		STM 	#0000h,McBSP0  		;RESET R
		NOP
		NOP
		
		STM 	#SPCR20,SPSA0  
		STM 	#0000h,McBSP0  		;RESET X	
		NOP
		NOP
				
		STM 	#SPCR10,SPSA0
		STM 	#DK_SPCR10,McBSP0    ;ENBLE R
		NOP
		NOP
		
		STM 	#SPCR20,SPSA0
		STM 	#DK_SPCR20,McBSP0    ;ENBLE X
		NOP
		NOP
		  
		STM 	#RCR10,SPSA0
		STM 	#DK_RCR10,McBSP0 
		NOP
		NOP   
		
		STM 	#XCR10,SPSA0
		STM 	#DK_XCR10,McBSP0
		NOP
		NOP
		
		STM 	#PCR0,SPSA0
		STM 	#DK_PCR0,McBSP0
		NOP
		NOP
	    
	    STM		SRGR10,SPSA0
	    STM		#DK_SRGR10,McBSP0
	    NOP
		NOP
		
		STM		SRGR20,SPSA0
	    STM		#DK_SRGR20,McBSP0
	    NOP
		NOP 
		
		STM 	#RCR20,SPSA0
		STM 	#DK_RCR20,McBSP0 
		NOP
		NOP 
		
		STM 	#XCR20,SPSA0
		STM 	#DK_XCR20,McBSP0
		NOP
		NOP  
		RET
;**********************
		.end

⌨️ 快捷键说明

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