📄 tmr1_isr.asm
字号:
#include HT45RM03A.inc
#include macro.inc
#include ElecBikeConstant.inc
public F_modechangeok
public F_xunche
public tmr1_isr
public R_LastData
public F_alarm
public F_bikestate
extern R_dataepprom:byte
extern F_ReadEppromOKF:bit
extern ERERROR:near
isrdata .section 'data'
F_bikestate dbit
F_modechangeok dbit
F_PTmp dbit
F_alarm dbit
F_xunche dbit
R_Data db ?
R_addr db ?
R_TL db ?
R_TH db ?
R_Pilot db ?
R_Section db ?
R_Syc db ?
R_AL db ?
R_AH db ?
R_LastData db ?
R_alarm db ?
extern isr_acc0:byte
extern isr_status0:byte
isrcode .section 'code'
tmr1_isr:
mov isr_acc0,a
mov a,status
mov isr_status0,a
clr wdt
check_P_REP:
snz P_RFPin ;
jmp tmr1_isr1
jmp tmr1_isr2
tmr1_isr1:
clr F_Ptmp
jmp check_P_alarm
tmr1_isr2:
set F_PTmp
sz F_bikestate
jmp tmr1_Loop
check_P_alarm:
snz P_alarm
jmp check_p_alarm_low
jmp check_p_alarm_high
check_p_alarm_low:
inc R_alarm
mov a,R_alarm
xor a,70 ;70*100us=7ms
snz z
jmp tmr1_Loop
set F_alarm
clr R_alarm
jmp RETI_END
check_p_alarm_high:
clr R_alarm
tmr1_Loop:
clr wdt
mov a,R_Section
addm a,pcl
jmp pilot
jmp syc
jmp addr0
jmp addr1
jmp addr2
jmp addr3
jmp addr4
jmp addr5
jmp addr6
jmp addr7
jmp data0
jmp data1
jmp data2
jmp data3
jmp last
pilot:
clr wdt
sz F_PTmp
jmp inital
inc R_Pilot
mov a,R_Pilot
sub a,C_Minpilot
snz c
jmp RETI_END
clr R_Pilot
mov a,1
mov R_Section,a
jmp RETI_END
syc:
clr wdt
snz F_PTmp
jmp RETI_END
inc R_Syc
mov a,R_Syc
sub a,C_MinSyc
snz c
jmp RETI_END
mov a,2
mov R_Section,a
jmp RETI_END
;-------------------------------------------------------------------------
addr0:
clr wdt
mov a,R_TL
xor a,00h
sz z
jmp a1 ;
jmp a2
a1:
clr wdt
snz F_PTmp
jmp a11
jmp a12
a11:
clr wdt
inc R_TL
jmp RETI_END
a12:
clr wdt
inc R_Syc
mov a,R_Syc
sub a,C_MaxSyc
sz c
jmp inital
jmp RETI_END
a2:
clr wdt
snz F_PTmp
jmp a21
jmp a22
a21:
clr wdt
inc R_TL
jmp RETI_END
a22:
clr wdt
inc R_TH
mov a,3
mov R_Section,a
mov a,R_TL
mov R_AL,a
clr R_TL
jmp RETI_END
;---------------------------------------------------------------
addr1:
clr wdt
mov a,R_TL
xor a,00h
sz z
jmp b1 ;
jmp b2
b1:
clr wdt
snz F_PTmp
jmp b11
jmp b12
b11:
clr wdt
inc R_TL
mov a,R_TH
mov R_AH,a
clr R_TH
mov a,R_AL
add a,R_AH
sub a,C_CMin
snz C
jmp inital
sub a,C_CMax
sz C
jmp inital
mov a,R_AL
sub a,R_AH
snz c
jmp b111
jmp b112
b111:
clr wdt
clr R_addr.0
clr R_AL
clr R_AH
jmp RETI_END
b112:
clr wdt
set R_addr.0
clr R_AL
clr R_AH
jmp RETI_END
b12:
clr wdt
inc R_TH
jmp RETI_END
b2:
clr wdt
snz F_PTmp
jmp b21
jmp b22
b21:
clr wdt
inc R_TL
jmp RETI_END
b22:
clr wdt
inc R_TH
mov a,4
mov R_Section,a
mov a,R_TL
mov R_AL,a
clr R_TL
jmp RETI_END
;----------------------------------------------------------------
addr2:
clr wdt
mov a,R_TL
xor a,00h
sz z
jmp c1 ;
jmp c2
c1:
clr wdt
snz F_PTmp
jmp c11
jmp c12
c11:
clr wdt
inc R_TL
mov a,R_TH
mov R_AH,a
clr R_TH
mov a,R_AL
add a,R_AH
sub a,C_CMin
snz C
jmp inital
sub a,C_CMax
sz C
jmp inital
mov a,R_AL
sub a,R_AH
snz c
jmp c111
jmp c112
c111:
clr wdt
clr R_addr.1
clr R_AL
clr R_AH
jmp RETI_END
c112:
clr wdt
set R_addr.1
clr R_AL
clr R_AH
jmp RETI_END
c12:
clr wdt
inc R_TH
jmp RETI_END
c2:
clr wdt
snz F_PTmp
jmp c21
jmp c22
c21:
clr wdt
inc R_TL
jmp RETI_END
c22:
clr wdt
inc R_TH
mov a,5
mov R_Section,a
mov a,R_TL
mov R_AL,a
clr R_TL
jmp RETI_END
;----------------------------------------------------------------
addr3:
clr wdt
mov a,R_TL
xor a,00h
sz z
jmp d1 ;
jmp d2
d1:
clr wdt
snz F_PTmp
jmp d11
jmp d12
d11:
clr wdt
inc R_TL
mov a,R_TH
mov R_AH,a
clr R_TH
mov a,R_AL
add a,R_AH
sub a,C_CMin
snz C
jmp inital
sub a,C_CMax
sz C
jmp inital
mov a,R_AL
sub a,R_AH
snz c
jmp d111
jmp d112
d111:
clr wdt
clr R_addr.2
clr R_AL
clr R_AH
jmp RETI_END
d112:
set R_addr.2
clr R_AL
clr R_AH
jmp RETI_END
d12:
clr wdt
inc R_TH
jmp RETI_END
d2:
clr wdt
snz F_PTmp
jmp d21
jmp d22
d21:
clr wdt
inc R_TL
jmp RETI_END
d22:
clr wdt
inc R_TH
mov a,6
mov R_Section,a
mov a,R_TL
mov R_AL,a
clr R_TL
jmp RETI_END
;----------------------------------------------------------------
addr4:
clr wdt
mov a,R_TL
xor a,00h
sz z
jmp e1 ;
jmp e2
e1:
clr wdt
snz F_PTmp
jmp e11
jmp e12
e11:
clr wdt
inc R_TL
mov a,R_TH
mov R_AH,a
clr R_TH
mov a,R_AL
add a,R_AH
sub a,C_CMin
snz C
jmp inital
sub a,C_CMax
sz C
jmp inital
mov a,R_AL
sub a,R_AH
snz c
jmp e111
jmp e112
e111:
clr wdt
clr R_addr.3
clr R_AL
clr R_AH
jmp RETI_END
e112:
clr wdt
set R_addr.3
clr R_AL
clr R_AH
jmp RETI_END
e12:
clr wdt
inc R_TH
jmp RETI_END
e2:
clr wdt
snz F_PTmp
jmp e21
jmp e22
e21:
clr wdt
inc R_TL
jmp RETI_END
e22:
clr wdt
inc R_TH
mov a,7
mov R_Section,a
mov a,R_TL
mov R_AL,a
clr R_TL
jmp RETI_END
;----------------------------------------------------------------
addr5:
clr wdt
mov a,R_TL
xor a,00h
sz z
jmp f1 ;
jmp f2
f1:
clr wdt
snz F_PTmp
jmp f11
jmp f12
f11:
clr wdt
inc R_TL
mov a,R_TH
mov R_AH,a
clr R_TH
mov a,R_AL
add a,R_AH
sub a,C_CMin
snz C
jmp inital
sub a,C_CMax
sz C
jmp inital
mov a,R_AL
sub a,R_AH
snz c
jmp f111
jmp f112
f111:
clr wdt
clr R_addr.4
clr R_AL
clr R_AH
jmp RETI_END
f112:
clr wdt
set R_addr.4
clr R_AL
clr R_AH
jmp RETI_END
f12:
clr wdt
inc R_TH
jmp RETI_END
f2:
clr wdt
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -