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

📄 io1.asm

📁 dsp2407源程序
💻 ASM
字号:
;/******************************************************************************/
;/* file name:io.ASM                                                           */
;/*                                                                            */
;/* 2407DSP的PB口到JPB1000之间加了双缓冲芯片LVC16245。IPF0=0使能该芯片;      */
;/* IOPF1控制数据传输方向:IOPF1=1,数据由DSP输出;IOPF1=0,数据向DSP输入        */
;/*                                                                            */
;/******************************************************************************/
IODAT                  .usect "data0",1                                    
		       .include  	"F2407REGS.H" 		;引用头部文件
		       .def      	_c_int0
;(1)建立中断向量表
		       .sect	".vectors"				;定义主向量段	
RSVECT			B    _c_int0					;PM 0	复位向量1
;(2)主程序
					.text
_c_int0                CALL	SYSINIT                ;系统初始化程序
                       LDP #MCRC>>7		;#DP_PF2	;指向7080h~7100h区
                       LACL MCRA      
                       AND #00FFh     ;IOPB为普通IO引脚
                       SACL MCRA
                       LACL PBDATDIR
                       OR #0FFFFh     
                       SACL PBDATDIR	;IOPB为输出
                       CALL DSP_TO_JPB
LOOP1:		           LDP #8000H>>7
                      SPLK #01H,IODAT

LOOP:                 LDP #8000H>>7
                      LACL IODAT
                      OR #0FF00H
                      LDP #MCRC>>7
                      SACL PBDATDIR
                      CALL DELAY
                      LDP #5H
		              LACL IODAT
		              SFL
					  SACL IODAT
					  BIT IODAT,BIT8
					  BCND LOOP1,TC
                      B LOOP
;数据由DSP输出子程序
DSP_TO_JPB:           LDP #MCRC>>7
                      LACL MCRC
                      AND #0FCFFH
	                  SACL MCRC     ;IOPF0/IOPF1为普通IO引脚
                      LACL PFDATDIR
                      OR   #0302H     
                      AND #0FFFEH   ;IOPF0输出低,IOPF1输出高
                      SACL PFDATDIR
                      RET
;数据向DSP输入子程序                      							
TPB_TO_DSP:           LDP #MCRC>>7
                      LACL MCRC
                      AND #0FCFFH
	              SACL MCRC     ;IOPF0/IOPF1为普通IO引脚
                      LACL PFDATDIR
                      OR #03000H                      
                      AND #0FFFCH
                      SACL PFDATDIR    ;IOPF0输出低,IOPF1输出低   
                      ret
;(3)系统初始化程序
SYSINIT:
		SETC 	INTM     ;禁止中断
		CLRC 	SXM      ;抑制符号扩展
		CLRC 	OVM      ;ACC正常溢出
		CLRC 	CNF      ;配置B0到数据空间
		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

					END

⌨️ 快捷键说明

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