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

📄 dasquare.asm

📁 dsp2107上的DA转换程序。我在上面成功运行过
💻 ASM
字号:
;/******************************************************************************/
;generate 1khz square wave
 
;/******************************************************************************/


leddata .usect ".data0",1 
SQUARE   .set   0  
   
						.include  	"F2407REGS.H" 		;引用头部文件
 
						.def      	_c_int0
;(1)建立中断向量表
						.sect	".vectors"					;定义主向量段	
RSVECT			B    _c_int0					;PM 0	复位向量1
INT1	  		B    PHANTOM				;PM 2	中断优先级 14
INT2	  		B    GISR2   				;PM 4	中断优先级2	5
INT3	  		B    PHANTOM				;PM 6	中断优先级 36
INT4	  		B    PHANTOM				;PM 8	中断优先级 47
INT5	  		B    PHANTOM                ; A	中断优先级 58
INT6	  		B    PHANTOM				;PM C	中断优先级 69
RESERVED  		B    PHANTOM				;PM E	 (保留位)10
SW_INT8   		B    PHANTOM				;PM 10  	 用户定义软件中断		-
INT7	  		B    PHANTOM
INT8	  		B    PHANTOM
INT9	  		B    PHANTOM
INTa	  		B    PHANTOM
INTb	  		B    PHANTOM
INTc	  		B    PHANTOM
INTd	  		B    PHANTOM
INTe	  		B    PHANTOM
INTf	  		B    PHANTOM			
SW_INT31  		B    PHANTOM				;PM 3E  	用户定义软件中断	 	-
;中断子向量入口定义pvecs
			.sect	".pvecs"					;定义子向量段
PVECTORS	B	PHANTOM				;保留向量地址偏移量0000h
            B	PHANTOM             ;1
            B	PHANTOM             ;2
            B	PHANTOM             ;3
            B	PHANTOM             ;4
            B	PHANTOM             ;5
            B	PHANTOM             ;6
            B	PHANTOM             ;7
            B	PHANTOM             ;8
            B	PHANTOM             ;9
            B	PHANTOM             ;a
            B	PHANTOM             ;b
            B	PHANTOM             ;c
            B	PHANTOM             ;d
            B	PHANTOM             ;e
            B	PHANTOM             ;f
            B	PHANTOM             ;10
            B	PHANTOM             ;11            
            B	PHANTOM             ;12
            B	PHANTOM             ;13              		
			B	PHANTOM             ;14
            B	PHANTOM             ;15
            B	PHANTOM             ;16
            B	PHANTOM             ;17            
            B	PHANTOM             ;18
            B	PHANTOM             ;19
            B	PHANTOM             ;1a
            B	PHANTOM             ;1b
            B	PHANTOM             ;1c
            B	PHANTOM             ;1d
            B	PHANTOM             ;1e
            B	PHANTOM             ;1f
            B	PHANTOM             ;20
            B	PHANTOM             ;21
            B	PHANTOM             ;22
            B	PHANTOM             ;23
            B	PHANTOM             ;24            
            B	PHANTOM             ;25             
            B	PHANTOM             ;26
            B	T1PINT_ISR          ;27
            B	PHANTOM             ;28
            B	PHANTOM             ;29
            B	PHANTOM             ;2A
            B	PHANTOM             ;2B
            B	PHANTOM             ;2C
            B	PHANTOM             ;2D
            B	PHANTOM             ;2E
            B	PHANTOM             ;2F
            B	PHANTOM             ;30H
              		
			
;(2)主程序
					.text
_c_int0             CALL	SYSINIT 					;系统初始化程序 					
    				CALL    T1_SETUP
    				CALL    IOPE_SETUP
    				LDP     #200H>>7    				    
    				SPLK    #0000H,SQUARE
    				SPLK    #0000H,SQUARE+1
    				SPLK    #0080H,SQUARE+2    				
WAIT:               B    WAIT                        
                    
;ENABLE lvc245 AND DIRECTION 
IOPF_TODSP:    LDP #MCRC>>7
               LACL MCRC 
               AND #0FCFFH
               SACL MCRC
               LACL PFDATDIR
               OR #0300H
               AND #0FFFCH
               SACL PFDATDIR
               NOP
               RET

;ENABLE LVC245 FROM DSP TO LED
IOPF_TOLED:    LDP #MCRC>>7
               LACL MCRC 
               AND #0FCFFH
               SACL MCRC
               LACL PFDATDIR
               OR #0302H
               AND #0FFFEH
               SACL PFDATDIR
               NOP
               RET

IOPE_SETUP:		    LDP #MCRC>>7 ;IOPE7为output low 
					LACL MCRC
					AND #0FF7FH
					SACL MCRC
					LACL PEDATDIR
					OR #8000H
					AND #0FF7FH
					SACL PEDATDIR 
					RET
					     
					
;(3)系统初始化程序
SYSINIT:
					SETC 	INTM
			    	CLRC 	SXM
			       	CLRC 	OVM
					CLRC 	CNF
					LDP 	#0E0H
		            SPLK	#86FEH,SCSR1				;CLKIN=10M,CLKOUT=10M			       
			        SPLK	#0E8h,WDCR	
				    LDP		#0
					SPLK	#02h,IMR					;开中断优先级5
					SPLK	#0FFFFh,IFR
					NOP				;清中断标志   
					;------------										
					;---------
					NOP
					NOP
			        RET

T1_SETUP:           LDP #DP_EVA
                    SPLK #80H,EVAIMRA
                    SPLK #0FFFFH,EVAIFRA
                    SPLK #0,GPTCONA
                    SPLK #2710H>>7,T1PR   ;c350h produce 0.64s
                                  ;0f42H=50MS
                    SPLK #0,T1CNT
                    SPLK #104CH,T1CON  ;10M/64=
                    CLRC INTM
                    RET 
                    
                     



;(5)中断程序
GISR2:                  							;优先级INT5中断人口
				    LDP #0E0H
				    LACC PIVR,1
				    ADD #PVECTORS
				    BACC
				    
T1PINT_ISR:			LDP  #200H>>7
                    BIT  SQUARE,15
                    BCND HIGH,NTC
                    OUT  SQUARE+1,300H   ;generate square wave!
                    B    FINISH
HIGH:               OUT  SQUARE+2,300H         
FINISH:             LDP #0200H>>7
                    LACL SQUARE
                    ADD #01H                    
                    SACL SQUARE                    
                    CALL T1_SETUP
GISR_RET            CLRC	INTM					;开总中断,因为一进中断就自动关闭总中断
					RET	
;(6)假中断程序
PHANTOM 	
                    KICK_DOG						;复位看门狗
					RET
					END
                    
                    
                    
            

⌨️ 快捷键说明

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