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

📄 da.asm

📁 用dsp编写的四个程序,关于数组,还有语音,录音功能的实现
💻 ASM
字号:

       
		.title "ex9"
		.global _c_int00
		.mmregs
        .def cos_generate,end_of_cose
        .def d_cos_delay1,d_cos_delay2,d_theta,d_cosx
d_cos_delay1  .usect  "cos_vars",1     
d_cos_delay2  .usect  "cos_vars",1     
d_theta       .usect  "cos_vars",1
d_cosx        .usect  "cos_vars",1
k_cos_delay1    .set 06602h  ;cos(0.5)*0.8
k_cos_delay2    .set 064d8h  ;cos(10)*0.8 
k_cos_theta         .set 07f83h  ;cos(5)
k_2             .set 2h
k_256           .set 256
COSDATA         .usect "cos_data",256   

DR_ADDR		.set	8FFFh	;double ram address
AD_ADDR     .set    9003h
DA_ADDR     .set    9100h ;CS,LDAC .WR+IOSTRB->L1. LDAC WRITE;CS CHIP SELECT; L1
JT_ADDR     .set    1001h
RAMADDR     .set    8000h
SM_ADDR     .set    1003h
FG_ADDR     .set    1002H 
DR_DATA		.set	60h  ;double ram data
AD_DATA     .set    61h
DA_DATA     .set    62h                        
        ;.data
		;.word 0000h,01100h,2200h,03300h,4400h,05500h,6600h,07700h,8000h,9100h,0A200h,0B300h,0C400h,0D500h,0E600h,0F700h
		.sect ".vectors"
reset:	B _c_int00
		NOP
		NOP
		.space 15*4*16  
int0:	B _dpj
		NOP
		NOP
int1:	B _dpj
		NOP
		NOP     
int2:	B _dpj
		NOP
		NOP
		.space 13*4*16
		.text
_c_int00:
		LD #0h,DP
		STM #3000h,SP
		RSBX INTM
		STM #07FFFh,SWWSR
        SSBX XF   ;XF=1
        ST #1007h,CLKMD				;工作在20MHz
		RPT #0FFh
		NOP  
		STM #0ffffh,IFR
		ORM #000h,IMR
		RSBX SXM
		STM #2000H,AR0
		ST #0,DA_DATA
		RPT #1000
	    ST #00H,*AR0+
bbb	   ; call coshapp
        nop
        nop
       ; b bbb		
	    ;**********三 角 波 *********************
	    
LOOP	ST #0H,DA_DATA   
LOOP1   NOP 
        PORTW  DA_DATA, DA_ADDR 
        ADDM #1,DA_DATA
        CMPM DA_DATA,#02FFH
        BC LOOP2,TC
        B  LOOP1
LOOP2   PORTW DA_DATA,DA_ADDR
        LD   DA_DATA,A
        SUB #1,A
        STL   A,DA_DATA
        CMPM DA_DATA,#0000H
        BC  LOOP,TC
        B LOOP2               
        NOP
        BANZ LOOP1,*AR5-
        ST #1000h,AR5
        B LOOP 
_dpj:     nop
          nop
          
          nop         
aaa       nop
          b aaa
delay	STM #0f0h,AR7				;延时子程序
		BANZ $,*AR7-
		BANZ delay,*AR6-
    	RET
    			           
coshapp  SSBX FRCT
         ST COSDATA,AR5
         NOP
         ;STM #600H,SP
         LD     #d_cos_delay1,DP
         NOP
         
         STM #d_cos_delay1,ar3
         STM #d_theta,AR4
         RPTZ  A,#3
         STL A,*AR3+
         
         STM #1,AR0
         STM #d_cosx,AR2
         STM #k_2,BK
         ;STM #k_256-1,BRC
         NOP
         STM #d_cos_delay1,AR3
         ST  #k_cos_delay1,*AR3+
         ST #k_cos_delay2,*AR3
         STM #d_cos_delay1,AR3
         ST  #k_cos_theta,d_cosx
cos_generate         
         
        ; RPTB end_of_cose
         MPY  *AR2,*AR3+0%,A
         SUB *AR3,15,A
         SFTA A,1,A
         STH A,*AR3
         sth a,COSDATA
         rpt #400
         nop 
         PORTW  COSDATA,DA_ADDR
        ; MVDD  *AR3,*AR5+
         NOP
end_of_cose 
         B  cos_generate             
cosend   ret
         .end
                     

⌨️ 快捷键说明

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