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

📄 timer3.asm

📁 dsp tmslf2407a 汇编,c的原代码,包括i2c,scitimer,fir等的很多程序.
💻 ASM
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00       
*******************************************************
;	C:\tic2xx\c2000\cgtools\bin\dspac.exe -v2xx Timer3.c C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\Timer3.if 
;	dspopt NOT RUN
;	C:\tic2xx\c2000\cgtools\bin\dspcg.exe -o -v2xx -o C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\Timer3.if C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\Timer3.asm C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\Timer3.tmp 
	.port
	.file	"Timer3.c"
	.file	"f2407regs_c.h"
	.globl	_IMR
	.globl	_GREG
	.globl	_IFR
	.globl	_IMRADDR
	.globl	_PIRQR0
	.globl	_PIRQR1
	.globl	_PIRQR2
	.globl	_PIACKR0
	.globl	_PIACKR1
	.globl	_PIACKR2
	.globl	_SCSR1
	.globl	_SCSR2
	.globl	_DINR
	.globl	_PIVR
	.globl	_WDCNTR
	.globl	_WDKEY
	.globl	_WDCR
	.globl	_SPICCR
	.globl	_SPICTL
	.globl	_SPISTS
	.globl	_SPIBRR
	.globl	_SPIEMU
	.globl	_SPIRXBUF
	.globl	_SPITXBUF
	.globl	_SPIDAT
	.globl	_SPIPRI
	.globl	_SCICCR
	.globl	_SCICTL1
	.globl	_SCIHBAUD
	.globl	_SCILBAUD
	.globl	_SCICTL2
	.globl	_SCIRXST
	.globl	_SCIRXEMU
	.globl	_SCIRXBUF
	.globl	_SCITXBUF
	.globl	_SCIPRI
	.globl	_XINT1CR
	.globl	_XINT2CR
	.globl	_PADATDIR
	.globl	_PBDATDIR
	.globl	_PCDATDIR
	.globl	_PDDATDIR
	.globl	_PEDATDIR
	.globl	_PFDATDIR
	.globl	_MCRA
	.globl	_MCRB
	.globl	_MCRC
	.globl	_ADCCTRL1
	.globl	_ADCCTRL2
	.globl	_MAXCONV
	.globl	_CHSELSEQ1
	.globl	_CHSELSEQ2
	.globl	_CHSELSEQ3
	.globl	_CHSELSEQ4
	.globl	_AUTOSEQSR
	.globl	_RESULT0
	.globl	_RESULT1
	.globl	_RESULT2
	.globl	_RESULT3
	.globl	_RESULT4
	.globl	_RESULT5
	.globl	_RESULT6
	.globl	_RESULT7
	.globl	_RESULT8
	.globl	_RESULT9
	.globl	_RESULT10
	.globl	_RESULT11
	.globl	_RESULT12
	.globl	_RESULT13
	.globl	_RESULT14
	.globl	_RESULT15
	.globl	_CALIBRATION
	.globl	_MDER
	.globl	_TCR
	.globl	_RCR
	.globl	_MCR
	.globl	_BCR2
	.globl	_BCR1
	.globl	_ESR
	.globl	_GSR
	.globl	_CEC
	.globl	_CANIFR
	.globl	_CANIMR
	.globl	_LAM0H
	.globl	_LAM0L
	.globl	_LAM1H
	.globl	_LAM1L
	.globl	_MSGID0L
	.globl	_MSGID0H
	.globl	_MSGCTRL0
	.globl	_MBX0A
	.globl	_MBX0B
	.globl	_MBX0C
	.globl	_MBX0D
	.globl	_MSGID1L
	.globl	_MSGID1H
	.globl	_MSGCTRL1
	.globl	_MBX1A
	.globl	_MBX1B
	.globl	_MBX1C
	.globl	_MBX1D
	.globl	_MSGID2L
	.globl	_MSGID2H
	.globl	_MSGCTRL2
	.globl	_MBX2A
	.globl	_MBX2B
	.globl	_MBX2C
	.globl	_MBX2D
	.globl	_MSGID3L
	.globl	_MSGID3H
	.globl	_MSGCTRL3
	.globl	_MBX3A
	.globl	_MBX3B
	.globl	_MBX3C
	.globl	_MBX3D
	.globl	_MSGID4L
	.globl	_MSGID4H
	.globl	_MSGCTRL4
	.globl	_MBX4A
	.globl	_MBX4B
	.globl	_MBX4C
	.globl	_MBX4D
	.globl	_MSGID5L
	.globl	_MSGID5H
	.globl	_MSGCTRL5
	.globl	_MBX5A
	.globl	_MBX5B
	.globl	_MBX5C
	.globl	_MBX5D
	.globl	_GPTCONA
	.globl	_T1CNT
	.globl	_T1CMPR
	.globl	_T1PR
	.globl	_T1CON
	.globl	_T2CNT
	.globl	_T2CMPR
	.globl	_T2PR
	.globl	_T2CON
	.globl	_COMCONA
	.globl	_ACTRA
	.globl	_DBTCONA
	.globl	_CMPR1
	.globl	_CMPR2
	.globl	_CMPR3
	.globl	_CAPCONA
	.globl	_CAPFIFOA
	.globl	_CAP1FIFO
	.globl	_CAP2FIFO
	.globl	_CAP3FIFO
	.globl	_CAP1FBOT
	.globl	_CAP2FBOT
	.globl	_CAP3FBOT
	.globl	_EVAIMRA
	.globl	_EVAIMRB
	.globl	_EVAIMRC
	.globl	_EVAIFRA
	.globl	_EVAIFRB
	.globl	_EVAIFRC
	.globl	_GPTCONB
	.globl	_T3CNT
	.globl	_T3CMPR
	.globl	_T3PR
	.globl	_T3CON
	.globl	_T4CNT
	.globl	_T4CMPR
	.globl	_T4PR
	.globl	_T4CON
	.globl	_COMCONB
	.globl	_ACTRB
	.globl	_DBTCONB
	.globl	_CMPR4
	.globl	_CMPR5
	.globl	_CMPR6
	.globl	_CAPCONB
	.globl	_CAPFIFOB
	.globl	_CAP4FIFO
	.globl	_CAP5FIFO
	.globl	_CAP6FIFO
	.globl	_CAP4FBOT
	.globl	_CAP5FBOT
	.globl	_CAP6FBOT
	.globl	_EVBIMRA
	.globl	_EVBIMRB
	.globl	_EVBIMRC
	.globl	_EVBIFRA
	.globl	_EVBIFRB
	.globl	_EVBIFRC
	.globl	_WSGR
	.file	"Timer3.c"
	.globl	_counterTime
	.globl	_b_com_success
	.globl	_b_com_counter
	.globl	_bFlashError
	.globl	_flashErrorCounter
	.globl	_syncTimeoutCounter
	.globl	_syncTimeoutFlag
	.globl	_syncTimeoutCounter_out
	.globl	_syncTimeoutFlag_out
	.globl	_bReadTag
	.globl	_readTagCounter
	.globl	_bReadyReadTag
	.globl	_readyReadCounter
	.globl	_bPowerUp
	.globl	_PowerUpCounter
	.globl	_bAlarm
	.globl	_alarmCounter
	.globl	_bufferReadCouner
	.globl	_scanReadCounter
	.globl	_initTimer3
	.globl	_T3INT
	.text

	.sym	_initTimer3,_initTimer3,32,2,0
	.globl	_initTimer3

	.func	32
;>>>> 	void initTimer3()
******************************************************
* FUNCTION DEF : _initTimer3
******************************************************
_initTimer3:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.line	3
;>>>> 		asm(" setc SXM");
 setc SXM
	.line	4
;>>>> 		asm(" clrc OVM");
 clrc OVM
	.line	5
;>>>> 		asm(" clrc CNF");
 clrc CNF
	.line	7
;>>>> 		IMR |= 0x02;	// int2  
	LACK	2
	LDPK	_IMR
	OR	_IMR
	SACL	_IMR
	.line	8
;>>>> 		IFR = 0xffff;	 	
	LDPK	_IFR
	SPLK	#-1,_IFR
	.line	9
;>>>> 		EVBIMRA |= 0x0080;          //允许定时器3 的周期中断
	LACK	128
	LDPK	_EVBIMRA
	OR	_EVBIMRA
	SACL	_EVBIMRA
	.line	10
;>>>> 	   	EVBIFRA &= 0x0080;          	//清除定时器1的周期中断 
	LACK	128
	LDPK	_EVBIFRA
	AND	_EVBIFRA
	SACL	_EVBIFRA
	.line	11
;>>>> 		T3CON = 0x170c;           	// x/128  
;>>>> 		//T3PR  = 62500;             // 200ms  added 20050825
	LDPK	_T3CON
	SPLK	#5900,_T3CON
	.line	13
;>>>> 		T3PR  = 31250;             // 100ms  added 20051129
	LDPK	_T3PR
	SPLK	#31250,_T3PR
	.line	15
;>>>> 	   	T3CNT = 0x00;  
	LACK	0
	LDPK	_T3CNT
	SACL	_T3CNT
	.line	16
;>>>> 	   	T3CON |= 0x0040;            //启动    	
	LACK	64
	LDPK	_T3CON
	OR	_T3CON
	SACL	_T3CON
EPI0_1:
	.line	17
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	48,000000000H,1

	.sym	_T3INT,_T3INT,32,2,0
	.globl	_T3INT

	.func	49
