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

📄 系统初始化.asm.txt

📁 异步电机变频调速控制程序
💻 TXT
字号:
;=====================================================================
; Module Name: S Y S _ I N I T				      
; File Name:	Sys_init.asm
; Description:  Initializes F24x/xx devices
;=====================================================================
				.include	x24x_app.h
				.def		SYS_INIT
				.ref		GPR0    
		
stack_size	.set		20h
stack_start	.usect		"stack",stack_size	

SYS_INIT:
;---target dependancy---------------
	.if (x240)

		POINT_PG0
		SETC	INTM					;Disable interrupts
		SPLK	#0h, IMR				;Mask all Ints
		SPLK	#0FFh, IFR				;Clear all Int Flags
		CLRC	SXM						;Clear Sign Extension Mode
		CLRC	OVM						;Reset Overflow Mode
		CLRC	CNF						;Config Block B0 to Data mem.
		LAR		AR1, #stack_start		;Init s/w stack pointer
		MAR		*,AR1

		POINT_B0
		SPLK	#04h, GPR0				;Set 0 wait states for XMIF
		OUT		GPR0, WSGR

		POINT_PF1
		SPLK	#0041h,PLL_CNTL1		;Disable PLL first.=CPUCLK/2,
		SPLK	#00B1h,PLL_CNTL2		;CLKIN(XTAL)=10MHz, PLL*2.0=20MHz
		;SPLK	#0081h,PLL_CNTL1		;CLKMD=PLL Enable,														;f_SYSCLK=f_CPUCLK/2
       SPLK	#0080h,PLL_CNTL1		;CLKMD=PLL Enable,
;f_SYSCLK=f_CPUCLK/4
		SPLK	#40C0h,SYSCR			;CLKOUT=CPUCLK

	;Comment out if WD is to be active
		SPLK	#006Fh,WD_CNTL 			;Disable WD if VCCP=5V
		KICK_DOG
		RET
	.endif
;-----------------------------------


;---target dependancy---------------
	.if (x243)
		POINT_PG0
		SETC	INTM					;Disable interrupts
		SPLK	#0h, IMR				;Mask all Ints
		SPLK	#0FFh, IFR				;Clear all Int Flags

;Init PDP interrupt flag after reset		
		LDP		#PIRQR0>>7
		LACC	PIRQR0					;Clear pending PDP flag
		AND		#0FFFEh
		SACL	PIRQR0
		POINT_EV
		LACC	EVIFRA					;Clear PDP int flag
		OR		#0001h
		SACL	EVIFRA 

		POINT_PG0
		CLRC	SXM						;Clear Sign Extension Mode
		CLRC	OVM						;Reset Overflow Mode
		CLRC	CNF						;Config Block B0 to Data mem.
		SPM		0
		LAR		AR1, #stack_start		;Init s/w stack pointer
		MAR		*,AR1

		POINT_B0
		SPLK	#0040h, GPR0			;Set 0 wait states for XMIF
		OUT		GPR0, WSGR

		POINT_PF1
		SPLK	#40C0h,SYSCR			;CLKOUT=CPUCLK

	;Comment out if WD is to be active
		SPLK	#006Fh, WD_CNTL 		;Disable WD if VCCP=5V
		KICK_DOG
		RET
	.endif
;-----------------------------------

;---target dependancy---------------
	.if (x2407)
		POINT_PG0
		SETC	INTM					;Disable interrupts
		SPLK	#0h, IMR				;Mask all Ints
		SPLK	#0FFh, IFR				;Clear all Int Flags

;Init PDP interrupt flag after reset		
		LDP		#PIRQR0>>7
		LACC	PIRQR0					;Clear pending PDP flag
		AND		#0FFFEh
		SACL	PIRQR0
		LACC	PIRQR2					;Clear pending PDP flag
		AND		#0FFFEh
		SACL	PIRQR2
		POINT_EV
		LACC	EVAIFRA					;Clear PDPINTA flag
		OR		#0001h
		SACL	EVAIFRA 
		LDP		#EVBIFRA>>7
		LACC	EVBIFRA					;Clear PDPINTB flag
		OR		#0001h
		SACL	EVBIFRA 
		
		POINT_PG0
		CLRC	SXM						;Clear Sign Extension Mode
		CLRC	OVM						;Reset Overflow Mode
		CLRC	CNF						;Config Block B0 to Data mem.
		SPM		0
		LAR		AR1, #stack_start		;Init s/w stack pointer
		MAR		*,AR1

		POINT_B0
		SPLK	#00C0h, GPR0			;Set 1 wait states for I/O space
		OUT		GPR0, WSGR

		POINT_PF1 
   
		.if (x4_PLL)  
    	SPLK	#0085h, SCSR1			;x4 PLL, ADC en, EV1 en,
;clr Ill Addr flg         
		.endif 
 
    	.if (x2_PLL)  
    	SPLK	#0285h, SCSR1			;x2 PLL, ADC en, EV1 en, 
;clr Ill Addr flg
		.endif 
        
	;Comment out if WD is to be active
		SPLK	#006Fh, WD_CNTL 		;Disable WD if VCCP=5V
		KICK_DOG
		RET
	.endif
;-----------------------------------

⌨️ 快捷键说明

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