📄 init_sys.asm
字号:
;===============================================
; Function:CleanRam()
;===============================================
CleanRam:
MOV A,@0x10
MOV R4,A
Loop:
; CLR R0 ==> [R4]=0
CLR R0
INC R4
MOV A,R4
OR A,@0B11000000
BC FLAG,Z
XOR A,@0xF0
JBS FLAG,Z
JMP Loop
RET
;===============================================
; Function:Init_Ioport()设置端口状态
;===============================================
Init_Ioport:
clra
iow P5CON
mov a,@0x01
iow P6CON
mov a,@0x0
mov P5,a
mov a,@0x0
mov P6,a
nop
;P5 and P6 Pull Down.
mov A, @0B00000000
iow IOCB
;P6 mask switch
mov A, @0B00000000
iow IOCC
mov A, @0x00
iow IOCD
ret
;===============================================
; Function:Init_Con_reg()初始化控制寄存器
;===============================================
Init_Con_reg:
;禁止看门狗
wdtc
ior WTDCON ;禁止持门狗
mov A_buff,a
bc A_buff,@0x07
mov a,A_buff
iow WTDCON
mov a,@0001110B ;f/4
contw
mov a,@0
mov TIME_COUNT,a
;----------------------------------------------
;计数中断使能
bc 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
bc A_buff,@0x06
mov a,A_buff
iow WTDCON
;----------------------------------------------
;脚位变化中断
bc INT_STATU,@P6_FLAG_BIT
ior INT_MAST
mov A_buff,a
bs A_buff,@P6_FLAG_BIT
;bc A_buff,@P6_FLAG_BIT
mov a,A_buff
iow INT_MAST
;----------------------------------------------
ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -