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

📄 zsy.asm

📁 pic16f73的ups源码,带冲电控制,市电太低太高自动切换
💻 ASM
📖 第 1 页 / 共 3 页
字号:
        BCF     PORTB,LED1
        BCF     PORTB,LED2
        BCF     PORTB,LED3
        BCF     PORTB,LED4
        BCF     PORTB,LED5
        BCF     PORTB,LED6
        NOP
        BSF     PORTB,KEY
        NOP
        NOP
        BTFSS   PORTB,KEY
        GOTO    WAIT_LOW
        NOP
        GOTO    MAIN1
AD_CHG1
        NOP
        CALL    DELAY
        MOVLW   0xC1
        MOVWF   ADCON0
        CALL    DELAY
        BSF     ADCON0,GO
AD_WAIT1
        CALL    DELAY
        BTFSC   ADCON0,GO
        GOTO    AD_WAIT1
        MOVFW   ADRES
        ADDWF   AD1TEMP,1
        MOVFW   STATUS
        MOVWF   TEMP
        RRF     AD1TEMP,1
        BTFSS   TEMP,C
        GOTO    AD_SET1
        BSF     AD1TEMP,7
        GOTO    AD_CHG2
AD_SET1
        BCF     AD1TEMP,7
        GOTO    AD_CHG2
AD_CHG2
        NOP
        CALL    DELAY
        MOVLW   0xC9
        MOVWF   ADCON0
        CALL    DELAY
        BSF     ADCON0,GO
AD_WAIT2
        CALL    DELAY
        BTFSC   ADCON0,GO
        GOTO    AD_WAIT2
        MOVFW   ADRES
        ADDWF   AD2TEMP,1
        MOVFW   STATUS
        MOVWF   TEMP
        RRF     AD2TEMP,1
        BTFSS   TEMP,C
        GOTO    AD_SET2
        BSF     AD2TEMP,7
        GOTO    AD_CHG3
AD_SET2
        BCF     AD2TEMP,7
        GOTO    AD_CHG3
AD_CHG3
        NOP
        MOVLW   0xD1
        MOVWF   ADCON0
        CALL    DELAY
        BSF     ADCON0,GO
AD_WAIT3
        BTFSC   ADCON0,GO
        GOTO    AD_WAIT3
        MOVFW   ADRES
        ADDWF   AD3TEMP,1
        MOVFW   STATUS
        MOVWF   TEMP
        RRF     AD3TEMP,1
        BTFSS   TEMP,C
        GOTO    AD_SET3
        BSF     AD3TEMP,7
        GOTO    AD_CHG4
AD_SET3
        BCF     AD3TEMP,7
        GOTO    AD_CHG4
AD_CHG4
        NOP
        MOVLW   0xD9
        MOVWF   ADCON0
        CALL    DELAY
        BSF     ADCON0,GO
AD_WAIT4
        BTFSC   ADCON0,GO
        GOTO    AD_WAIT4
        MOVFW   ADRES
        ADDWF   AD4TEMP,1
        MOVFW   STATUS
        MOVWF   TEMP
        RRF     AD4TEMP,1
        BTFSS   TEMP,C
        GOTO    AD_SET4
        BSF     AD4TEMP,7
        GOTO    AD_CHG5
AD_SET4
        BCF     AD4TEMP,7
        GOTO    AD_CHG5
AD_CHG5
        NOP
        MOVLW   0xE1
        MOVWF   ADCON0
        CALL    DELAY
        BSF     ADCON0,GO
AD_WAIT5
        BTFSC   ADCON0,GO
        GOTO    AD_WAIT5
        MOVFW   ADRES
        ADDWF   AD5TEMP,1
        MOVFW   STATUS
        MOVWF   TEMP
        RRF     AD5TEMP,1
        BTFSS   TEMP,C
        GOTO    AD_SET5
        BSF     AD5TEMP,7
        GOTO    AD_CHG6
AD_SET5
        BCF     AD5TEMP,7
        GOTO    AD_CHG6
AD_CHG6
        NOP
        BTFSC   XT_MAP,0
        GOTO    NB_ZT
        NOP
