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

📄 mc56f835x_vector_isr_led.asm

📁 DSP56F800e HYBRID Controller
💻 ASM
字号:

 


; metrowerks sample code



;	interrupt vectors for MC56F835x

;   notes from Motorola documentation:
;   1. Two words are allocated for each entry in the vector table. 
;      This does not allow the full address range to be
;      referenced from the vector table; providing only 19 bits of address.
;   2. If the VBA is set to 0200 (VBA=0000 for Mode 1, EMI_MODE=0) 
;       the first two locations of the vector table are the chip reset addresses; 
;       therefore, these locations are not interrupt vectors.



	section interrupt_routines
	org	p:
	
MC56F835x_intRoutine:
	debughlt
	nop
	nop
	rti


; illegal instruction interrupt ($04)

MC56F835x_illegal:
	debughlt	
	nop
	nop
	rti


; hardware stack overflow interrupt ($08)
	
MC56F835x_HWSOverflow:
	debughlt	
	nop
	nop
	rti
	
	
; misaligned long word access interrupt ($0A)
	
MC56F835x_misalign:
	debughlt	                     
	nop
	nop
	rti


 ; PLL lost of lock interrupt ($28)
 
MC56F835x_PLL:
	debughlt	                    
	nop
	nop 
	rti
    endsec
    
    
	section interrupt_vectors
	org	p:
	
	global	FMC56F835x_intVec

FMC56F835x_intVec:

	jsr >Finit_MC56F83xx_       ; RESET  (see note #2 above)                      ($00)
	jsr >MC56F835x_intRoutine    ; COP Watchdog reset (see note #2 above)          ($02)
	jsr >MC56F835x_illegal       ; illegal instruction                             ($04)
	jsr >MC56F835x_intRoutine    ; software interrupt 3                            ($06)
	jsr >MC56F835x_HWSOverflow   ; hardware stack overflow                         ($08)
	jsr >MC56F835x_misalign      ; misaligned long word access                     ($0A)
	jsr >MC56F835x_intRoutine    ; EOnCE step counter                              ($0C)
	jsr >MC56F835x_intRoutine    ; EOnCE breakpoint unit 0                         ($0E)
	jsr >MC56F835x_intRoutine    ; reserved                                        ($10)
	jsr >MC56F835x_intRoutine    ; EOnCE trace buffer                              ($12)
	jsr >MC56F835x_intRoutine    ; EOnCE transmit register empty                   ($14)
	jsr >MC56F835x_intRoutine    ; EOnCE receive register full                     ($16)
	jsr >MC56F835x_intRoutine    ; reserved                                        ($18)
	jsr >MC56F835x_intRoutine    ; reserved                                        ($1A)
	jsr >MC56F835x_intRoutine    ; software interrupt 2                            ($1C)
	jsr >MC56F835x_intRoutine    ; software interrupt 1                            ($1E)
	jsr >MC56F835x_intRoutine    ; software interrupt 0                            ($20)
	jsr >MC56F835x_intRoutine                 ; IRQA                                            ($22)
	jsr >MC56F835x_intRoutine               ; IRQB                                            ($24)
	jsr >MC56F835x_intRoutine    ; reserved                                        ($26)
	jsr >MC56F835x_PLL           ; Low Voltage Detector (power sense)              ($28)
	jsr >MC56F835x_intRoutine    ; PLL                                             ($2A)
	jsr >MC56F835x_intRoutine    ; HFM Error Interrupt                             ($2C)
	jsr >MC56F835x_intRoutine    ; HFM Command Complete                            ($2E)
	jsr >MC56F835x_intRoutine    ; HFM Command, data and address Buffers Empty     ($30)
	jsr >MC56F835x_intRoutine    ; reserved                                        ($32)
	jsr >MC56F835x_intRoutine    ; FlexCAN Bus Off                                 ($34)
	jsr >MC56F835x_intRoutine    ; FlexCAN Error                                   ($36)
	jsr >MC56F835x_intRoutine    ; FlexCAN Wake Up                                 ($38)
	jsr >MC56F835x_intRoutine    ; FlexCAN Message Buffer Interrupt                ($3A)
	jsr >MC56F835x_intRoutine    ; GPIO F                                          ($3C)
	jsr >MC56F835x_intRoutine    ; GPIO E                                          ($3E)
	jsr >MC56F835x_intRoutine    ; GPIO D                                          ($40)
	jsr >MC56F835x_intRoutine    ; GPIO C                                          ($42)
	jsr >MC56F835x_intRoutine    ; GPIO B                                          ($44)
	jsr >MC56F835x_intRoutine    ; GPIO A                                          ($46)
	jsr >MC56F835x_intRoutine    ; reserved                                        ($48)
	jsr >MC56F835x_intRoutine    ; reserved                                        ($4A)
	
	jsr >MC56F835x_intRoutine      ; SPI 1 receiver full                             ($4C)
	jsr >MC56F835x_intRoutine      ; SPI 1 transmitter empty                         ($4E)
	
	
	                  			; Modulul SPI0 
	 
	jsr >MC56F835x_intRoutine          ; SPI 0 receiver full                             ($50)
	jsr >FisrtSpi0TransmitterEmpty ; SPI 0 transmitter empty                         ($52)
	
	
	
	jsr >MC56F835x_intRoutine      ; SCI 1 transmitter empty                         ($54)
	jsr >MC56F835x_intRoutine    ; SCI 1 transmitter idle                          ($56)
	jsr >MC56F835x_intRoutine    ; reserved                                        ($58)
	jsr >MC56F835x_intRoutine    ; SCI receiver error                              ($5A)
	jsr >MC56F835x_intRoutine    ; SCI receiver full                               ($5C)
	jsr >MC56F835x_intRoutine    ; quadrature decoder #1 home switch or watchdog   ($5E)
	jsr >MC56F835x_intRoutine    ; quadrature decoder #1 index pulse               ($60)
	jsr >MC56F835x_intRoutine    ; quadrature decoder #0 home switch or watchdog   ($62)
	jsr >MC56F835x_intRoutine    ; quadrature decoder #0 index pulse               ($64)
	jsr >MC56F835x_intRoutine    ; reserved                                        ($66)


;vectorii de intrerupere pentru Timerul D
	jsr >MC56F835x_intRoutine    ; timer D channel 0                               ($68)
	jsr >MC56F835x_intRoutine    ; timer D channel 1                               ($6a)
	jsr >MC56F835x_intRoutine    ; timer D channel 2                               ($6c)
	jsr >MC56F835x_intRoutine    ; timer D channel 3                               ($6e)


;vectorii de intrerupere pentru Timerul C
	jsr >MC56F835x_intRoutine    ; timer C channel 0                               ($70)
	jsr >MC56F835x_intRoutine    ; timer C channel 1                               ($72)
	jsr >MC56F835x_intRoutine    ; timer C channel 2                               ($74)
	jsr >MC56F835x_intRoutine    ; timer C channel 3                               ($76)

;vectorii de intrerupere pentru Timerul B
	jsr >MC56F835x_intRoutine    ; timer B channel 0                               ($78)
	jsr >MC56F835x_intRoutine    ; timer B channel 1                               ($7A)
	jsr >MC56F835x_intRoutine    ; timer B channel 2                               ($7C)
	jsr >MC56F835x_intRoutine    ; timer B channel 3                               ($7E)


;vectorii de intrerupere pentru Timerul A canalele 0,1,2,3
	jsr >FisrTimerA0_interrupt   ; timer A channel 0                               ($80)
	jsr >MC56F835x_intRoutine    ; timer A channel 1                               ($82)
	jsr >MC56F835x_intRoutine    ; timer A channel 2                               ($84)
	jsr >MC56F835x_intRoutine    ; timer A channel 3                               ($86)


	jsr >MC56F835x_intRoutine    ; SC1 0 transmitter empty                         ($88)
	jsr >MC56F835x_intRoutine    ; SC1 0 transmitter idle                          ($8A)
	jsr >MC56F835x_intRoutine    ; reserved                                        ($8C)
	jsr >MC56F835x_intRoutine    ; SC1 0 receiver error                            ($8E)
	jsr >MC56F835x_intRoutine    ; SC1 0 receiver full                             ($90)
	jsr >FisrADCB_interrupt         ; ADC B conversion complete                       ($92)
	jsr >FisrADCA_interrupt         ; ADC A conversion complete                       ($94)
	jsr >MC56F835x_intRoutine    ; ADC B zero crossing of limit error              ($96)
	jsr >MC56F835x_intRoutine    ; ADC A zero crossing of limit error              ($98)
	jsr >MC56F835x_intRoutine    ; reload PWM B                                    ($9A)
	jsr >MC56F835x_intRoutine    ; reload PWM A                                    ($9C)
	jsr >MC56F835x_intRoutine    ; PWM B fault                                     ($9E)
	jsr >MC56F835x_intRoutine    ; PWM A fault                                     ($A0)
    jsr >MC56F835x_intRoutine    ; SW interrupt LP                                 ($A2)
	endsec	

	end






⌨️ 快捷键说明

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