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

📄 fiq.lst

📁 关于凌阳单片机的应用--语音播报电子钟。功能为实时当前的时间。
💻 LST
📖 第 1 页 / 共 2 页
字号:
                     <      	//... Define for P_DA_Ctrl ....................
                     <      	.DEFINE C_PushPull				0x0000;			// b0, (default) 
                     <      	.DEFINE C_DoubleEnd				0x0001;			// b0
                     <      	.DEFINE	C_DAC_Mode				0x0000;			// b1, (default)
                     <      	.DEFINE C_PWM_Mode				0x0002;			// b1
                     <      	
                     <      	.DEFINE	C_D1_Direct				0x0000;			// DAC1 latch
                     <      	.DEFINE C_D1_LatchA				0x0008;			// 
                     <      	.DEFINE C_D1_LatchB				0x0010;			//
                     <      	.DEFINE C_D1_LatchAB			0x0018;			//
                     <      	
                     <      	.DEFINE	C_D2_Direct				0x0000;			// DAC2 latch
                     <      	.DEFINE C_D2_LatchA				0x0020;			// 
                     <      	.DEFINE C_D2_LatchB				0x0040;			//
                     <      	.DEFINE C_D2_LatchAB			0x00C0;			//
                     <      	
                     <      	//... Define for P_LVD_Ctrl ...................
                     <      	.DEFINE C_LVD24V				0x0000;			// LVD = 2.4V 
                     <      	.DEFINE C_LVD28V				0x0001;			// LVD = 2.8V
                     <      	.DEFINE C_LVD32V				0x0002;			// LVD = 3.2V
                     <      	.DEFINE C_LVD36V				0x0003;			// LVD = 3.6V
                     <      	
                     <      	
                     <      	.EXTERNAL	F_SP_Read_INT_Status;			// for further use
                     <      	.EXTERNAL 	F_SP_Write_INT_Status;			// for further use
                     <      	.EXTERNAL  	F_SP_Set_INT_Vector;			// for further use
                     <      	.EXTERNAL	F_SP_Clear_INT_Vector;			// for further use
                     <      	
                     <      	.EXTERNAL	F_SP_Send_Out;					//
                     <      	.EXTERNAL	F_SP_Send_DAC1;					//
                     <      	.EXTERNAL	F_SP_Send_DAC2;					//
                     <      	.EXTERNAL	F_SP_Send_Two_DAC;				//
                     <      	.EXTERNAL	F_SP_Init_HW;					//
                     <      	
                     <      	.EXTERNAL	R_InterruptStatus;
                     <      	
                     <      	
                     <      	.EXTERNAL 	F_SP_RampUpDAC1;
                     <      	.EXTERNAL 	F_SP_RampDnDAC1;
                     <      	.EXTERNAL 	F_SP_RampUpDAC2;
                     <      	.EXTERNAL  	F_SP_RampDnDAC2;
                     <      	
                     <      	.EXTERNAL 	F_SP_InitQueue;
                     <      	.EXTERNAL 	F_SP_ReadQueue;
                     <      	.EXTERNAL 	F_SP_WriteQueue;
                     <      	.EXTERNAL 	F_SP_TestQueue;
                     <      	
                     <      	
                     <      	
                     <      	.EXTERNAL	F_SP_Get_ADC
                     <      	
                     <      	.EXTERNAL 	F_SP_Set_P_TimerA_Ctrl
                     <      	.EXTERNAL 	F_SP_Set_P_TimerA_Data
                     <      	.EXTERNAL 	F_SP_Set_P_TimerB_Ctrl
                     <      	.EXTERNAL 	F_SP_Set_P_TimerB_Data
                     <      	.EXTERNAL 	F_SP_Set_P_INT_Ctrl
                     <      	.EXTERNAL 	F_SP_Set_P_INT_Clear
                     <      	.EXTERNAL 	F_SP_Set_P_SystemClock
                     <      	.EXTERNAL 	F_SP_Set_P_DAC_Ctrl
                     <      	.EXTERNAL 	F_SP_Set_P_ADC_Ctrl
                     <      	
                     <      		
                     <      	
                     <      	//--------------------------------------------
                     <      	SACM_MACRO1: 	.MACRO
                     <      		
                     <      		.ENDM
                     <      	
                     <      	SACM_MACRO2:	.MACRO
                     <      		
                     <      		.ENDM
                     <      	
                     <      	
                     <      	
                     <      	
                     <      	//.define PC_Play_Enable_A2000		1    	// Enable the PC-Play function for SACM-A2000 module
                     <      	//.define PC_Play_Enable_S480		1    	// Enable the PC-Play function for SACM-S480 module
                     <      	//.define PC_Play_Enable_S240		1    	// Enable the PC-Play function for SACM-S240 module    
                     <      	//.define PC_Play_Enable_MS01		1    	// Enable the PC-Play function for SACM-MS01 module
                     <      	
                     <      	
                     <      	
                     <      	//========================================================================================        
                     <      	// End of hardware.inc
                     <      	//========================================================================================
                            	
                            	.PUBLIC _FIQ,_IRQ3, _IRQ5, _IRQ6
                            	
                            	.EXTERNAL	_TimeCount;        // 触发计时
                            	.EXTERNAL   Per500msSet        //2Hz中断,每次500ms时钟
                            	.EXTERNAL   _TimeChangeCount;  //计时
                            	
                            	
