📄 sys_init.asm
字号:
;===========================================================================
; 文件名: Sys_init.asm
;
; 模块名: SYS_INIT
;
; 功能描述: 初始化 F24xx 设备
;
; 公司: 达盛科技
;
; 修改记录:
;
; 最后更新日期: 2005.7.29
;===========================================================================
.include x24x_app.h
.def SYS_INIT
.ref GPR0
stack_size .set 20h
stack_start .usect "stack",stack_size
SYS_INIT:
POINT_PG0
SETC INTM ;禁止中断
SPLK #0h, IMR ;屏蔽中断申请
SPLK #0FFh, IFR ;清除中断标志
;复位后初始化PDP中断标志
LDP #PIRQR0>>7
LACC PIRQR0 ; 清除未决的 PDP 标志
AND #0FFFEh
SACL PIRQR0
LACC PIRQR2 ; 清除未决的 PDP 标志
AND #0FFFEh
SACL PIRQR2
LDP #MCRB>>7
;SPLK #0FE3FH,MCRB
LACC MCRB
OR #003CH
SACL MCRB
POINT_EV
LACC EVAIFRA ; 清除 PDPINTA 标志
OR #0001h
SACL EVAIFRA
LDP #EVBIFRA>>7
LACC EVBIFRA ; 清除 PDPINTB 标志
OR #0001h
SACL EVBIFRA
POINT_PG0
CLRC SXM ; 禁止符号扩展
CLRC OVM ; 复位溢出标志
CLRC CNF ; 将 B0 块设置为 Data mem.
SPM 0
LAR AR1, #stack_start ;初始化软件堆栈指针
MAR *,AR1
POINT_B0
SPLK #00C0h, GPR0 ;设置1 I/O 空间等待状态
OUT GPR0, WSGR
POINT_PF1
.if (x4_PLL)
SPLK #00A5h, SCSR1 ; x4 PLL, 使能ADC, 使能EV1, 清无效地址标志
.endif
.if (x2_PLL)
SPLK #02A5h, SCSR1 ; x2 PLL, 使能ADC, 使能EV1, 清无效地址标志
.endif
;Comment out if WD is to be active
SPLK #006Fh, WD_CNTL ;如果 VCCP=5V则禁止WD
KICK_DOG
RET
;-----------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -