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

📄 fiq.lst

📁 基于凌阳单片机的语音小车。可用于特定人的语音识别系统
💻 LST
📖 第 1 页 / 共 3 页
字号:
                     <      	
                     <      	.EXTERNAL	F_SP_SACM_MS01_Init_
                     <      	.EXTERNAL	F_SP_PlayMode0_
                     <      	.EXTERNAL	F_SP_PlayMode1_
                     <      	.EXTERNAL	F_SP_PlayMode2_
                     <      	.EXTERNAL	F_SP_PlayMode3_
                     <      	
                     <      	.EXTERNAL	F_SP_SACM_DVR_Init_
                     <      	.EXTERNAL 	F_SP_SACM_DVR_Rec_Init_
                     <      	.EXTERNAL 	F_SP_SACM_DVR_Play_Init_
                     <      	
                     <      	.EXTERNAL	F_SP_GetResource
                     <      	
                     <      	//////////////////////////////////////////////////////////////////
                     <      	// Reserve old defintion
                     <      	// Note: Some user who use old library may use the old name
                     <      	//////////////////////////////////////////////////////////////////
                     <      	.EXTERNAL	F_SP_Send_PWM					// Get RAW data 
                     <      	.EXTERNAL	F_SP_Send_DAC1 					// 
                     <      	.EXTERNAL	F_SP_Send_DAC2 					//
                     <      	
                     <      	.EXTERNAL	F_STD_Send_DAC1 				// reserved old
                     <      	.EXTERNAL	F_STD_Send_DAC2 				// reserved old
                     <      	
                     <      	.EXTERNAL 	F_RampUpDAC1					// reserved old
                     <      	.EXTERNAL 	F_RampDnDAC1					// reserved old
                     <      	.EXTERNAL 	F_RampUpDAC2					// reserved old
                     <      	.EXTERNAL  	F_RampDnDAC2					// reserved old
                     <      	///////////////////////////////////////////////////////////////////
                     <      	
                     <      	
                     <      		
                     <      	//========================================================================================        
                     <      	// End of hardware.inc
                     <      	//========================================================================================
                            	.DEFINE		P_INT_CTRL		  0x7010;
                            	.DEFINE		P_INT_CLEAR		  0x7011;
00000000                    	.ram
00000000 00 00 00 00        	.var line=0,long=0,i,flag=0,led=0
         00 00 00 00
         00 00      
                            	.PUBLIC _F_Speed
                            	_F_Speed:
00000005 40 F1              		INT OFF
00000006 11 93 00 00        	    R1 = [R_InterruptStatus]		//
00000008 09 A3 10 03        	    R1 |= 0x0310				// Enable Timer A FIQ
0000000A 19 D3 00 00        	    [R_InterruptStatus] = R1
0000000C 19 D3 10 70        	  	[P_INT_CTRL] = R1; 
0000000E 41 F1              		INT IRQ; 
                            	
                            	
00000007                    	.TEXT
                            	_FIQ:
00000007 A0 D8              		push R1,R4 to [SP]
00000008 11 93 10 70        		R1 = [P_INT_Ctrl]
0000000A 09 B3 00 20        		R1 &= 0x2000
0000000C 14 5E              		jz ?notTimerA						//当不为TIQ_TMA,则转
0000000D 11 93 00 00        		R1 = [__gIsStopRecog]
0000000F 03 4E              		jnz ?BSR_NotBusy					//[__gIsStopRecog]为1则转至放音处理
00000010 40 F0 00 00        		call _BSR_FIQ_Routine				//为0,调用辨识子程序
00000012 08 EE              		jmp ?BSR_Busy						//返回中断
                            	?BSR_NotBusy:							//放音处理
00000013 12 95 00 00        		R2 = [_PlayFlag]
00000015 03 4E              		jnz ?Play2000						//[_PlayFlag]为1则是播放2000
00000016 40 F0 00 00        		call F_FIQ_Service_SACM_S480;		//为0,播放480
00000018 02 EE              		jmp ?BSR_Busy						//返回中断
                            	?Play2000:								//2000播放子程序
00000019 40 F0 00 00        		call F_FIQ_Service_SACM_A2000;
                            	?BSR_Busy:								//返回中断
0000001B 09 93 00 20        		R1 = 0x2000
0000001D 19 D3 11 70        		[P_INT_Clear] = R1
0000001F A0 90              		pop	R1,R4 from [SP];
00000020 98 9A              		reti;
                            	?notTimerA:
00000021 09 93 00 88        		R1 = 0x8800;
00000023 19 D3 11 70        	    [P_INT_Clear] = R1;
00000025 A0 90              		pop	R1,R4 from [SP];
00000026 98 9A              		reti;
                            	
                            	_BREAK: 
                            	_IRQ0:
                            	_IRQ1: 
                            	_IRQ2: 
                            	_IRQ3: 
00000027 A8 DA              	PUSH R1,R5 TO [SP]		     //压栈保护 
00000028 09 93 00 01        	   R1 = 0x0100 	    
0000002A 11 C3 10 70        	   TEST R1,[P_INT_CTRL] 	     //比较是否为IRQ3_EXT1	 
0000002C 18 4E              	   JNZ L_IRQ3_Ext1			     //是,则转至对应程序段;
0000002D 09 93 00 02        	   R1 = 0x0200 	    
0000002F 11 C3 10 70        	   TEST R1,[P_INT_CTRL] 	     //否,则比较是否为IRQ3_EXT2
00000031 08 4E              	   JNZ  L_IRQ3_Ext2			     //是,则转至对应程序段;
00000032 09 93 00 02        	   R1 = 0x0200 	    
                            	L_IRQ3_Key:					     //否,则进入键唤醒中断
00000034 09 93 80 00        		R1 = 0x0080 	     
00000036 19 D3 11 70        		[P_INT_CLEAR] = R1 
00000038 A8 90              		POP R1,R5 FROM [SP]   
00000039 98 9A              		RETI
                            	L_IRQ3_Ext2:		
0000003A 11 93 00 00        	    r1=[_uiSpeed];
0000003C 41 02              	    r1=r1+1;
0000003D 19 D3 00 00        	    [_uiSpeed]=r1;
0000003F 09 93 00 02        	   R1 = 0x0200 	     
00000041 19 D3 11 70        	   [P_INT_CLEAR] = R1 
00000043 A8 90              	   POP R1,R5 FROM [SP]
00000044 98 9A              	   RETI
                            	L_IRQ3_Ext1:
                            	   
00000045 09 93 00 01        	   R1 = 0x0100 	     
00000047 19 D3 11 70        	   [P_INT_CLEAR] = R1 
00000049 A8 90              	   POP R1,R5 FROM [SP]
0000004A 98 9A              	   RETI
                            	_IRQ4: 
0000004B A8 DA              	    push r1,r5 to [sp];
0000004C 50 92              	    r1=0x0010;
0000004D 11 C3 10 70        	    test r1,[P_INT_Ctrl];
0000004F 0A 4E              	    jnz l_irq4_1k;
00000050 60 92              	    r1=0x0020
00000051 11 C3 10 70        	    test r1,[P_INT_Ctrl];
00000053 04 4E              	    jnz l_irq4_2k
                            	    
                            	 l_irq4_4k:
00000054 09 93 40 00        	    R1=0x0040;
00000056 80 FE 77 00        	    goto exit_int;
                            	    
                            	 l_irq4_2k:
00000058 80 FE 77 00        	   goto exit_int
                            	  
                            	  l_irq4_1k:
0000005A 11 93 03 00        	    r1=[flag]
0000005C 41 02              	    r1+=1
0000005D 19 D3 03 00        	    [flag]=r1
0000005F 0A 95 00 04        	    r2=1024
00000061 11 93 03 00        	    r1=[flag]
00000063 02 43              	    cmp r1,r2
00000064 04 5E              	    je good
00000065 50 92              	    r1=0x0010
00000066 80 FE 77 00        	    goto exit_int
00000068 50 92              	    r1=0x0010
                            	    good:
00000069 11 93 04 00        	      r1=[led]
0000006B 41 02              	      r1+=1
0000006C 19 D3 04 00        	      [led]=r1
0000006E 11 93 03 00        	      r1=[flag]
00000070 40 92              	      r1=0
00000071 19 D3 03 00        	      [flag]=r1
00000073 50 92              	       r1=0x0010
00000074 80 FE 77 00        	    goto exit_int
00000076 50 92              	    r1=0x0010 
                            	  exit_int:
00000077 19 D3 11 70        	    [P_INT_Clear]=r1;
00000079 A8 90              	    pop r1,r5 from [sp];
0000007A 98 9A              	    RETI;
                            	
                            	_IRQ5: 
                            	_IRQ6: 
                            	_IRQ7:
                            	   .public _car_long
                            	_car_long: .proc
                            	         
0000007B 11 93 01 00        	         r1=[long];
                            	         
0000007D 90 9A              	         retf;
                            	.endp
                            	
                            	.public _car_time
                            	_car_time: .proc
0000007E 11 93 04 00        	     r1=[led]
00000080 90 9A              	     retf
                            	     .endp
                            	.END
0 error(s), 0 warning(s).

⌨️ 快捷键说明

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