00008090                    	.TEXT
                            	_FIQ:
00008090 A8 DA              		push r1,r5 to [sp]
00008091 09 93 00 08        		r1 = 0x0800
00008093 11 B3 10 70        		r1&=[P_INT_Ctrl] 
00008095 16 4E              		jnz FIQ_is_TimB
00008096 09 93 00 20        		r1 = 0x2000
00008098 11 B3 10 70        		r1&=[P_INT_Ctrl] 
0000809A 09 4E              		jnz FIQ_is_TimA
0000809B 09 93 00 80        		r1 = 0x8000
0000809D 11 B3 10 70        		r1&=[P_INT_Ctrl] 
0000809F 00 4E              		jnz FIQ_is_PWM
                            	
                            	FIQ_is_PWM:
000080A0 19 D3 11 70        	    [P_INT_Clear] = r1
000080A2 A8 90              		pop	r1,r5 from [sp];
000080A3 98 9A              		reti;
                            	
                            	FIQ_is_TimA:
000080A4 40 F0 7A 86        	    call F_FIQ_Service_SACM_A2000;
000080A6 09 93 00 20        		r1 = 0x2000
000080A8 19 D3 11 70        		[P_INT_Clear] = r1
000080AA A8 90              		pop	r1,r5 from [sp];
000080AB 98 9A              		reti;
                            	
                            	FIQ_is_TimB:   
000080AC 09 93 00 08        	    r1=0x0800;  
000080AE 19 D3 11 70        	    [P_INT_Clear] = r1;           
000080B0 A8 90              	    pop r1,r5 from [sp];
000080B1 98 9A              	    reti;             
                            	
                            	
                            	_IRQ3: 
000080B2 A8 DA              		push r1,r5 to [sp]
000080B3 09 93 80 03        		r1 = 0x0380;           //按键唤醒
000080B5 19 D3 11 70        	    [P_INT_Clear] = r1;
000080B7 A8 90              		pop	r1,r5 from [sp];
000080B8 98 9A              		reti;
                            		
                            	
                            	//--------2Hz and 4Hz------//
                            	_IRQ5: 
000080B9 A8 DA              		push r1,r5 to [sp]
000080BA 48 92              		r1 = 0x0008;
000080BB 11 C3 10 70        		test r1,[P_INT_Ctrl];
000080BD 0E 4E              		jnz	L_IRQ5_4Hz;
                            	
                            	L_IRQ5_2Hz:
000080BE 09 93 FF FF        		r1 = 0xFFFF;          //万年历时间///////////////////
000080C0 19 D3 30 03        	    [Per500msSet] = r1;
000080C2 11 93 3C 03        	    r1 = [_TimeCount];    //计时
000080C4 41 02              		r1 += 1;
000080C5 19 D3 3C 03        		[_TimeCount] = r1;
000080C7 44 92              	    r1=0x0004
000080C8 19 D3 11 70        	    [P_INT_Clear] = r1;
000080CA A8 90              		pop	r1,r5 from [sp];
000080CB 98 9A              		reti;
                            	
                            	L_IRQ5_4Hz:
000080CC 19 D3 11 70        	    [P_INT_Clear] = r1;
000080CE A8 90              		pop	r1,r5 from [sp];
000080CF 98 9A              		reti;
                            	
                            	//-------- 256Hz RTC --------//
                            	_IRQ6: 
000080D0 A8 DA              	    push r1,r5 to [sp]
000080D1 41 92              	    r1=0x0001
000080D2 11 C3 10 70        	    test r1,[P_INT_Ctrl]
000080D4 05 4E              	    jnz IRQ6_TMB2
                            	 IRQ6_TMB1:
000080D5 42 92              	    r1=0x0002
000080D6 19 D3 11 70        	    [P_INT_Clear]=r1
000080D8 A8 90              		pop	r1,r5 from [sp];
000080D9 98 9A              		reti; 
                            	 IRQ6_TMB2:
                            	
000080DA 11 93 3E 03        	    r1=[_TimeChangeCount]
000080DC 41 02              	    r1+=1
000080DD 19 D3 3E 03        	    [_TimeChangeCount]=r1
000080DF 41 92              	    r1=0x0001   
000080E0 19 D3 11 70        	    [P_INT_Clear]=r1
000080E2 A8 90              		pop	r1,r5 from [sp];
000080E3 98 9A              		reti;
                            		    
                            	.END
0 error(s), 0 warning(s).


⌨️ 快捷键说明

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