;>>>> 	void interrupt T3INT(void)
;>>>> 		uint flag;    
******************************************************
* FUNCTION DEF : _T3INT
******************************************************
_T3INT:
	CALL	I$$SAVE
	SAR	AR1,*
	LARK	AR0,2
	LAR	AR0,*0+,AR2

	.sym	_flag,1,14,1,16
	.line	5
;>>>> 	   	flag = EVBIFRA & 0x0080;      
	LACK	128
	LDPK	_EVBIFRA
	AND	_EVBIFRA
	LARK	AR2,1
	MAR	*0+
	SACL	* 
	.line	6
;>>>> 	   	if(flag == 0x0080)
	LAC	* 
	SUBK	128
	BNZ	L1
	.line	8
;>>>> 	   		counterTime ++; 
	LDPK	_counterTime
	LAC	_counterTime
	ADDK	1
	SACL	_counterTime
	.line	9
;>>>> 	   		if(bReadTag == 0x01)readTagCounter ++;
	LDPK	_bReadTag
	LAC	_bReadTag
	SUBK	1
	BNZ	L2
	LDPK	_readTagCounter
	LAC	_readTagCounter
	ADDK	1
	SACL	_readTagCounter
L2:
	.line	10
;>>>> 	   		if(b_com_success)b_com_counter ++;	//串口通讯灯计数器    
	LDPK	_b_com_success
	LAC	_b_com_success
	BZ	L3
	LDPK	_b_com_counter
	LAC	_b_com_counter
	ADDK	1
	SACL	_b_com_counter
L3:
	.line	11
;>>>> 	   		if(bFlashError)flashErrorCounter ++;	//flash 错误指示灯计数器 
	LDPK	_bFlashError
	LAC	_bFlashError
	BZ	L4
	LDPK	_flashErrorCounter
	LAC	_flashErrorCounter
	ADDK	1
	SACL	_flashErrorCounter
L4:
	.line	12
;>>>> 	   		if( syncTimeoutFlag == 0x01)syncTimeoutCounter ++;   	
	LDPK	_syncTimeoutFlag
	LAC	_syncTimeoutFlag
	SUBK	1
	BNZ	L5
	LDPK	_syncTimeoutCounter
	LAC	_syncTimeoutCounter
	ADDK	1
	SACL	_syncTimeoutCounter
L5:
	.line	13
;>>>> 	   		if( syncTimeoutFlag_out == 0x01)syncTimeoutCounter_out ++;  
	LDPK	_syncTimeoutFlag_out
	LAC	_syncTimeoutFlag_out
	SUBK	1
	BNZ	L6
	LDPK	_syncTimeoutCounter_out
	LAC	_syncTimeoutCounter_out
	ADDK	1
	SACL	_syncTimeoutCounter_out
L6:
	.line	14
;>>>> 	   		if(bReadyReadTag == 1)readyReadCounter ++;	
	LDPK	_bReadyReadTag
	LAC	_bReadyReadTag
	SUBK	1
	BNZ	L7
	LDPK	_readyReadCounter
	LAC	_readyReadCounter
	ADDK	1
	SACL	_readyReadCounter
L7:
	.line	15
;>>>> 	   		if(bPowerUp == 1) PowerUpCounter ++;
	LDPK	_bPowerUp
	LAC	_bPowerUp
	SUBK	1
	BNZ	L8
	LDPK	_PowerUpCounter
	LAC	_PowerUpCounter
	ADDK	1
	SACL	_PowerUpCounter
L8:
	.line	16
;>>>> 	   		if(bAlarm == 0x01) alarmCounter ++;
	LDPK	_bAlarm
	LAC	_bAlarm
	SUBK	1
	BNZ	L9
	LDPK	_alarmCounter
	LAC	_alarmCounter
	ADDK	1
	SACL	_alarmCounter
L9:
	.line	17
;>>>> 	   		bufferReadCouner ++;
	LDPK	_bufferReadCouner
	LAC	_bufferReadCouner
	ADDK	1
	SACL	_bufferReadCouner
	.line	18
;>>>> 	   		scanReadCounter ++;
	LDPK	_scanReadCounter
	LAC	_scanReadCounter
	ADDK	1
	SACL	_scanReadCounter
	.line	20
;>>>> 	   		T3CNT = 0;  
	LACK	0
	LDPK	_T3CNT
	SACL	_T3CNT
	.line	21
;>>>> 	   		EVBIFRA |= 0x080;   //clr period int flag        		
	LACK	128
	LDPK	_EVBIFRA
	OR	_EVBIFRA
	SACL	_EVBIFRA
L1:
EPI0_2:
	.line	23
	MAR	* ,AR1
	SBRK	2
	B	I$$REST,AR1   ;and return

	.endfunc	71,000000000H,2
*****************************************************
* UNDEFINED REFERENCES                              *
*****************************************************
	.global	I$$SAVE
	.global	I$$REST
	.end

⌨️ 快捷键说明

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