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

📄 isr.asm

📁 直流电机转速测控
💻 ASM
字号:
.INCLUDE SPCE061A.inc
.INCLUDE Key.inc
.INCLUDE Dig.inc
.INCLUDE DCMotor.inc
.INCLUDE a2000.inc
.PUBLIC _BREAK
.PUBLIC _FIQ
.PUBLIC	_IRQ0
.PUBLIC _IRQ1
.PUBLIC _IRQ2
.PUBLIC _IRQ3
.PUBLIC _IRQ4
.PUBLIC _IRQ5
.PUBLIC _IRQ6
.public _y0
.public F_y0
.public _y1
.public F_y1
.iram
.var y=0

.TEXT
_BREAK:        
	push r1,r5 to [sp]
	pop r1,r5 from [sp] 
reti
_FIQ:
	push r1,r5 to [sp]
?L_FIQ_PWM:
	r1 = C_FIQ_PWM
	test r1, [P_INT_Ctrl]
	jz ?L_FIQ_TimerA
	[P_INT_Clear] = r1
?L_FIQ_TimerA:
	r1 = C_FIQ_TMA
	test r1, [P_INT_Ctrl]
	jz ?L_FIQ_TimerB
	[P_INT_Clear] = r1
	call F_FIQ_Service_SACM_A2000	
?L_FIQ_TimerB:
	r1 = C_FIQ_TMB
	test r1, [P_INT_Ctrl]
	jz ?L_FIQ_Exit
	[P_INT_Clear] = r1
?L_FIQ_Exit:
	pop r1,r5 from [sp]
reti
_IRQ0:        
	push r1,r5 to [sp]
	r1 = C_IRQ0_PWM
	[P_INT_Clear] = r1
	pop r1,r5 from [sp] 
reti
_IRQ1:        
	push r1,r5 to [sp]
	r1 = C_IRQ1_TMA
	[P_INT_Clear] = r1
	pop r1,r5 from [sp] 
reti
_IRQ2:        
	push r1,r5 to [sp]
	r1 = C_IRQ2_TMB
	[P_INT_Clear] = r1
    pop r1,r5 from [sp]
reti
_IRQ3:
	push r1,r5 to [sp];
?L_IRQ3_KEY:
	r1 = C_IRQ3_KEY
	test r1,[P_INT_Ctrl]
	jz ?L_IRQ3_EXT1
	[P_INT_Clear] = r1
?L_IRQ3_EXT1:
	r1 = C_IRQ3_EXT1
	test r1,[P_INT_Ctrl]
	jz ?L_IRQ3_EXT2
	[P_INT_Clear] = r1
?L_IRQ3_EXT2:
	r1 = C_IRQ3_EXT2
	test r1,[P_INT_Ctrl]
	jz ?L_IRQ3_Exit
	[P_INT_Clear] = r1
?L_IRQ3_Exit:
	pop r1,r5 from [sp]
reti

_IRQ4:        
	push r1,r5 to [sp];
?L_IRQ4_1KHz:
	r1 = C_IRQ4_1KHz
	test r1,[P_INT_Ctrl]
	jz ?L_IRQ4_2KHz
	[P_INT_Clear] = r1
?L_IRQ4_2KHz:
	r1 = C_IRQ4_2KHz
	test r1,[P_INT_Ctrl]
	jz ?L_IRQ4_4KHz
	[P_INT_Clear] = r1
?L_IRQ4_4KHz:
	r1 = C_IRQ4_4KHz
	test r1,[P_INT_Ctrl]
	jz ?L_IRQ4_Exit
	[P_INT_Clear] = r1
	r2=[y]
	test r2,1
	jz ?loop1
   call F_DCMotor_Drive1
   jmp ?L_IRQ4_Exit
?loop1:	
    call F_DCMotor_Drive
?L_IRQ4_Exit:
	pop r1,r5 from [sp]
reti
_IRQ5:
	push r1,r5 to [sp];
?L_IRQ5_2Hz:
	r1 = C_IRQ5_2Hz
	test r1,[P_INT_Ctrl]
	jz ?L_IRQ5_4Hz
	[P_INT_Clear] = r1
?L_IRQ5_4Hz:
	r1 = C_IRQ5_4Hz
	test r1,[P_INT_Ctrl]
	jz ?L_IRQ5_Exit
	[P_INT_Clear] = r1
?L_IRQ5_Exit:
	pop r1,r5 from [sp]
reti
_IRQ6:
	push r1,r5 to [sp];
?L_IRQ6_TMB1:
	r1 = C_IRQ6_TMB1
	test r1,[P_INT_Ctrl]
	jz ?L_IRQ6_TMB2
	[P_INT_Clear] = r1
?L_IRQ6_TMB2:
	r1 = C_IRQ6_TMB2
	test r1,[P_INT_Ctrl]
	jz ?L_IRQ6_Exit
	[P_INT_Clear] = r1
	call F_Key_Scan
?L_IRQ6_Exit:
	pop r1,r5 from [sp]
reti

_y0:
F_y0: 
   	push r1,r5 to [sp]
	r1=0
	[y]=r1
	pop r1,r5 from [sp]
retf
_y1:
F_y1: 
   	push r1,r5 to [sp]
	r1=1
	[y]=r1
	pop r1,r5 from [sp]
retf

        

⌨️ 快捷键说明

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