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

📄 auto10.asm

📁 应用于电力控制领域的基于PIC单片机的原代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
    
    MOVF   IBL,W
    ANDLW  0FH    
    MOVWF  DIS2

    MOVLW  1CH
    MOVWF  DIS1
    RETURN   
NINE:
    MOVF   DISID,W
    SUBLW  08H
    BTFSS  STATUS,Z
    GOTO   TEN
    MOVLW  00H
    MOVWF  DIS8
    MOVLW  8 
    MOVWF  DIS7
    MOVLW  1A
    MOVWF  DIS6
    MOVWF  DIS5     
    MOVF   ICH,W
    ANDLW  0FH
    MOVWF  DIS4
    
    SWAPF  ICL,W
    ANDLW  0FH
    MOVWF  DIS3
    
    MOVF   ICL,W
    ANDLW  0FH    
    MOVWF  DIS2

    MOVLW  1CH
    MOVWF  DIS1
    RETURN   
TEN
    MOVF   DISID,W
    SUBLW  09H
    BTFSS  STATUS,Z
    GOTO   eleven
    MOVLW  00H
    MOVWF  DIS8
    MOVLW  9
    MOVWF  DIS7
    MOVLW  1A
    MOVWF  DIS6
    MOVWF  DIS5     
    BTFSC  FAG0,4
    GOTO   SETDIS
    SWAPF  TIME1,W
    ANDLW  0FH
    MOVWF  DIS4
    MOVF   TIME1,W
    ANDLW  0FH
    ADDLW  10H
    MOVWF  DIS3
    SWAPF  MIN1,W
    ANDLW  0FH
    MOVWF  DIS2
    MOVF   MIN1,W
    ANDLW  0FH
    MOVWF  DIS1
    RETURN  
eleven
    MOVF   DISID,W
    SUBLW  0aH
    BTFSS  STATUS,Z
    GOTO   twelve
    MOVLW  1H
    MOVWF  DIS8
    MOVLW  0h
    MOVWF  DIS7
    MOVLW  1A
    MOVWF  DIS6
    MOVWF  DIS5     
    BTFSC  FAG0,4
    GOTO   SETDIS
    SWAPF  TIME2,W
    ANDLW  0FH
    MOVWF  DIS4
    MOVF   TIME2,W
    ANDLW  0FH
    ADDLW  10H
    MOVWF  DIS3
    SWAPF  MIN2,W
    ANDLW  0FH
    MOVWF  DIS2
    MOVF   MIN2,W
    ANDLW  0FH
    MOVWF  DIS1
    RETURN
twelve
    MOVF   DISID,W
    SUBLW  0bH
    BTFSS  STATUS,Z
    GOTO   thirteen
    MOVLW  1H
    MOVWF  DIS8
    MOVLW  1h
    MOVWF  DIS7
    MOVLW  1A
    MOVWF  DIS6
    MOVWF  DIS5     
    BTFSC  FAG0,4
    GOTO   SETDIS
    SWAPF  TIME3,W
    ANDLW  0FH
    MOVWF  DIS4
    MOVF   TIME3,W
    ANDLW  0FH
    ADDLW  10H
    MOVWF  DIS3
    SWAPF  MIN3,W
    ANDLW  0FH
    MOVWF  DIS2
    MOVF   MIN3,W
    ANDLW  0FH
    MOVWF  DIS1
    RETURN  
thirteen:
    MOVF   DISID,W
    SUBLW  0CH
    BTFSS  STATUS,Z
    GOTO   fourteen    ;
    MOVLW  1H
    MOVWF  DIS8
    MOVLW  2h
    MOVWF  DIS7
    MOVLW  1A
    MOVWF  DIS6
    MOVWF  DIS5
    BTFSC  FAG0,4
    GOTO   SETDIS
    SWAPF  TIME4,W       ;ADRH
    ANDLW  0FH
    MOVWF  DIS4
    MOVF   TIME4,W
    ANDLW  0FH
    MOVWF  DIS3
    SWAPF  MIN4,W       ;ADRL
    ANDLW  0FH
    MOVWF  DIS2
    MOVF   MIN4,W
    ANDLW  0FH
    MOVWF  DIS1
    RETURN  
fourteen:
DISPOFF:
    MOVLW  1AH
    MOVWF  DIS8
    MOVWF  DIS7
    MOVWF  DIS4
    MOVWF  DIS3
    MOVWF  DIS2
    MOVWF  DIS1
    RETURN


SETDIS0:
    MOVLW  2
    MOVWF  DIS4
    MOVLW  0
    MOVWF  DIS3
    MOVF   SET02,W
    MOVWF  DIS2
    MOVF   SET01,W
    MOVWF  DIS1
    RETURN    
SETDIS:
    MOVF   SET04,W
    MOVWF  DIS4
    MOVF   SET03,W
    ADDLW  10H
    MOVWF  DIS3
    MOVF   SET02,W
    MOVWF  DIS2
    MOVF   SET01,W
    MOVWF  DIS1
    RETURN    
;==========================================      
;   enter key  patrol
;==========================================
K101:
       BTFSS   KEY1
       GOTO    K102
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       BTFSS   KEY1
       GOTO    K103
       BCF     FAG0,0
       RETURN
K102:
       NOP
       NOP
       NOP
       NOP
       CALL    DELY1
       NOP
       NOP
       NOP
       NOP
       NOP
       BTFSS   KEY1
       GOTO    K103
       BCF     FAG0,0
       RETURN
K103:
       MOVLW   1
       MOVWF   STTIME
       BTFSS   FLAG3,0
       GOTO    K1030
       MOVLW   1
       MOVWF   DISID       
       BCF     FLAG3,0
       RETURN
K1030:       
       BTFSC   FAG0,0
       RETURN 
       BTFSC   FAG0,4
       CALL    SAVE
       BSF     FAG0,0 
       MOVF    DISID,W
       SUBLW   0CH
       BTFSS   STATUS,Z
       GOTO    K105
       MOVLW   00H
       MOVWF   DISID
       CLRF    TURN1
       RETURN
K105:
       INCF    DISID,F
       CLRF    TURN1
       RETURN
;-----------------------------
K201:                         ;SET KEYBOARD
       BTFSS   KEY2
       GOTO    K202
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       BTFSS   KEY2
       GOTO    K203
       BCF     FAG0,1
       RETURN
K202:
       NOP
       NOP
       NOP
       NOP
       CALL    DELY1
       NOP
       NOP
       BTFSS   KEY2
       GOTO    K203
       BCF     FAG0,1
       RETURN
K203:
       MOVLW   1
       MOVWF   STTIME
       BTFSS   FLAG3,0
       GOTO    K2030
       MOVLW   1
       MOVWF   DISID       
       BCF     FLAG3,0
       RETURN
K2030:
       BTFSC   FAG0,1
       RETURN 
       BSF     FAG0,1 
       BTFSC   FAG0,4
       GOTO    K204
       BSF     FAG0,4
       MOVLW   0
       MOVWF   DISID 
       MOVWF   TURN2
       
       BCF     FAG0,5
       SWAPF   YEARH,W
       ANDLW   0FH
       MOVWF   SET04
       MOVWF   NFBUF4
       
       MOVF    YEARH,W
       ANDLW   0FH
       MOVWF   SET03
       MOVWF   NFBUF3
       
       SWAPF   YEARL,W
       ANDLW   0FH
       MOVWF   SET02
       MOVWF   NFBUF2
       
       MOVF    YEARL,W
       ANDLW   0FH
       MOVWF   SET01
       MOVWF   NFBUF1
       RETURN
K204
       MOVF    DISID,W
       SUBLW   0
       BTFSS   STATUS,Z         
       GOTO    K205
       MOVLW   1
       MOVWF   DISID
       
       BCF     FAG0,5
       SWAPF   MONTH,W
       ANDLW   0FH
       MOVWF   SET04
       MOVWF   NFBUF4
       
       MOVF    MONTH,W
       ANDLW   0FH
       MOVWF   SET03
       MOVWF   NFBUF3
       
       SWAPF   DAY,W
       ANDLW   0FH
       MOVWF   SET02
       MOVWF   NFBUF2
       
       MOVF    DAY,W
       ANDLW   0FH
       MOVWF   SET01
       MOVWF   NFBUF1
       RETURN
K205
       MOVF    DISID,W
       SUBLW   1
       BTFSS   STATUS,Z         
       GOTO    K207
       MOVLW   2
       MOVWF   DISID
       
       BCF     FAG0,5
       SWAPF   TIME0,W
       ANDLW   0FH
       MOVWF   SET04
       MOVWF   NFBUF4
       
       MOVF    TIME0,W
       ANDLW   0FH
       MOVWF   SET03
       MOVWF   NFBUF3
       
       SWAPF   MIN0,W
       ANDLW   0FH
       MOVWF   SET02
       MOVWF   NFBUF2
       
       MOVF    MIN0,W
       ANDLW   0FH
       MOVWF   SET01
       MOVWF   NFBUF1
       RETURN
K207
       MOVF    DISID,W
       SUBLW   2
       BTFSS   STATUS,Z         
       GOTO    K208
       MOVLW   9
       MOVWF   DISID

       BCF     FAG0,5
       SWAPF   TIME1,W
       ANDLW   0FH
       MOVWF   SET04
       MOVWF   NFBUF4
       
       MOVF    TIME1,W
       ANDLW   0FH
       MOVWF   SET03
       MOVWF   NFBUF3
       
       SWAPF   MIN1,W
       ANDLW   0FH
       MOVWF   SET02
       MOVWF   NFBUF2
       
       MOVF    MIN1,W
       ANDLW   0FH
       MOVWF   SET01
       MOVWF   NFBUF1
       RETURN
K208
       MOVF    DISID,W
       SUBLW   9
       BTFSS   STATUS,Z         
       GOTO    K209
       MOVLW   0AH
       MOVWF   DISID
       
       BCF     FAG0,5
       SWAPF   TIME2,W
       ANDLW   0FH
       MOVWF   SET04
       MOVWF   NFBUF4
       
       MOVF    TIME2,W
       ANDLW   0FH
       MOVWF   SET03
       
       MOVWF   NFBUF3
       SWAPF   MIN2,W
       ANDLW   0FH
       MOVWF   SET02
       MOVWF   NFBUF2
       
       MOVF    MIN2,W
       ANDLW   0FH
       MOVWF   SET01
       MOVWF   NFBUF1
       RETURN
K209
       MOVF    DISID,W
       SUBLW   0AH
       BTFSS   STATUS,Z
       GOTO    K20A
       MOVLW   0BH
       MOVWF   DISID
 
       BCF     FAG0,5
       SWAPF   TIME3,W
       ANDLW   0FH
       MOVWF   SET04
       MOVWF   NFBUF4
 
       MOVF    TIME3,W
       ANDLW   0FH
       MOVWF   SET03
       MOVWF   NFBUF3
 
       SWAPF   MIN3,W
       ANDLW   0FH
       MOVWF   SET02
       MOVWF   NFBUF2

       MOVF    MIN3,W
       ANDLW   0FH
       MOVWF   SET01
       MOVWF   NFBUF1
       RETURN
K20A
       MOVF    DISID,W
       SUBLW   0BH
       BTFSS   STATUS,Z
       GOTO    K20B
       MOVLW   0CH
       MOVWF   DISID
 
       BCF     FAG0,5
       SWAPF   TIME4,W
       ANDLW   0FH
       MOVWF   SET04
       MOVWF   NFBUF4
 
       MOVF    TIME4,W
       ANDLW   0FH
       MOVWF   SET03
       MOVWF   NFBUF3
 
       SWAPF   MIN4,W
       ANDLW   0FH
       MOVWF   SET02
       MOVWF   NFBUF2

       MOVF    MIN4,W
       ANDLW   0FH
       MOVWF   SET01
       MOVWF   NFBUF1
       RETURN
K20B
       MOVF    DISID,W
       SUBLW   0CH
       BTFSS   STATUS,Z         
       GOTO    K20C
       MOVLW   0
       MOVWF   DISID
 
       BCF     FAG0,5
       SWAPF   YEARH,W
       ANDLW   0FH
       MOVWF   SET04
       MOVWF   NFBUF4
 
       MOVF    YEARH,W
       ANDLW   0FH
       MOVWF   SET03
       MOVWF   NFBUF3
 
       SWAPF   YEARL,W
       ANDLW   0FH
       MOVWF   SET02
       MOVWF   NFBUF2
 
       MOVF    YEARL,W
       ANDLW   0FH
       MOVWF   SET01
       MOVWF   NFBUF1
       RETURN
K20C
       RETURN

;===================================
;INPUT  R0 R1 R2 (R0 FOR 4B)
;OUTPUT H_BYTE,L_BYTE
;===================================
BCDTOB:
	MOVFF  WREG,R2
	MOVLW  00H
	MOVFF  WREG,R0
	MOVFF  WREG,R1

	CLRF   H_BYTE
	MOVF   R0,W
	ANDLW  0FH
	MOVWF  L_BYTE
	CALL   MPY10A
	SWAPF  R1,W
	CALL   MPY10B
	MOVF   R1,W
	CALL   MPY10B
	SWAPF  R2,W
	CALL   MPY10B
	MOVF   R2,W
	ANDLW  0FH
	ADDWF  L_BYTE
	BTFSC  STATUS,C
	INCF   H_BYTE
	RETURN
MPY10B:
	ANDLW 0FH
	ADDWF L_BYTE
	BTFSC STATUS,C
	INCF  H_BYTE
MPY10A:
	BCF   STATUS,C
	RLCF  L_BYTE,W
	MOVWF R4
	RLCF  H_BYTE,W
	MOVWF R5
	BCF   STATUS,C
	RLCF  L_BYTE
	RLCF  H_BYTE
	BCF   STATUS,C
	RLCF  L_BYTE
	RLCF  H_BYTE
	BCF   STATUS,C
	RLCF  L_BYTE
	RLCF  H_BYTE
	MOVF  R4,W
	ADDWF L_BYTE
	BTFSC STATUS,C
	INCF  H_BYTE
	MOVF  R5,W
	ADDWF H_BYTE
	RETURN
;********************************
K301:
       BTFSS   KEY3
       GOTO    K302
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       BTFSS   KEY3
       GOTO    K303
       BCF     FAG0,2
       RETURN
K302:
       NOP
       NOP
       CALL    DELY1 
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       NOP
       BTFSS   KEY3
       GOTO    K303
       BCF     FAG0,2
       RETURN
K303:
       MOVLW   1
       MOVWF   STTIME
       BTFSS   FLAG3,0
       GOTO    K3030
       MOVLW   1
       MOVWF   DISID       
       BCF     FLAG3,0
       RETURN
K3030:

       BTFSC   FAG0,2
       RETURN 
       BSF     FAG0,2
       MOVF    DISID,W
       SUBLW   0

⌨️ 快捷键说明

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