📄 ledopt.asm
字号:
.copy "LF2407.h"
.copy "llasm.asm"
.def _LedOptOut
.def _delay104us ;for sim serial
.def _delay52us ;for sim serial
.def _delay26us ;for sim serial
.def _delay34us ;for sim serial
.def _delay17us ;for sim serial
; .def _Delay_150_Nano_Seconds ;for flash
.def _Delay_100_Milli_Seconds ;for cpu rest delay
.def _mutiBlockWrDelay
.def _rfDelay20ms
.ref _ledVlu ;for led and opt
SAVE_AR11 .set 2f0H
;;;;;;;;;;;;;;;;;;;;;;;;;
_LedOptOut:
POPD *+
SAR AR0,*+
SAR AR2,*+
SAR AR3,*+
SAR AR4,*+
SAR AR5,*+
SAR AR6,*+
SAR AR7,*+
SAR AR1,*
ldp #5h
SAR AR1,SAVE_AR11
;---------------------
LDP #DP_PF2
LACL PCDATDIR
OR #4040H ;CLR设置为1
SACL PCDATDIR
;---------------------
LACL PDDATDIR
AND #0FFFEH
SACL PDDATDIR;CLK设置为0
;---------------------
RPT #80
NOP
LAR AR2,#_ledVlu
MAR *,AR2
LACL *
LDP #100H
SACL 8001H
NOP
NOP
;----------------------
LDP #DP_PF2
LACL PDDATDIR
OR #0001H ;CLK设置为1
SACL PDDATDIR
;----------------------
ldp #5h
LAR AR1,SAVE_AR11
MAR *,AR1
SBRK #01H
LAR AR7,*-
LAR AR6,*-
LAR AR5,*-
LAR AR4,*-
LAR AR3,*-
LAR AR2,*-
LAR AR0,*-
PSHD *
ret
;;;;;;;;;;;;;;;;;;;;;;;;;
_delay104us:
POPD *+
SAR AR0,*+
SAR AR2,*+
SAR AR3,*+
SAR AR4,*+
SAR AR5,*+
SAR AR6,*+
SAR AR7,*+
SAR AR1,*
ldp #5h
SAR AR1,SAVE_AR11
ldp #0
;splk #4158,60h
splk #4125,60h
rpt 60h
nop
ldp #5h
LAR AR1,SAVE_AR11
MAR *,AR1
SBRK #01H
LAR AR7,*-
LAR AR6,*-
LAR AR5,*-
LAR AR4,*-
LAR AR3,*-
LAR AR2,*-
LAR AR0,*-
PSHD *
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
_delay52us:
POPD *+
SAR AR0,*+
SAR AR2,*+
SAR AR3,*+
SAR AR4,*+
SAR AR5,*+
SAR AR6,*+
SAR AR7,*+
SAR AR1,*
ldp #5h
SAR AR1,SAVE_AR11
ldp #0
;splk #2078,60h
splk #2043,60h
rpt 60h
nop
ldp #5h
LAR AR1,SAVE_AR11
MAR *,AR1
SBRK #01H
LAR AR7,*-
LAR AR6,*-
LAR AR5,*-
LAR AR4,*-
LAR AR3,*-
LAR AR2,*-
LAR AR0,*-
PSHD *
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
_delay26us:
POPD *+
SAR AR0,*+
SAR AR2,*+
SAR AR3,*+
SAR AR4,*+
SAR AR5,*+
SAR AR6,*+
SAR AR7,*+
SAR AR1,*
ldp #5h
SAR AR1,SAVE_AR11
ldp #0
;splk #1038,60h
splk #1005,60h
rpt 60h
nop
ldp #5h
LAR AR1,SAVE_AR11
MAR *,AR1
SBRK #01H
LAR AR7,*-
LAR AR6,*-
LAR AR5,*-
LAR AR4,*-
LAR AR3,*-
LAR AR2,*-
LAR AR0,*-
PSHD *
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;_Delay_150_Nano_Seconds:
; rpt #5
; nop
; ret
;;;;;;;;;;;;;;;;;;;;;;;;;
_delay34us:
POPD *+
SAR AR0,*+
SAR AR2,*+
SAR AR3,*+
SAR AR4,*+
SAR AR5,*+
SAR AR6,*+
SAR AR7,*+
SAR AR1,*
ldp #5h
SAR AR1,SAVE_AR11
ldp #0
;splk #1385,60h
splk #1352,60h
rpt 60h
nop
ldp #5h
LAR AR1,SAVE_AR11
MAR *,AR1
SBRK #01H
LAR AR7,*-
LAR AR6,*-
LAR AR5,*-
LAR AR4,*-
LAR AR3,*-
LAR AR2,*-
LAR AR0,*-
PSHD *
ret
;;;;;;;;;;;;;;;;;;;;;;;;;
_delay17us:
POPD *+
SAR AR0,*+
SAR AR2,*+
SAR AR3,*+
SAR AR4,*+
SAR AR5,*+
SAR AR6,*+
SAR AR7,*+
SAR AR1,*
ldp #5h
SAR AR1,SAVE_AR11
ldp #0
;splk #691,60h
splk #658,60h
rpt 60h
nop
ldp #5h
LAR AR1,SAVE_AR11
MAR *,AR1
SBRK #01H
LAR AR7,*-
LAR AR6,*-
LAR AR5,*-
LAR AR4,*-
LAR AR3,*-
LAR AR2,*-
LAR AR0,*-
PSHD *
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;
_Delay_100_Milli_Seconds:
POPD *+
SAR AR0,*+
SAR AR2,*+
SAR AR3,*+
SAR AR4,*+
SAR AR5,*+
SAR AR6,*+
SAR AR7,*+
SAR AR1,*
ldp #5h
SAR AR1,SAVE_AR11
;------------------------
ldp #0
splk #0ffffh,60h ;1.6384ms
lar ar2,#59 ;(1.6384+0.050)ms*60 = 100ms
mar *,ar2
loop2:
rpt 60h
nop
banz loop2 ;ar0!=0 to loop2,ar0=(ar0)-1
;------------------------------
ldp #5h
LAR AR1,SAVE_AR11
MAR *,AR1
SBRK #01H
LAR AR7,*-
LAR AR6,*-
LAR AR5,*-
LAR AR4,*-
LAR AR3,*-
LAR AR2,*-
LAR AR0,*-
PSHD *
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
_mutiBlockWrDelay:
POPD *+
SAR AR0,*+
SAR AR2,*+
SAR AR3,*+
SAR AR4,*+
SAR AR5,*+
SAR AR6,*+
SAR AR7,*+
SAR AR1,*
ldp #5h
SAR AR1,SAVE_AR11
;---------------------------
LAR AR2,#1538 ;10ms
dd: RPT #0FFH
NOP
MAR *,AR2
BANZ dd
;------------------------------
ldp #5h
LAR AR1,SAVE_AR11
MAR *,AR1
SBRK #01H
LAR AR7,*-
LAR AR6,*-
LAR AR5,*-
LAR AR4,*-
LAR AR3,*-
LAR AR2,*-
LAR AR0,*-
PSHD *
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
_rfDelay20ms:
POPD *+
SAR AR0,*+
SAR AR2,*+
SAR AR3,*+
SAR AR4,*+
SAR AR5,*+
SAR AR6,*+
SAR AR7,*+
SAR AR1,*
ldp #5h
SAR AR1,SAVE_AR11
;------------------------------
LAR AR2,#3076 ;20ms
dd15ms:
RPT #0FFH
NOP
MAR *,AR2
BANZ dd15ms
;------------------------------
ldp #5h
LAR AR1,SAVE_AR11
MAR *,AR1
SBRK #01H
LAR AR7,*-
LAR AR6,*-
LAR AR5,*-
LAR AR4,*-
LAR AR3,*-
LAR AR2,*-
LAR AR0,*-
PSHD *
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -