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

📄 io1.asm

📁 dsp2407源程序
💻 ASM
字号:
;/******************************************************************************/
;/* file name:io.ASM                                                          */
;/*                                                                            */
;/* This code is FOR ALL TMS320LF2407                                          */
;/*                                                                            */
;/******************************************************************************/
IODAT                  .usect "data0",1                                    
		       .include  	"F2407REGS.H" 		;引用头部文件
		       .def      	_c_int0
;(1)建立中断向量表
		       .sect	".vectors"					;定义主向量段	
RSVECT			B    _c_int0					;PM 0	复位向量1
INT1	  		B    PHANTOM				;PM 2	中断优先级 14
INT2	  		B    PHANTOM				;PM 4	中断优先级2	5
INT3	  		B    PHANTOM				;PM 6	中断优先级 36
INT4	  		B    PHANTOM				;PM 8	中断优先级 47
INT5	  		B    GISR5					;PM 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 
		
			.space 80h*16  		
			B	PHANTOM				;保留向量地址偏移量0040h  CAN接收中断
			B	PHANTOM				;保留向量地址偏移量0041h
;(2)主程序
					.text
_c_int0                CALL	SYSINIT                ;系统初始化程序
                       LDP #MCRC>>7		;#DP_PF2	;指向7080h~7100h区
                       LACL MCRA
                       AND #00FFh
                       SACL MCRA
                       LACL PBDATDIR
                       OR #0FFFFh
                       SACL PBDATDIR	
                       LDP  #5h
                       LAR AR2,#8
                       SPLK #01H,IODAT
                       CALL DSPOUT_EN
LOOP:                 
                      LDP #5H
                      LACL IODAT
                      OR #0FF00H
                      LDP #MCRC>>7
                      SACL PBDATDIR
                      CALL DELAY
                      LDP #5H
                      LACL IODAT
                      SFL
                      SACL IODAT
                      MAR *,AR2
                      BANZ LOOP
                      LDP #5H 
                      SPLK #01H,IODAT
                      LAR AR2,#7
                      B LOOP

DSPOUT_EN:            LDP #MCRC>>7
                      LACL MCRC
                      AND #0FCFFH
	                  SACL MCRC     ;IOPF0/IOPF1为IO输出口
                      LACL PFDATDIR
                      OR   #0302H
                      AND #0FFFEH
                      SACL PFDATDIR
                      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	#00h,IMR				
					SPLK	#0FFFFh,IFR
					NOP				;清中断标志
			        RET
;(4)CAN初始化程序
DELAY:              LAR AR0,#09000H
					MAR *,AR0
DELAY1:             NOP 
                    NOP       
                    NOP
					BANZ DELAY1       
						;清全部中断标志
					RET
;(5)中断程序
GISR5:											;优先级INT5中断人口
				
					CLRC	INTM					;开总中断,因为一进中断就自动关闭总中断
					RET	
;(6)假中断程序
PHANTOM 	
KICK_DOG						;复位看门狗
					RET
					END

⌨️ 快捷键说明

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