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

📄 try.asm

📁 无刷直流电机开环程序 电机功率500w 4对极
💻 ASM
字号:
********BLDC for Ma.Changshan's PCB******	
********PWM1~6*************
;注意:其中PWM在cpld中进行了反相
********CAP1~3**************
	.include "LF2407.H"
	.def _c_int0
	
	.bss	X1,1
	.bss 	X2,1
	.bss	IMAX,1
	.bss	IMIN,1
HUANXIANG
	.word	#0FFFH,#07FDH,#0FD7H,#07DFH,#0D7FH,#0F7DH,#0DF7H
	;ACTRA(11~0)--CMP6CTL...CMP1CTL	
	;00	forced low
	;01	active low
	;10	active high
	;11	forced high
	;注意:在CPLD中进行了反相,所以实际为PWM高有效
	.sect "vectors"
REVECT B _c_int0
INT1 B PHANTOM
INT2 B PHANTOM	
INT3 B PHANTOM
INT4 B PHANTOM	
INT5 B PHANTOM
INT6 B ADCINT	
	.text
_c_int0:
	LDP #0H
	CLRC CNF 	
	CLRC OVM
	CLRC SXM
	SETC INTM
	;initial
	;system initial
	LDP #0H
	SPLK #0H,IMR
	SPLK #0FFFFH,IFR
	MAR *,AR1
	LAR AR1,#300H
	LDP #0E0H
	SPLK #208DH,SCSR1
	SPLK #006DH,SCSR2
	SPLK #006FH,WDCR		;WATCHDOG is disable	
;----------------------
	LDP #4H
	SPLK #0H,X1	
	splk #0h,X2	
	SPLK #7673H,IMAX			;
	SPLK #8123H,IMIN
;------------------------	

;IO 
	LDP #0E1H
	SPLK #0FF8H,MCRA	;PWM1~6 ;CAP1_3
	
;EVA
	LDP #0E8H
	SPLK #6145H,GPTCONA	;T1 period enable ADC
	SPLK #1046H,T1CON
	SPLK #3999,T1PR	;AD 10KHZ
	SPLK #0555H,ACTRA	;pwm1~6 low efficiency
	SPLK #0,CMPR1
	SPLK #0,CMPR1
	SPLK #0,CMPR3
	SPLK #0A000H,COMCONA
	SPLK #0FECH,DBTCONA	
	SPLK #0,T1CNT
	
	SPLK #0,T2CNT
	SPLK #0F4FH,T2CON	;X/128		
;CAP
	SPLK #30FFH,CAPCONA	; T2 count for cap time 
	SPLK #00FFH,CAPFIFOA
	SPLK #0FFFFH,T2PR

;ADC	
	LDP #0E1H
	SPLK #4000H,ADCTRL1
	NOP
	SPLK #2932H,ADCTRL1	;启动/停止 模式
	SPLK #4000H,ADCTRL2
	NOP
	SPLK #0504H,ADCTRL2	;enable EVA start
	SPLK #05H,MAXCONV	;IA,IB,IC
	SPLK #44EEH,CHSELSEQ1	
	SPLK #00DDH,CHSELSEQ2  	
;CLRAE INTS AND ENABLE INTS
	LDP	#0E8H
	LACC	EVAIFRA
	SACL	EVAIFRA	
	LACC	EVAIFRB
	SACL	EVAIFRB
	LACC	EVAIFRC
	SACL	EVAIFRC
	SPLK	#0000H,EVAIMRA	
	SPLK	#0000H,EVAIMRB	
	SPLK	#0007H,EVAIMRC	;enable capint
	LDP	#0EAH
	LACC	EVBIFRA
	SACL	EVBIFRA
	LACC	EVBIFRB
	SACL	EVBIFRB
	LACC	EVBIFRC
	SACL	EVBIFRC
	SPLK	#0000H,EVBIMRA
	SPLK	#0000H,EVBIMRB
	SPLK	#0000H,EVBIMRC	
	;ENABLE INTS
	LDP #0H
	LACL IMR
	OR  #0020H	;enable  INT6
	SACL IMR
	SPLK #0FFFFH,IFR
	CLRC INTM
;INITIAL POSTION JUDGEING
 	LDP     #0E1H
	LACC    PADATDIR
	RPT     #2
	SFR
	AND     #0007H
	LDP     #4H
	ADD     #HUANXIANG
	LDP     #0E8H
	TBLR    ACTRA
;------------------------------------
WAIT:
	NOP
	B WAIT
;------------------------------------
;------------------------------------
ADCINT:
	INT_PUSH
	NOP
	LDP #4H
	LACC IMAX,1
	AND #0006H
	SACL X1
	LACC IMIN,16
	SACH X2
	LACC X2
	AND #0001H
	ADD X1
	SACL X1
	INT_POP
	RET
;------------------------------------------------
PHANTOM:
	CLRC INTM 
	NOP
	RET
;--------------------------------------------------------------	
	.end
		

⌨️ 快捷键说明

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