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

📄 ledshow.asm

📁 本款强排式热水器采用&#1049307 &#1049346 &#1049343 &#1049351 &#1049336 &#1049342 &#1049267 &#1049307 &#1049319
💻 ASM
字号:
;;***********************************
  ; RAM   6BYTE,3BIT, R_TEMP[1,2,3,),
  ; STACK 1
  ; WDT ENABLE 
  ; TIMER 0
  ; INTERRUPT 0
  ; PORT 5
  ; INPUT 0
  ; OUTPUT 5 (PB5,PA4,PA5,PA6,PA7)
  ;; LED SCAN 1000/5ms*3=66.6HZ, 
  ; MAX RUNTIMER:136CYCLE(4MHZ)
;;************************************ 
ORG 200H
SBR_SHOW_LED:
         INC R_COUNTER
         MOV A,R_COUNTER
         AND A,03H
         ADDM A,PCL 
         JMP L_SHOW_COM1
         JMP L_SHOW_COM2
         JMP L_SHOW_COM3
         CLR R_COUNTER
   L_SHOW_COM1:
         SET P_COM3_PA7
         MOV A,R_TEMP[2]
         SWAP ACC
         AND A,0FH
         ADD A,LOW T_LED_TABLE
         MOV TBLP,A
         TABRDC R_TEMP[1]
         CALL SBR_WRITE
         SZ F_TEMPERATURE_EEOR
         JMP  L_MN0
         SNZ  F_FAILURE  
         JMP  L_NORMAL_SHOWH
      L_MN0:
         SNZ  F_500MS
         JMP  L_NORMAL_SHOWH     
         SET  P_COM1_PA5
         RET
 L_NORMAL_SHOWH:    
         CLR P_COM1_PA5
         RET
;;;;;;;;;;;;;;;;;;;;
  L_SHOW_COM2:
        SET P_COM1_PA5
        MOV A,R_TEMP[2]
        AND A,0FH
        ADD A,LOW T_LED_TABLE
        MOV TBLP,A
        TABRDC R_TEMP[1]
        CALL SBR_WRITE
        SZ F_TEMPERATURE_EEOR
        JMP  L_MN1
        SNZ   F_FAILURE  
        JMP  L_NORMAL_SHOWL
    L_MN1:
        SNZ  F_500MS
        JMP  L_NORMAL_SHOWL    
        SET  P_COM2_PA6
        RET
 L_NORMAL_SHOWL:    
        CLR P_COM2_PA6
        RET
;;;;;;;;;;;;;;;;;;;;;;;
 L_SHOW_COM3:
       SET P_COM2_PA6
       INC R_COUNTER1
       MOV A,R_COUNTER1
       XOR A,20            ;;50*10MS=500 shui speed 
       SNZ Z
       JMP L_MN2 
       CLR R_COUNTER1
       INC R_COUNTER2
    L_MN2:
       SNZ  F_WATER_STREAM
       JMP  L_OFF_WATER_SWICH
       MOV  A,R_COUNTER2
       AND  A,03H
       ADDM A,PCL 
       JMP  L_MP1
       JMP  L_MP2
       JMP  L_MP3
       CLR  R_COUNTER2
       JMP  L_SHOW_COM3
  L_MP1:
       MOV A,67H
       JMP L_JUDGE_flame_FALG
  L_MP2:
       MOV A,57H
       JMP L_JUDGE_flame_FALG
  L_MP3:  
       MOV A,37H
       JMP L_JUDGE_flame_FALG
  L_OFF_WATER_SWICH:
       MOV A,0FFH 
  L_JUDGE_flame_FALG:
       MOV R_TEMP[3],A
       SNZ  F_FLAME 
       JMP L_OFF_flame
       MOV A,R_COUNTER2
       AND A,03H
       ADDM A,PCL 
       JMP  L_MP4
       JMP  L_MP5
  L_MP4:
       CLR R_TEMP[3].1
       JMP L_OFF_flame
  L_MP5:
       CLR R_TEMP[3].2
  L_OFF_flame:
       SZ  F_TEMPERATURE_EEOR
       JMP L_MP6
       SZ  F_FAILURE 
       JMP L_MP6
       CLR R_TEMP[3].0
     L_MP6:
       MOV A,R_TEMP[3]
       MOV R_TEMP[1],A
       CALL SBR_WRITE
       CLR P_COM3_PA7
       RET
;;;;;;;;;;;;;;;;;;;;;
  SBR_WRITE:
      MOV A,08H
      MOV R_TEMP[0],A
  L_WRITE_L00P:
      CLR P_CLK_PA4
      NOP
      NOP
      NOP
      SET P_CLK_PA4
      SZ  R_TEMP[1].0
      JMP L_WRITE1
      JMP L_WRITE2
   L_WRITE1:
      SET P_DATA_PB5
      JMP L_WRITE3
   L_WRITE2:
      CLR P_DATA_PB5
   L_WRITE3:
      RR  R_TEMP[1]
      SDZ R_TEMP[0]
      JMP L_WRITE_L00P
      SET P_CLK_PA4
      RET
  T_LED_TABLE:
     dc 01h   ;;0
     dc 0cfh  ;;1
     dc 12h   ;;2
     dc 06h   ;;3
     dc 4ch   ;;4
     dc 24h   ;;5
     dc 20h   ;;6
     dc 0fh   ;;7
     dc 00h   ;;8
     dc 04h   ;;9
     dc 30h   ;;e
     dc 09h   ;;n

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -