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

📄 adc.asm

📁 dsp5402编写的汇编语言AD转换程序 !
💻 ASM
字号:
;A/D转换程序,输入端接了实验电路产生的模拟信号(可选择方波、正弦波、三角波),
;调用该程序,对所选的模拟信号进行采样,采样结果存在3000H开始的数据存储器中,
;可检查数据存储器的内容是否与采样波形的相对应。
		.mmregs
		.def  _c_int00
        .data
TEMP	.usect	"TEMP", 20h
TMP		.set 6Ah 
  
t0_flag	.usect  "vars",1 
t0_cout	.usect  "vars",1 	

AK_SPCR11 .set 0000000000000001b		;收使能、接收帧中断
AK_SPCR21 .set 0000000011100000b        ;帧、时钟产生使能
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	
AK_SRGR21 .set 0011000000011111b	
                     ;       ;
AK_PCR1   .set 0000111100000000b 
           
SPSA1	.set 48h
McBSP1	.set 49h
DXR11   .set 43h
DXR21	.set 42h
DRR11   .set 41h
DRR21   .set 40h 
GPIOCR	.set 3Ch
GPIOSR	.set 3Dh
 
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
		.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:	rete
		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 	#0FFFFh,SWWSR
		STM 	#1020h,PMST 
		SSBX	CMPT  
		STM		#00FFH,GPIOCR
		
		STM		#0000000000000100B,GPIOSR        
      			
        
        CALL	ADCBSP					;A/D初始化   
        
        STM		#3FFFH,IFR  		
		STM		#0800H,IMR				;ENABLE RINT INTERRUPT 
		RSBX	INTM
		STM		#3000H,AR0				;起始地址
		STM		#256,AR1				;数据存储器单元个数
		
WAIT:	IDLE	1
		B 		WAIT   
;*************************        
ADCBSP	STM 	#SPCR11,SPSA1 			;串口1的初始化程序
										;A/D转换器的初始化程序 
		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		#0000000000000000B,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:  STM		#3FFFH,IFR			;串口1的接收中断服务程序
		LDM		DRR11,A
		LD		#0,ARP   		
		STL		A,*AR0+
		LD		#1,ARP
		BANZ	LOOP1,*AR1-
		STM		#3000H,AR0			;重复采样,设初值
		STM		#256,AR1
LOOP1:  RETE
;**********************

		.end


⌨️ 快捷键说明

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