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

📄 led.asm

📁 dsp tmslf2407a 汇编,c的原代码,包括i2c,scitimer,fir等的很多程序.
💻 ASM
📖 第 1 页 / 共 2 页
字号:
	LAC	* 
	BZ	L7
	.line	5
;>>>> 			ledVlu = ledVlu | 0x10;		/* led5 = 1 */
	LACK	16
	LDPK	_ledVlu
	OR	_ledVlu
	SACL	_ledVlu
	.line	6
;>>>> 	    	LedOptOut();	
;>>>> 		else
	CALL	_LedOptOut,AR1
	B	L8
L7:
	.line	10
;>>>> 			ledVlu = ledVlu & 0xef;		/* led5 = 0 */
	LACK	239
	LDPK	_ledVlu
	AND	_ledVlu
	SACL	_ledVlu
	.line	11
;>>>> 	    	LedOptOut();	
	CALL	_LedOptOut,AR1
L8:
EPI0_7:
	.line	13
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	116,000000000H,1

	.sym	_LedOutput5flash,_LedOutput5flash,32,2,0
	.globl	_LedOutput5flash

	.func	117
;>>>> 	void LedOutput5flash()
******************************************************
* FUNCTION DEF : _LedOutput5flash
******************************************************
_LedOutput5flash:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.line	3
;>>>> 		ledVlu = ledVlu ^ 0x10;		/* led5 = !led5 */
	LACK	16
	LDPK	_ledVlu
	XOR	_ledVlu
	SACL	_ledVlu
	.line	4
;>>>> 	    LedOptOut();   
	CALL	_LedOptOut
EPI0_8:
	.line	5
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	121,000000000H,1

	.sym	_OpticInput3,_OpticInput3,44,2,0
	.globl	_OpticInput3

	.func	127
;>>>> 	uchar	OpticInput3()
******************************************************
* FUNCTION DEF : _OpticInput3
******************************************************
_OpticInput3:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,2
	LAR	AR0,*0+,AR2

	.sym	_state,1,12,1,16
	.line	3
;>>>> 		uchar state = 0;
	LACK	0
	LARK	AR2,1
	MAR	*0+
	SACL	* 
	.line	5
;>>>> 		MCRA &= 0xcfff;
	LACK	53247
	LDPK	_MCRA
	AND	_MCRA
	SACL	_MCRA
	.line	6
;>>>> 		PBDATDIR &= 0xcfcf;	// iopb4,iopb5 as io;optin_1,optin_2	
	LACK	53199
	LDPK	_PBDATDIR
	AND	_PBDATDIR
	SACL	_PBDATDIR
	.line	8
;>>>> 		MCRB &= 0xfff7;
	LACK	65527
	LDPK	_MCRB
	AND	_MCRB
	SACL	_MCRB
	.line	9
;>>>> 		PCDATDIR &= 0xf7f7;	//iopc3 as io;optin_3
	LACK	63479
	LDPK	_PCDATDIR
	AND	_PCDATDIR
	SACL	_PCDATDIR
	.line	11
;>>>> 		if(PBDATDIR&0x10)state |= 0x01;	// the first  '1'
	LDPK	_PBDATDIR
	BIT	_PBDATDIR,11
	BBZ	L9
	LACK	1
	OR	* 
	SACL	* 
L9:
	.line	12
;>>>> 		if(PBDATDIR&0x20)state |= 0x02;	// the second '1'
	BIT	_PBDATDIR,10
	BBZ	L10
	LACK	2
	OR	* 
	SACL	* 
L10:
	.line	13
;>>>> 		if(PCDATDIR&0x80)state |= 0x04;	// the third  '1'
	LDPK	_PCDATDIR
	BIT	_PCDATDIR,8
	BBZ	L11
	LACK	4
	OR	* 
	SACL	* 
L11:
	.line	14
;>>>> 		return (state);		
	ZALS	* 
EPI0_9:
	.line	15
	MAR	* ,AR1
	SBRK	3
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	141,000000000H,2

	.sym	_OptOutput1,_OptOutput1,32,2,0
	.globl	_OptOutput1

	.func	145
;>>>> 	void OptOutput1(uchar data)
******************************************************
* FUNCTION DEF : _OptOutput1
******************************************************
_OptOutput1:

LF10	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR2

	.sym	_data,-3+LF10,12,9,16
	.line	2
	.line	3
;>>>> 		if(data)
	LARK	AR2,-3+LF10
	MAR	*0+
	LAC	* 
	BZ	L12
	.line	5
;>>>> 			ledVlu = ledVlu | 0x80;		/* opt1 = 1 */
	LACK	128
	LDPK	_ledVlu
	OR	_ledVlu
	SACL	_ledVlu
	.line	6
;>>>> 	    	LedOptOut();	
;>>>> 		else
	CALL	_LedOptOut,AR1
	B	L13
L12:
	.line	10
;>>>> 			ledVlu = ledVlu & 0x7f;		/* opt1 = 0 */
	LACK	127
	LDPK	_ledVlu
	AND	_ledVlu
	SACL	_ledVlu
	.line	11
;>>>> 	    	LedOptOut();	
	CALL	_LedOptOut,AR1
L13:
EPI0_10:
	.line	13
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	157,000000000H,1

	.sym	_OptOutput2,_OptOutput2,32,2,0
	.globl	_OptOutput2

	.func	161
;>>>> 	void OptOutput2(uchar data)
******************************************************
* FUNCTION DEF : _OptOutput2
******************************************************
_OptOutput2:

LF11	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR2

	.sym	_data,-3+LF11,12,9,16
	.line	2
	.line	3
;>>>> 		if(data)
	LARK	AR2,-3+LF11
	MAR	*0+
	LAC	* 
	BZ	L14
	.line	5
;>>>> 			ledVlu = ledVlu | 0x40;		/* opt2 = 1 */
	LACK	64
	LDPK	_ledVlu
	OR	_ledVlu
	SACL	_ledVlu
	.line	6
;>>>> 	    	LedOptOut();	
;>>>> 		else
	CALL	_LedOptOut,AR1
	B	L15
L14:
	.line	10
;>>>> 			ledVlu = ledVlu & 0xbf;		/* opt2 = 0 */
	LACK	191
	LDPK	_ledVlu
	AND	_ledVlu
	SACL	_ledVlu
	.line	11
;>>>> 	    	LedOptOut();	
	CALL	_LedOptOut,AR1
L15:
EPI0_11:
	.line	13
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	173,000000000H,1

	.sym	_OptOutput3,_OptOutput3,32,2,0
	.globl	_OptOutput3

	.func	177
;>>>> 	void OptOutput3(uchar data)
******************************************************
* FUNCTION DEF : _OptOutput3
******************************************************
_OptOutput3:

LF12	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+,AR2

	.sym	_data,-3+LF12,12,9,16
	.line	2
	.line	3
;>>>> 		if(data)
	LARK	AR2,-3+LF12
	MAR	*0+
	LAC	* 
	BZ	L16
	.line	5
;>>>> 			ledVlu = ledVlu | 0x20;		/* opt3 = 1 */
	LACK	32
	LDPK	_ledVlu
	OR	_ledVlu
	SACL	_ledVlu
	.line	6
;>>>> 	    	LedOptOut();	
;>>>> 		else
	CALL	_LedOptOut,AR1
	B	L17
L16:
	.line	10
;>>>> 			ledVlu = ledVlu & 0xdf;		/* opt3 = 0 */
	LACK	223
	LDPK	_ledVlu
	AND	_ledVlu
	SACL	_ledVlu
	.line	11
;>>>> 	    	LedOptOut();	
	CALL	_LedOptOut,AR1
L17:
EPI0_12:
	.line	13
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	189,000000000H,1

	.sym	_ledDrive,_ledDrive,32,2,0
	.globl	_ledDrive

	.func	193
;>>>> 	void ledDrive(void)
******************************************************
* FUNCTION DEF : _ledDrive
******************************************************
_ledDrive:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.line	3
;>>>> 		feedWatchDog();
	CALL	_feedWatchDog
	.line	4
;>>>> 		if(counterTime>=10)      //程序运行灯,f=1Hz
	LDPK	_counterTime
	ZALS	_counterTime
	SUBK	10
	BLZ	L18
	.line	6
;>>>> 			counterTime = 0;
	LACK	0
	SACL	_counterTime
	.line	7
;>>>> 			LedOutput1();					
	CALL	_LedOutput1
L18:
	.line	9
;>>>> 		if(bFlashError)	// flash 错误指示灯,500ms
	LDPK	_bFlashError
	LAC	_bFlashError
	BZ	L19
	.line	11
;>>>> 	   		if(flashErrorCounter>=5)       	//500ms
	LDPK	_flashErrorCounter
	ZALS	_flashErrorCounter
	SUBK	5
	BLZ	L19
	.line	13
;>>>> 	   			flashErrorCounter = 0;  
	LACK	0
	SACL	_flashErrorCounter
	.line	14
;>>>> 	   			LedOutput12();		// led2 = 0 ,led1 = 0   			
	CALL	_LedOutput12
L19:
	.line	17
;>>>> 	   	if(bReadyReadTag == 1)
	LDPK	_bReadyReadTag
	LAC	_bReadyReadTag
	SUBK	1
	BNZ	L21
	.line	19
;>>>> 	   		LedOutput2(1);			// led2 = 1 
	LACK	1
	SACL	*+
	CALL	_LedOutput2
	MAR	*-
	.line	20
;>>>> 	   		if(readyReadCounter>=2)       	//亮200ms
	LDPK	_readyReadCounter
	ZALS	_readyReadCounter
	SUBK	2
	BLZ	L21
	.line	22
;>>>> 	   			bReadyReadTag = 0;    
	LACK	0
	LDPK	_bReadyReadTag
	SACL	_bReadyReadTag
	.line	23
;>>>> 	   			readyReadCounter = 0;  
	LDPK	_readyReadCounter
	SACL	_readyReadCounter
	.line	24
;>>>> 	   			LedOutput2(0);		// led2 = 0			
	SACL	*+
	CALL	_LedOutput2
	MAR	*-
L21:
	.line	27
;>>>> 		if(b_com_success)     //串口通讯灯计数器 
	LDPK	_b_com_success
	LAC	_b_com_success
	BZ	L23
	.line	29
;>>>> 	   		LedOutput3(1);			// led3 = 1    		
	LACK	1
	SACL	*+
	CALL	_LedOutput3
	MAR	*-
	.line	30
;>>>> 	   		if(b_com_counter>=2)       	//亮200ms
	LDPK	_b_com_counter
	ZALS	_b_com_counter
	SUBK	2
	BLZ	L23
	.line	32
;>>>> 	   			b_com_success = 0;    
	LACK	0
	LDPK	_b_com_success
	SACL	_b_com_success
	.line	33
;>>>> 	   			b_com_counter = 0;  
	LDPK	_b_com_counter
	SACL	_b_com_counter
	.line	34
;>>>> 	   			LedOutput3(0);		// led3 = 0
	SACL	*+
	CALL	_LedOutput3
	MAR	*-
L23:
	.line	37
;>>>> 	   	if(bReadTag == 0x01)			//read tag
	LDPK	_bReadTag
	LAC	_bReadTag
	SUBK	1
	BNZ	L25
	.line	39
;>>>> 	   		LedOutput4(1);
	LACK	1
	SACL	*+
	CALL	_LedOutput4
	MAR	*-
	.line	40
;>>>> 	   		if(readTagCounter>=2)	//200ms
	LDPK	_readTagCounter
	ZALS	_readTagCounter
	SUBK	2
	BLZ	L25
	.line	42
;>>>> 	   			bReadTag = 0;
	LACK	0
	LDPK	_bReadTag
	SACL	_bReadTag
	.line	43
;>>>> 		   		readTagCounter = 0; 
	LDPK	_readTagCounter
	SACL	_readTagCounter
	.line	44
;>>>> 		   		LedOutput4(0);
	SACL	*+
	CALL	_LedOutput4
	MAR	*-
L25:
	.line	47
;>>>> 	   	if(bPowerUp == 0x01)			//read tag
	LDPK	_bPowerUp
	LAC	_bPowerUp
	SUBK	1
	BNZ	L27
	.line	49
;>>>> 	   		LedOutput5(1);
	LACK	1
	SACL	*+
	CALL	_LedOutput5
	MAR	*-
	.line	50
;>>>> 	   		if(PowerUpCounter>=10)	//1s
	LDPK	_PowerUpCounter
	ZALS	_PowerUpCounter
	SUBK	10
	BLZ	L27
	.line	52
;>>>> 	   			bPowerUp = 0;
	LACK	0
	LDPK	_bPowerUp
	SACL	_bPowerUp
	.line	53
;>>>> 		   		PowerUpCounter = 0; 
	LDPK	_PowerUpCounter
	SACL	_PowerUpCounter
	.line	54
;>>>> 		   		LedOutput5(0);
	SACL	*+
	CALL	_LedOutput5
	MAR	*-
L27:
	.line	57
;>>>> 	   	if(bAlarm == 0x01)	//各种告警指示灯   	
	LDPK	_bAlarm
	LAC	_bAlarm
	SUBK	1
	BNZ	L29
	.line	59
;>>>> 	   		if(alarmCounter>=2)	//200ms
	LDPK	_alarmCounter
	ZALS	_alarmCounter
	SUBK	2
	BLZ	L29
	.line	61
;>>>> 		   		alarmCounter = 0; 
	LACK	0
	SACL	_alarmCounter
	.line	62
;>>>> 		   		LedOutput5flash();
	CALL	_LedOutput5flash
L29:
EPI0_13:
	.line	65
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	257,000000000H,1
*****************************************************
* UNDEFINED REFERENCES                              *
*****************************************************
	.global	_feedWatchDog
	.end

⌨️ 快捷键说明

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