⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reshuiqibak2.asm

📁 本款强排式热水器采用&#1049307 &#1049346 &#1049343 &#1049351 &#1049336 &#1049342 &#1049267 &#1049307 &#1049319
💻 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 + -