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

📄 mcbsp.asm

📁 利用DSP的MCBSP串口调用其内部正弦表 重串口输出正弦
💻 ASM
字号:
 .title "for test BSP program" 
 
 .global _c_int00,int_send,int_rev  
 .mmregs
DRR10 .set 21h
DRR11 .set 31h
DRR12 .set 41h

DXR10 .set 23h  
DXR11 .set 43h 
DXR12 .set 33h  

MCBSP_SPSA .set 38h 
MCBSP_SPSD .set 39h 
MCBSP1_SPSA .set 48h
MCBSP1_SPSD .set 49h 


MCBSP2_SPSA .set 34h
MCBSP2_SPSD .set 35h 
MCBSP_SPCR1_SUB_ADDR .set 0
MCBSP_SPCR2_SUB_ADDR .set 1
MCBSP_RCR1_SUB_ADDR  .set 2  
MCBSP_RCR2_SUB_ADDR  .set 3
MCBSP_XCR1_SUB_ADDR  .set 4
MCBSP_XCR2_SUB_ADDR  .set 5
MCBSP_SRGR1_SUB_ADDR  .set 6
MCBSP_SGR2_SUB_ADDR  .set 7
MCBSP_MCR1_SUB_ADDR  .set 8
MCBSP_MCR2_SUB_ADDR  .set 9
MCBSP_RECRA_SUB_ADDR  .set 0ah
MCBSP_RECRB_SUB_ADDR  .set 0bh
MCBSP_XCERA1_SUB_ADDR  .set 0ch
MCBSP_XCERA2_SUB_ADDR  .set 0dh
MCBSP_PCR_SUB_ADDR  .set 0eh 

stack_size .set 100h
temp      .usect "var",1
send_ptr  .usect "var",1
rev_ptr   .usect "var",1
isnew     .usect "var",1
xbuffer   .usect "var",1
rbuffer   .usect "var",1  

          .bss addr_stack,stack_size 
          
          .text
_c_int00:
          ssbx intm
          stm #1028h,PMST
          stm #addr_stack+stack_size ,sp
          stm #0c00h,IMR 
          
          stm #xbuffer,ar0
          rpt #255  
          
          mvpd #0x0fe00,*ar0+ 
          
          stm #rbuffer,ar0
          rpt #255  
          st #0,*ar0 
          
          stm #xbuffer ,send_ptr
          stm #rbuffer,rev_ptr 
          
          stm #256,bk
          
          stm #0,MCBSP1_SPSA
          stm #2000H,MCBSP1_SPSD 
          
          stm #1,MCBSP1_SPSA 
          stm #100H,MCBSP1_SPSD
           
          stm #2,MCBSP1_SPSA
          stm #40H,MCBSP1_SPSD
          
          stm #3,MCBSP1_SPSA
          stm #40H,MCBSP1_SPSD 
          
          stm #4,MCBSP1_SPSA
          stm #40H,MCBSP1_SPSD
          
          stm #5,MCBSP1_SPSA
          stm #0H,MCBSP1_SPSD
          
          stm #6,MCBSP1_SPSA
          stm #1C8H,MCBSP1_SPSD
          
          stm #7,MCBSP1_SPSA
          stm #2000H,MCBSP1_SPSD 
          
          stm #0eh,MCBSP1_SPSA
          stm #0a0cH,MCBSP1_SPSD
          
          rpt #0ffh
          nop
          
          stm #0h,MCBSP1_SPSA 
          stm #2001h,MCBSP1_SPSD
           
          stm #1,MCBSP1_SPSA
          stm #1c1h,MCBSP1_SPSD
          stm #0x0,DXR11
          rsbx intm
again:
          nop
          nop
          b  again
          nop
int_send:
          pshm st0 
          pshm st1 
          pshm ar2
          
          ld #0,dp
          mvdk send_ptr,ar2
          mvdk *ar2+%,DXR11
          nop
          nop
          mvmd ar2,#send_ptr
          
          popm  ar2
          popm  st1
          popm  st0
          rete 

int_rev:
          pshm st0 
          pshm st1 
          pshm ar2
          
          ld #0,dp
          mvdk rev_ptr,ar2 
          ld DRR11,a
          stl a,*ar2+%
          
         
          nop
          nop
          mvmd ar2,#rev_ptr 
          
          cmpm ar2,#0400h
          bc con,ntc
          nop
          nop
con:
          popm  ar2
          popm  st1
          popm  st0
          rete
   .end           
          
      
          
          
          
          
         
            
          
                    



 

⌨️ 快捷键说明

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