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

📄 main.asm

📁 基于TMS320C5509A的音频收发回放程序,汇编语言
💻 ASM
字号:
	;.include "DMARegs.inc"
;	.include "EMIFregs.inc"
;	.include "GPIOregs.inc"
;	.include "MCBSPregs.inc"
;	.include "EMIFregs.inc"
;	.include "EMIFregs.inc"
;;	.include "EMIFregs.inc"
			.include 	"5509regs.inc"
			.include 	"I2Cregs.inc"
			.include 	"MCBSPregs.inc"
			;.include "DMAregs.inc"
		.mmregs
		.global 	MAIN,_c_int00
		.ref	AIC23RX
stack_size		.set 	500h
STACK			.usect 	"stack",stack_size
SYSSTACK		.usect	"sysstack",stack_size
STACKtop		.set 	STACK+stack_size
SYSSTACKtop		.set    SYSSTACK+stack_size
;AICRBUFFER	.usect		"rfrxdata", 10h
		.text
_c_int00:
    MOV		#SYSSTACKtop,mmap(SSP) ;
	MOV		#STACKtop,mmap(SP)
	BSET	INTM
	MOV		#0002h,mmap(@IVPD)     ;中断
	MOV		#0002h,mmap(@IVPH)
	MOV		#0000000000000000b,mmap(@ST0_55)	;
	MOV		#0001000000000000b,mmap(@ST2_55)	;
  	MOV		#0000100101000000b,mmap(@ST1_55)	;
    MOV		#0001110001000000b,mmap(@ST3_55);         ;   
    MOV     #0010011000010010b,AC0
	MOV     AC0,port(#CLKMD)	
	mov     #0010h,mmap(@IER0)   
	mov     #0080h,mmap(@IER1) 
	MOV     #0ffffh, mmap(@IFR0)		; CLEAR ALL PENDING INTERRUPTS
    MOV     #0ffffh, mmap(@IFR1)		; CLEAR ALL PENDING INTERRUPTS	
    BCLR 	INTM

   
MAIN:
     mov   #AIC23BRegs,AR3
     mov   #8-1,brc0
     rptb  AIC23Configend-1
     CALL  IICWRITE   ;config IIC regs         
AIC23Configend:

;----------------------------------------------   
      call AIC23RX
      
TESTMCBSPRRDY:
        MOV PORT(#SPCR1_1),AC0
		AND #0002H,AC0
		BCC TESTMCBSPRRDY,AC0 ==#0
		MOV PORT(#DRR1_1),AC1
		MOV AC1,PORT(#DXR1_1)
		B 	TESTMCBSPRRDY
	
loop:    
    nop  
    B	loop
;*********************************************************************

IICWRITE:
      MOV	  #0000H,T1
   	  MOV     #001Bh,port(#I2CPSC)
	  MOV     #00037h,port(#I2CCLKL)
	  MOV     #00037h,port(#I2CCLKH)
	  
	  MOV     #01AH,port(#I2CSAR)	  
	  MOV	  #002H,PORT(#I2CCNT)
	  
	 ;MOV     #0100011000000000B,PORT(#I2CMDR)
	  MOV     #(0b<<15|1b<<14|0b<<13|0b<<12|0b<<11|1b<<10|1b<<9|0b<<8 |0b<<7| 0b<<6| 0b<<5|0b<<4 |0b<<3 |000b),port(#I2CMDR)
	 ;Mode reg:        free   STT           STP    MST	  TRX     XA    RM     DLB   IRS   STB     FDF   BC
      MOV     #(00000000000b<<5|1b<<4 |0b<<3 |0b<<2 |0b<<1|0b),port(#I2CIMR)
	  ;       PORT(#I2CIER)     txready	  
	  orm  	  #1B<<5,port(#I2CMDR)  ;irs
	  nop
	  nop
	  orm  	  #1B<<13,port(#I2CMDR)  ;stt
	  nop
	  nop
	  orm	  #1B<<11,port(#I2CMDR)  ;stp
	  nop
	  nop
	 
	  mov 	  port(#I2CMDR),AC3
	  mov	  #0,ac1
	  
LOOPROUND:
      NOP
      mov 	  port(#I2CMDR),AC3
      BTST	  #11,AC3,TC1
      BCC	 LOOPROUND,TC1
	  
      RET
      

	   .data
AIC23BRegs:
		.word 	0c00h,0e53h,0810h,0a01h,1023h,05ffh,0117h,1201h
		.end

⌨️ 快捷键说明

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