📄 reshuiqibak2.asm
字号:
.listinclude
INCLUDE HT46R48.INC
INCLUDE MEMORY.ASM
;;********************************
;IDE Version : ver 6.6 sp5
;Program:ht46r48.prj
;Program Version
;Established Date 2006/8/15
;Programmer:lxp
;Mcu body: Ht46r48
;;-------MASK OPTION----------------
;FSYS : cystal 4Mhz
;Vdd : 5v
;Wake_up : Non_wake up
;Pull_high :PA Pull_high,Pb Non pull_high,pd pull high
;20 DIP ;PC no use
;Wdt :enable
;Clr wdt:one clear Insruction
;Wdt Source:Wdtosc
;Pa3:enable Pfd
;Pd0:Disbale pwm
;Lvr:disable
;;**********************************
CODE_MAIN .SECTION AT 00H 'CODE'
NOP
JMP MLP_MAIN
ORG 04H
RETI
ORG 08H
JMP ISR_TIMER
ORG 0CH
RETI
MLP_MAIN:
SZ TO
JMP L_WARM_RESTART
L_COOL_RESTART:
CALL INI_RAM
CALL INITIAL_IOS
CALL SBR_SOUND3S
SNZ PB.3
JMP L_POLLING_EVENT
SET F_FAILURE
SET F_WATER_STREAM
MOV A,0A0H
MOV R_TEMP[2],A
JMP L_POLLING_EVENT
L_WARM_RESTART:
MOV A,R_NORMAL_FLAG1
XOR A,55H
SNZ Z
JMP L_COOL_RESTART
MOV A,R_NORMAL_FLAG2
XOR A,0AAH
SNZ Z
JMP L_COOL_RESTART
;;-----------------------
L_POLLING_EVENT:
CLR WDT
CALL SBR_SOUNDOPEN
CALL SBR_SHOWPROCEDURE
CALL SBR_WATERSWICH_CHECK
SZ ACC
JMP L_POLLING_EVENT
MOV A,R_PROGRAMCNT
AND A,0FH
ADDM A,PCL
JMP L_PROCEDURE0
JMP L_PROCEDURE1
JMP L_PROCEDURE2
JMP L_PROCEDURE3
JMP L_PROCEDURE4
JMP L_PROCEDURE5
JMP L_PROCEDURE6
JMP L_PROCEDURE7
JMP L_PROCEDURE8
JMP L_PROCEDURE9
JMP L_PROCEDURE10
JMP L_PROCEDURE11
CLR R_PROGRAMCNT
JMP L_POLLING_EVENT
;;-----------------
;;TETEMPERATURE CALCULA&LED SHOW PROCE
SBR_SHOWPROCEDURE:
SNZ F_5MS
RET
CLR F_5MS
SNZ F_FAILURE
CALL SBR_MAN_AVG
CALL SBR_SHOW_LED
RET
;;---------CHECK WATER SWICH------------------
SBR_WATERSWICH_CHECK:
SZ PB.3 ;;
JMP L_OPEN_WATER
L_CLOSE_WATER:
CLR F_FAILURE
CLR F_FLAME
CLR F_WATER_STREAM
SZ F_GASGATEOPEN ;;CHECK GAS GATE FLAG
RET A,0
CLR P_CSB_PD0
CLR R_PROGRAMCNT ;;COLSE WATCH
RET A,1
L_OPEN_WATER:
SET F_WATER_STREAM
SNZ F_FAILURE
RET A,0
SZ F_GASGATEOPEN
RET A,0
RET A,1
;;---------------------------------------
L_NORMAL_WORK:
CLR R_TIMER_COUNTER3
CLR R_TIMER_COUNTER4
INC R_PROGRAMCNT
JMP L_POLLING_EVENT
L_PROCEDURE0:
SNZ PB.1 ;;feng ya switch if close
JMP L_NORMAL_WORK ;;no clise
SET F_FAILURE ;;already close
MOV A,0A7H
MOV R_TEMP[2],A
CLR R_PROGRAMCNT
JMP L_POLLING_EVENT
;------------------------------------------
L_PROCEDURE1:
SET P_CSB_PD0 ;fan open 2S
SNZ F_5000US ;
JMP L_POLLING_EVENT
CLR F_5000US
INC R_TIMER_COUNTER3
MOV A,R_TIMER_COUNTER3
XOR A,64H
SNZ Z
JMP L_POLLING_EVENT
CLR R_TIMER_COUNTER3
INC R_TIMER_COUNTER4
MOV A,R_TIMER_COUNTER4
XOR A,4H
SNZ Z
JMP L_POLLING_EVENT ;;DELAY 100*5MS*4=2S
JMP L_NORMAL_WORK
;;----------------------------------------------
L_PROCEDURE2: ;;6S check feng ya switch if close
SZ PB.1
JMP L_NORMAL_WORK ;;alread close
SNZ F_5000US ;
JMP L_POLLING_EVENT
CLR F_5000US
INC R_TIMER_COUNTER3
MOV A,R_TIMER_COUNTER3
XOR A,64H
SNZ Z
JMP L_POLLING_EVENT
CLR R_TIMER_COUNTER3
INC R_TIMER_COUNTER4
MOV A,R_TIMER_COUNTER4
XOR A,12
SNZ Z ;;100*5MS*12=6S
JMP L_POLLING_EVENT
CLR R_TIMER_COUNTER3
CLR R_TIMER_COUNTER4
SET F_FAILURE
MOV A,0A6H
MOV R_TEMP[2],A
CLR P_CSB_PD0
CLR R_PROGRAMCNT
JMP L_POLLING_EVENT
;;----------------------------------------
L_PROCEDURE3: ;check if sparcle signal
SZ PB.4
JMP L_NORMAL_WORK
SET F_FAILURE ;have sparcle display E1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -