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

📄 fun.asm

📁 基于TI的2407移植的ucos程序范例
💻 ASM
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00       
*******************************************************
;	C:\TIC2XX\C2000\CGTOOLS\BIN\DSPAC.EXE -v2xx fun.c C:\WINDOWS\TEMP\fun.if 
;	dspopt NOT RUN
;	C:\TIC2XX\C2000\CGTOOLS\BIN\DSPCG.EXE -o -v2xx -o C:\WINDOWS\TEMP\fun.if C:\WINDOWS\TEMP\fun.asm C:\WINDOWS\TEMP\fun.tmp 
	.port
	.file	"fun.c"
	.file	"global.c"
	.globl	_SCSR1
	.globl	_SCSR2
	.globl	_XINT2CR
	.globl	_WDCR
	.globl	_WDKEY
	.globl	_IMR
	.globl	_IFR
	.globl	_PIVR
	.globl	_MCRA
	.globl	_MCRB
	.globl	_MCRC
	.globl	_PADATDIR
	.globl	_PBDATDIR
	.globl	_PCDATDIR
	.globl	_PEDATDIR
	.globl	_PFDATDIR
	.globl	_ADCTRL1
	.globl	_ADCTRL2
	.globl	_MAXCONV
	.globl	_CHSELSEQ1
	.globl	_CHSELSEQ2
	.globl	_CHSELSEQ3
	.globl	_CHSELSEQ4
	.globl	_AUTO_SEQ_SR
	.globl	_RESULT0
	.globl	_RESULT1
	.globl	_RESULT2
	.globl	_RESULT8
	.globl	_RESULT9
	.globl	_CANMDER
	.globl	_CANTCR
	.globl	_CANRCR
	.globl	_CANMCR
	.globl	_CANBCR2
	.globl	_CANBCR1
	.globl	_CANESR
	.globl	_CANGSR
	.globl	_CANCEC
	.globl	_CANIFR
	.globl	_CANIMR
	.globl	_CANLAM0H
	.globl	_CANLAM0L
	.globl	_CANID0H
	.globl	_CANID0L
	.globl	_CANCTRL0
	.globl	_CANBX0A
	.globl	_CANBX0B
	.globl	_CANBX0C
	.globl	_CANBX0D
	.globl	_CANID1H
	.globl	_CANID1L
	.globl	_CANCTRL1
	.globl	_CANBX1A
	.globl	_CANBX1B
	.globl	_CANBX1C
	.globl	_CANBX1D
	.globl	_CANID4H
	.globl	_CANID4L
	.globl	_CANCTRL4
	.globl	_CANBX4A
	.globl	_CANBX4B
	.globl	_CANBX4C
	.globl	_CANBX4D
	.globl	_SCICCR
	.globl	_SCICTL1
	.globl	_SCIHBAUD
	.globl	_SCILBAUD
	.globl	_SCICTL2
	.globl	_SCIRXST
	.globl	_SCIRXEMU
	.globl	_SCIRXBUF
	.globl	_SCITXBUF
	.globl	_SCIPRI
	.globl	_GPTCONA
	.globl	_T1CNT
	.globl	_T1PR
	.globl	_T1CON
	.globl	_T2CNT
	.globl	_T2PR
	.globl	_T2CON
	.globl	_EVAIMRA
	.globl	_EVAIMRB
	.globl	_EVAIFRA
	.globl	_EVAIFRB
	.globl	_GPTCONB
	.globl	_T3CNT
	.globl	_T3CMPR
	.globl	_T3PR
	.globl	_T3CON
	.globl	_COMCONA
	.globl	_ACTRA
	.globl	_DBTCONA
	.globl	_CMPR1
	.globl	_EVBIMRA
	.globl	_EVBIFRA
	.globl	_nn
	.file	"fun.c"
	.globl	_KickDog
	.globl	_OSTickInit
	.globl	_SystemInit
	.text

	.sym	_SystemInit,_SystemInit,32,2,0
	.globl	_SystemInit

	.func	12
;>>>> 	void SystemInit() 
******************************************************
* FUNCTION DEF : _SystemInit
******************************************************
_SystemInit:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.line	3
;>>>> 		asm(" SETC	INTM ");	/* 关闭总中断 */
 SETC	INTM 
	.line	4
;>>>> 		asm(" CLRC  SXM  ");	/* 禁止符号位扩展 */ 
 CLRC  SXM  
	.line	5
;>>>> 		asm(" CLRC  CNF  ");    /* B0块映射为 on-chip DARAM*/
 CLRC  CNF  
	.line	6
;>>>> 		asm(" CLRC  OVM  ");    /* 累加器结果正常溢出*/
 CLRC  OVM  
	.line	7
;>>>> 		SCSR1=0x06DC;   		/* 打开ADC,EVA,EVB,CAN和SCI的时钟,系统时钟CLKOUT=16M */
	LDPK	_SCSR1
	SPLK	#1756,_SCSR1
	.line	8
;>>>> 		WDCR=0x006F;			/* 禁止看门狗,看门狗时钟64分频 */ 
	LACK	111
	LDPK	_WDCR
	SACL	_WDCR
	.line	9
;>>>> 		KickDog();    			/* 初始化看门狗 */
	CALL	_KickDog
	.line	10
;>>>> 	    IFR=0xFFFF;				/* 清除中断标志 */	
;>>>> 	  //  XINT2CR=0001;            /*高优先级,下降沿有效*/ 
	LDPK	_IFR
	SPLK	#65535,_IFR
	.line	12
;>>>> 	    IMR=0x0002;				/* 打开中断1,2*/ 
	LACK	2
	LDPK	_IMR
	SACL	_IMR
EPI0_1:
	.line	13
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	24,000000000H,1

	.sym	_OSTickInit,_OSTickInit,32,2,0
	.globl	_OSTickInit

	.func	25
;>>>> 	void OSTickInit()           /*定时器1作为系统的时钟节拍*/
******************************************************
* FUNCTION DEF : _OSTickInit
******************************************************
_OSTickInit:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.line	3
;>>>> 	    EVAIMRA=0x0080;			/*  定时器1周期中断使能 */
	LACK	128
	LDPK	_EVAIMRA
	SACL	_EVAIMRA
	.line	4
;>>>> 	    EVAIFRA=0xFFFF;			/*  清除中断标志 */
	LDPK	_EVAIFRA
	SPLK	#65535,_EVAIFRA
	.line	5
;>>>> 	    GPTCONA=0x0000;
	LACK	0
	LDPK	_GPTCONA
	SACL	_GPTCONA
	.line	6
;>>>> 		T1PR=0x2710;			/*  定时器1初值,定时10ms */			
	LDPK	_T1PR
	SPLK	#10000,_T1PR
	.line	7
;>>>> 		T1CNT=0x0000;
	LDPK	_T1CNT
	SACL	_T1CNT
	.line	8
;>>>> 		T1CON=0x144C;           /*  连续增计数模式 16M/16=1M*/	  
	LDPK	_T1CON
	SPLK	#5196,_T1CON
EPI0_2:
	.line	11
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	35,000000000H,1

	.sym	_KickDog,_KickDog,32,2,0
	.globl	_KickDog

	.func	36
;>>>> 	void KickDog()				/*踢除看门狗 */
******************************************************
* FUNCTION DEF : _KickDog
******************************************************
_KickDog:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.line	3
;>>>> 		WDKEY=0x5555;
	LDPK	_WDKEY
	SPLK	#21845,_WDKEY
	.line	4
;>>>> 		WDKEY=0xAAAA;
	SPLK	#43690,_WDKEY
EPI0_3:
	.line	5
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	40,000000000H,1
	.end

⌨️ 快捷键说明

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