SD_ZT
        BCF     PORTB,LED1
        BSF     PORTB,LED2
        BCF     PORTB,LED5
        BCF     PORTB,LED6
        BTFSS   KEY_MAP,SD
        GOTO    SD_ERR
        NOP
        BTFSC   SD_MAP,0
        GOTO    SD_JIDAN1
        NOP
        MOVLW   0xA6
        SUBWF   AD2TEMP,0
        BTFSC   STATUS,C
        GOTO    SD_LOWA
        MOVLW   0x69
        SUBWF   AD2TEMP,0
        BTFSS   STATUS,C
        GOTO    SD_LOWA
        MOVLW   0xFF
        MOVWF   YS_SDERR
        GOTO    SD_ZT2
SD_LOWA
        DECFSZ  YS_SDERR,1
        GOTO    SD_ZT2
        NOP
        GOTO    SD_ERR
SD_ZT2
        NOP
        BTFSC   SD_MAP,1
        GOTO    SD_JIDAN2
        NOP
        GOTO    SD_JIDAN3
NB_ZT
        BSF     PORTB,LED1
        BCF     PORTB,LED2
        BCF     PORTB,LED3
        BCF     PORTB,LED4
        BTFSS   KEY_MAP,SD
        GOTO    SD_LOWB
        MOVLW   0xA0
        SUBWF   AD2TEMP,0
        BTFSC   STATUS,C
        GOTO    SD_LOWB
        MOVLW   0x73
        SUBWF   AD2TEMP,0
        BTFSS   STATUS,C
        GOTO    SD_LOWB
        NOP
        DECFSZ  YS_SDERR,1
        GOTO    NB_ZT2
        MOVLW   0xFF
        MOVWF   YS_SDERR
        DECFSZ  YS_TOSD,1
        GOTO    NB_ZT2
        NOP
        GOTO    NB_TOSD
SD_LOWB
        MOVLW   0xFF
        MOVWF   YS_SDERR
        MOVLW   0x80
        MOVWF   YS_TOSD
NB_ZT2
        NOP
        BTFSC   NB_MAP,0
        GOTO    NB_JIDAN1
        NOP
        GOTO    NB_JIDAN2
        NOP
NB_TOSD
        NOP
        BSF	STATUS,RP0
	BCF	PIE1,TMR1IE
	BCF	INTCON,PEIE
	BCF	INTCON,GIE
        BCF     STATUS,RP0
        BSF     PORTC,JDQ
        BSF     PORTC,CD
        BSF     PORTC,PWM
        BCF     PORTC,PWM1
        BCF     PORTC,PWM2
        BCF     XT_MAP,0
        BSF     SD_MAP,0
        GOTO    LOOP_END
SD_JIDAN1
        NOP
        BCF     PORTC,JDQ
        BSF     PORTC,CD
        BSF     PORTC,PWM
        BCF     PORTC,PWM1
        BCF     PORTC,PWM2
        DECFSZ  CDYS_TIM,1
        GOTO    LOOP_END
        MOVLW   0x46
        SUBWF   AD2TEMP,0
        BTFSS   STATUS,C
        GOTO    SD_ERR
        MOVLW   0x04
        MOVWF   CDYS_TIM
        BCF     XT_MAP,0
        BCF     SD_MAP,0
        BSF     SD_MAP,1
        MOVLW   0x00
        MOVWF   YZ_TM1L
        MOVLW   0x80
        MOVWF   YZ_TM1H
        MOVLW   0x00
        MOVWF   SF_CDMP
        MOVLW   0x05
        MOVWF   SF_CDYS
JD_AA1
        BSF     PORTA,SDTB1
        NOP
        BTFSC   PORTA,SDTB1
        GOTO    JD_AA1
        NOP
JD_AA2
        BSF     PORTA,SDTB1
        NOP
        BTFSS   PORTA,SDTB1
        GOTO    JD_AA2
        NOP
JD_AA3
        BSF     PORTA,SDTB1
        NOP
        BTFSC   PORTA,SDTB1
        GOTO    JD_AA3
        NOP
JD_AA4
        BSF     PORTA,SDTB1
        NOP
        BTFSS   PORTA,SDTB1
        GOTO    JD_AA4
        NOP
JD_AA5
        BSF     PORTA,SDTB1
        NOP
        BTFSC   PORTA,SDTB1
        GOTO    JD_AA5
        BCF     CD_MAP,0
        BSF     CD_MAP,1
        BCF     PORTB,LED3
        BSF     PORTB,LED4
        GOTO    LOOP_END
SD_ERR
        NOP
        BSF     PORTC,JDQ
        BSF     PORTC,CD
        BSF     PORTC,PWM
        BCF     PORTC,PWM1
        BCF     PORTC,PWM2
        BSF     XT_MAP,0
        BSF     NB_MAP,0
        BSF     OUT_MAP,MPZF
        BCF     OUT_MAP,MP01
        BCF     OUT_MAP,MPQH
	MOVLW	0x01
	MOVWF	T1CON
        MOVLW   0xFE
        MOVWF   TMR1H
        MOVLW   0x0B
        MOVWF   TMR1L
        MOVLW   0x01
        MOVWF   DOT_COUNT
        MOVLW   0x28
        MOVWF   JS_COUNT
        BCF     PD_MAP,0
        BCF     PD_MAP,1
        BCF     PORTC,0
        MOVLW   0xFF
        MOVWF   YS_SCLOW
        MOVLW   0x00
        MOVWF   OUT_LINE
        MOVLW   0x28
        MOVWF   LS_COUNT
        MOVLW   0x00
        MOVWF   LS_DOT
CLEAR_DATA
        MOVLW   0xA0
        ADDWF   LS_DOT,0
        MOVWF   FSR
        MOVLW   0x00
        MOVWF   INDF
        MOVLW   0xD0
        ADDWF   LS_DOT,0
        MOVWF   FSR
        MOVLW   0x2C
        MOVWF   INDF
        INCF    LS_DOT,1
        DECFSZ  LS_COUNT,1
        GOTO    CLEAR_DATA
        BSF	STATUS,RP0
	BSF	PIE1,TMR1IE
	BSF	INTCON,PEIE
	BSF	INTCON,GIE
        BCF     STATUS,RP0
        NOP
        MOVLW   0x3C
        MOVWF   CCP1CON
        MOVLW   0x00
        MOVWF   CCPR1L
        MOVLW   0x3C
        MOVWF   CCP2CON
        MOVLW   0x00
        MOVWF   CCPR2L
        GOTO    LOOP_END
SD_JIDAN2
        MOVLW   0xA8             ;3.3V
        SUBWF   AD3TEMP,0
        BTFSS   STATUS,C
        GOTO    CHG_BAT1
        NOP
        DECFSZ  YS_BATH,1
        GOTO    CHG_BAT
        BCF     PORTC,JDQ
        BSF     PORTC,CD
        BSF     PORTC,PWM
        BCF     PORTC,PWM1
        BCF     PORTC,PWM2
        BCF     XT_MAP,0
        BCF     SD_MAP,0
        BCF     SD_MAP,1
        GOTO    LOOP_END
CHG_BAT1
        MOVLW   0xFF
        MOVWF   YS_BATH
CHG_BAT
        NOP
        BCF     PORTC,JDQ
        BSF     PORTC,PWM
        BCF     PORTC,PWM1
        BCF     PORTC,PWM2
        NOP
        DECFSZ  CDYS_TIM,1
        GOTO    CD_WRIT
        MOVLW   0x04
        MOVWF   CDYS_TIM
PAN_DCDY
        MOVLW   0xA3            ;3.2V
        SUBWF   AD3TEMP,0
        BTFSS   STATUS,C
        GOTO    PAN_DCDL
        NOP
        BSF     PORTB,LED3
        BCF     PORTB,LED4
        GOTO    OUT_SUB1
PAN_DCDL
        MOVLW   0x33            ;1V
        SUBWF   AD4TEMP,0
        BTFSS   STATUS,C
        GOTO    DCDY_LOW
        NOP
        BCF     PORTB,LED3
        BSF     PORTB,LED4
        GOTO    OUT_SUB1
DCDY_LOW
        NOP
        GOTO    OUT_ADD1
OUT_SUB1
        BSF     PORTC,LED
        MOVLW   0x01
        SUBWF   YZ_TM1L,1
        BTFSC   STATUS,C
        GOTO    CD_WRIT
        MOVLW   0xFF
        MOVWF   YZ_TM1L
        MOVLW   0x01
        SUBWF   YZ_TM1H,1
        MOVLW   0x8B
        SUBWF   YZ_TM1H,0
        BTFSC   STATUS,C
        GOTO    CD_WRIT
        MOVLW   0x00
        MOVWF   YZ_TM1L
        MOVLW   0x8B
        MOVWF   YZ_TM1H
        GOTO    CD_WRIT
OUT_ADD1
        BCF     PORTC,LED
        MOVLW   0x01
        ADDWF   YZ_TM1L,1
        BTFSS   STATUS,C
        GOTO    CD_WRIT
        MOVLW   0x01
        ADDWF   YZ_TM1H,1
        MOVLW   0xC5
        SUBWF   YZ_TM1H,0
        BTFSS   STATUS,C
        GOTO    CD_WRIT
        NOP
        MOVLW   0xFF
        MOVWF   YZ_TM1L
        MOVLW   0xC4
        MOVWF   YZ_TM1H
        GOTO    CD_WRIT
CD_WRIT
        BTFSS   CD_MAP,0
        GOTO    CD_FUBZ
        NOP
CD_ZBZ
        NOP
        BTFSC   CD_MAP,1
        GOTO    CD_ZBZA
        NOP     ;10
        BTFSS   SF_CDMP,5
        GOTO    LOOP_END
        CALL    DELAY
        NOP
        CALL    DELAY
        NOP
        CALL    DELAY
        NOP
        CALL    DELAY
        NOP
        CALL    DELAY
        NOP
        CALL    DELAY
        NOP
        CALL    DELAY
        NOP
        CALL    DELAY
        NOP
        BSF     PORTC,CD
        BCF     SF_CDMP,5
        BSF     CD_MAP,0
        BSF     CD_MAP,1
        GOTO    LOOP_END
CD_ZBZA         ;11
        BSF     PORTA,SDTB1
        NOP
        NOP
        BTFSC   PORTA,SDTB1
        GOTO    LOOP_END
        MOVLW	0x01
	MOVWF	T1CON
        MOVFW   YZ_TM1H
        MOVWF   TMR1H
        MOVFW   YZ_TM1L
        MOVWF   TMR1L
        NOP
	BSF	STATUS,RP0
	BSF	PIE1,TMR1IE
	BSF	INTCON,PEIE
	BSF	INTCON,GIE
        BCF     STATUS,RP0
	BCF     CD_MAP,0
        BCF     CD_MAP,1
        GOTO    LOOP_END
CD_FUBZ
        NOP
        BTFSC   CD_MAP,1
        GOTO    CD_FUBZA
        NOP     ;00
        BTFSS   SF_CDMP,5
        GOTO    LOOP_END
        CALL    DELAY
        NOP
        CALL    DELAY
        NOP
        CALL    DELAY
        NOP
        CALL    DELAY
        NOP
        CALL    DELAY
        NOP
        CALL    DELAY
        NOP
        CALL    DELAY
        NOP
        CALL    DELAY
        NOP
        BSF     PORTC,CD
        BCF     SF_CDMP,5
        BCF     CD_MAP,0
        BSF     CD_MAP,1
        GOTO    LOOP_END
CD_FUBZA        ;01
        BSF     PORTA,SDTB1
        NOP
        NOP
        BTFSS   PORTA,SDTB1
        GOTO    LOOP_END
        MOVLW	0x01
	MOVWF	T1CON
        MOVFW   YZ_TM1H
        MOVWF   TMR1H
        MOVFW   YZ_TM1L
        MOVWF   TMR1L
        NOP
	BSF	STATUS,RP0
	BSF	PIE1,TMR1IE
	BSF	INTCON,PEIE
	BSF	INTCON,GIE
        BCF     STATUS,RP0
	BSF     CD_MAP,0
        BCF     CD_MAP,1
        GOTO    LOOP_END
SD_JIDAN3
        BCF     PORTB,LED3
        BCF     PORTB,LED4
        MOVLW   0xB3           ;3.5V
        SUBWF   AD3TEMP,0
        BTFSS   STATUS,C
        GOTO    CHG_STOP1
        NOP
        DECFSZ  KKG_BAD,1
        GOTO    CHG_STOP
        NOP
KKG_JICUAN
        BSF     PORTB,LED1
        BCF     PORTB,LED2
        BCF     PORTB,LED3
        BSF     PORTB,LED4
        BCF     PORTB,LED5
        BSF     PORTB,LED6
        BSF     STATUS,RP0
        BCF     PIE1,TMR1IE
        BCF     INTCON,PEIE
        BCF     INTCON,GIE
        BCF     STATUS,RP0

⌨️ 快捷键说明

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