📄 init_sys.asm
字号:
;===============================================
; Function:CleanRam()
;===============================================
CleanRam:
mov A,@0x10
mov R4,A
Loop:
; clr R0 ==> [R4]=0
clr R0
inc R4
mov A,R4
bc FLAG,@Z
xor A,@0xc0
sub A,@0x30
jbs FLAG,@Z
jmp Loop
ret
;===============================================
; Function:Init_Ioport()设置端口状态
;===============================================
Init_Ioport:
clr P5
clr P6
clra
iow P5CON
mov a,@0x01
iow P6CON
ret
;===============================================
; Function:Init_Con_reg()初始化控制寄存器
;===============================================
Init_Con_reg:
;禁止看门狗
;wdtc
mov a,@0000001B ;f/4
contw
mov a,@230d
mov TIME_COUNT,a
;----------------------------------------------
;计数中断使能
;bc INT_STATU,@TC_FLAG_BIT
bs INT_STATU,@TC_FLAG_BIT
ior INT_MAST
mov A_buff,a
;bc A_buff,@TC_FLAG_BIT
bs A_buff,@TC_FLAG_BIT
mov a,A_buff
iow INT_MAST
;----------------------------------------------
;外部中断使能
;bc INT_STATU,@EX_FLAG_BIT
bs INT_STATU,@EX_FLAG_BIT
ior INT_MAST
mov A_buff,a
;bc A_buff,@EX_FLAG_BIT
bs A_buff,@EX_FLAG_BIT
mov a,A_buff
iow INT_MAST
ior WTDCON
mov A_buff,a
bs A_buff,@0x06
mov a,A_buff
iow WTDCON
;----------------------------------------------
;脚位变化中断
;bs INT_STATU,@P6_FLAG_BIT
bc INT_STATU,@P6_FLAG_BIT
ior INT_MAST
;bs A_buff,@P6_FLAG_BIT
mov A_buff,a
bc A_buff,@P6_FLAG_BIT
mov a,A_buff
iow INT_MAST
;----------------------------------------------
ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -