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

📄 zsy.asm

📁 pic16f73的ups源码,带冲电控制,市电太低太高自动切换
💻 ASM
📖 第 1 页 / 共 3 页
字号:
	list      p=16f73            ; list directive to define processor
	;_config	0x01
	#include  P16f73.inc         ; processor specific variable definitions
	;**********************************************************************
	 __CONFIG  _PWRTE_ON & _WDT_OFF & _HS_OSC &_BODEN_OFF &_CP_ALL
;OK       2001-08-06
;改充电为32V    市电过压为270V
;CD-3.2V    STOP-3.3    KK-JC-3.5
R0		EQU	0x20
CNT		EQU	0x21
LEDCNT		EQU	0x22
AD1SR		EQU	0x23
AD2SR		EQU	0x24
W_TEMP		EQU	0x25
STATUS_TEMP     EQU     0x26
FSR_TEMP        EQU     0x27
AD1TEMP		EQU	0x30
AD2TEMP		EQU	0x31
AD3TEMP		EQU	0x32
AD4TEMP		EQU	0x33
AD5TEMP		EQU	0x34
TEMP		EQU	0x35
YS_KEY1         EQU     0x36
XT_MAP          EQU     0x37
SD_MAP          EQU     0x38
CD_MAP          EQU     0x39
NB_MAP          EQU     0x3A
YZ_TM1L         EQU     0x3C
YZ_TM1H         EQU     0x3D
CDYS_TIM        EQU     0x3E
OUT_MAP         EQU     0x3F
FB_TM1L         EQU     0x40
FB_TM1H         EQU     0x41
FB_TM2L         EQU     0x42
FB_TM2H         EQU     0x43
FB_TM3L         EQU     0x44
FB_TM3H         EQU     0x45
OUT_LINL        EQU     0x46
OUT_LINH        EQU     0x47
PD_DELAY        EQU     0x48
YS_SDERR        EQU     0x49
YS_BATL         EQU     0x4A
YS_BATH         EQU     0x4B
YS_TOSD         EQU     0x4C
KKG_BAD         EQU     0x4D
YZ_PORTE        EQU     0x4E
YS_GZ1          EQU     0x4F
YS_GZ2          EQU     0x50
CS_DELAY        EQU     0x51
BAT_RL          EQU     0x52
GW_DELAY        EQU     0x53
GW_PANK         EQU     0x54
GW_YSAA         EQU     0x55
YS_SCLOW        EQU     0x56
KKOFF1          EQU     0x57
KKOFF2          EQU     0x58
KKOFF3          EQU     0x59
KKOFF4          EQU     0x5A
JS_COUNT        EQU     0x5B
LS_COUNT        EQU     0x5C
LS_DOT          EQU     0x5D
LS_REG1         EQU     0x5E
LS_REG2         EQU     0x5F
LS_REG3         EQU     0x60
DOT_COUNT       EQU     0x61
OUT_ZC          EQU     0x62
PD_MAP          EQU     0x63
OUT_LINE        EQU     0x64
TEST_COUNT      EQU     0x65
YS_WYH          EQU     0x66
YS_WYL          EQU     0x67
SF_CDMP         EQU     0x68
SF_CDYS         EQU     0x69
KEY_MAP         EQU     0x6A
YS_KSD          EQU     0x6B
YS_KQQ          EQU     0x6C
YS_SCLOW1       EQU     0x6D
JDQ             EQU     H'0004'
FMQ             EQU     H'0004'
PWM             EQU     H'0003'
PWM1            EQU     H'0002'
PWM2            EQU     H'0001'
CD              EQU     H'0005'
GW              EQU     H'0007'
SD              EQU     H'0006'
QQ              EQU     H'0005'
LED             EQU     H'0000'
BH1             EQU     H'0000'
BH2             EQU     H'0003'
BH3             EQU     H'0004'
BH4             EQU     H'0005'
LED1            EQU     H'0001'
LED2            EQU     H'0002'
LED3            EQU     H'0003'
LED4            EQU     H'0004'
LED5            EQU     H'0005'
LED6            EQU     H'0007'
CHA             EQU     H'0000'
CHB             EQU     H'0001'
CHC             EQU     H'0004'
CH7             EQU     H'0003'
CH5             EQU     H'0005'
IN              EQU     H'0006'
KEY             EQU     H'0006'
SDTB1           EQU     H'0004'
SDTB2           EQU     H'0007'
MP01            EQU     H'0000'
MPZF            EQU     H'0001'
MPQH            EQU     H'0002'
MPCP1           EQU     H'0006'
MPCP2           EQU     H'0007'
	ORG	0x0000
	CLRF    PCLATH
  	GOTO    MAIN
	ORG     0x0004
	GOTO	intSvc
	ORG	0x0010
MAIN
        BCF	INTCON,GIE
	BCF	STATUS,IRP
	BCF	STATUS,RP1
	BSF	STATUS,RP0
	MOVLW	0x02
	MOVWF	PCON
	MOVLW	0x8F
	MOVWF	OPTION_REG
	MOVLW	0x02
	MOVWF	ADCON1
	MOVLW	0xFF
	MOVWF	TRISA
	MOVLW	0x40
	MOVWF	TRISB
	MOVLW	0x00
	MOVWF	TRISC
        MOVLW   0xF9
        MOVWF   PR2
        BCF     PIE1,TMR2IE
        BCF     STATUS,RP0
        MOVLW   0x3C
        MOVWF   CCP1CON
        MOVLW   0x00
        MOVWF   CCPR1L
        MOVLW   0x3C
        MOVWF   CCP2CON
        MOVLW   0x00
        MOVWF   CCPR2L
        CLRF    T2CON
        BSF     T2CON,TMR2ON
	BCF	STATUS,RP0
        MOVLW   0xFF
        MOVWF   PORTA
        MOVLW   0x40
        MOVWF   PORTB
        MOVLW	0x28
	MOVWF	PORTC
        CLRF    YZ_TM1L
        CLRF    YZ_TM1H
        MOVLW   0x20
        MOVWF   YS_KEY1
LOOP1
        BCF     PORTB,LED1
        BSF     PORTB,LED2
        BSF     PORTB,LED3
        BCF     PORTB,LED4
        BSF     PORTB,LED5
        BCF     PORTB,LED6
        DECFSZ  YZ_TM1L,1
        GOTO    LOOP1
        NOP
        CLRF    YZ_TM1L
        DECFSZ  YZ_TM1H,1
        GOTO    LOOP1
        NOP
        CLRF    YZ_TM1L
        CLRF    YZ_TM1H
        DECFSZ  YS_KEY1,1
        GOTO    LOOP1
        BCF     PORTB,LED1
        BCF     PORTB,LED2
        BCF     PORTB,LED3
        BCF     PORTB,LED4
        BCF     PORTB,LED5
        BCF     PORTB,LED6
MAIN1
	BCF	INTCON,GIE
	BCF	STATUS,IRP
	BCF	STATUS,RP1
	BSF	STATUS,RP0
	MOVLW	0x02
	MOVWF	PCON
	MOVLW	0x8F
	MOVWF	OPTION_REG
	MOVLW	0x02
	MOVWF	ADCON1
	MOVLW	0xFF
	MOVWF	TRISA
	MOVLW	0x40
	MOVWF	TRISB
	MOVLW	0x00
	MOVWF	TRISC
        MOVLW   0xF9
        MOVWF   PR2
        BCF     PIE1,TMR2IE
        BCF     STATUS,RP0
        MOVLW   0x3C
        MOVWF   CCP1CON
        MOVLW   0x00
        MOVWF   CCPR1L
        MOVLW   0x3C
        MOVWF   CCP2CON
        MOVLW   0x00
        MOVWF   CCPR2L
        CLRF    T2CON
        BSF     T2CON,TMR2ON
	BCF	STATUS,RP0
        MOVLW   0xFF
        MOVWF   PORTA
        MOVLW   0x40
        MOVWF   PORTB
        MOVLW	0x28
	MOVWF	PORTC
        MOVLW   0xFF
        MOVWF   YS_KEY1
PAN_KEY1
        BSF     PORTB,KEY
        NOP
        NOP
        BTFSC   PORTB,KEY
        GOTO    PAN_KEY1
        NOP
        NOP
        DECFSZ  YS_KEY1,1
        GOTO    PAN_KEY1
        MOVLW   0xFF
        MOVWF   YS_KEY1
PAN_KEY1N
        BSF     PORTB,KEY
        NOP
        NOP
        BTFSS   PORTB,KEY
        GOTO    PAN_KEY1N
        NOP
        NOP
        DECFSZ  YS_KEY1,1
        GOTO    PAN_KEY1N
        MOVLW   0xFF
        MOVWF   YS_KEY1
	CLRF	AD1TEMP
	CLRF 	AD2TEMP
	CLRF	AD3TEMP
	CLRF	AD4TEMP
	CLRF	AD5TEMP
        CLRF    YS_KEY1
        CLRF    XT_MAP
        CLRF    SD_MAP
        CLRF    CD_MAP
        CLRF    NB_MAP
        CLRF    YZ_TM1L
        CLRF    YZ_TM1H
        CLRF    CDYS_TIM
        CLRF    OUT_MAP
        CLRF    FB_TM1L
        CLRF    FB_TM1H
        CLRF    FB_TM2L
        CLRF    FB_TM2H
        CLRF    FB_TM3L
        CLRF    FB_TM3H
        CLRF    OUT_LINL
        CLRF    OUT_LINH
        CLRF    PD_DELAY
        CLRF    YS_SDERR
        CLRF    YS_BATL
        CLRF    YS_BATH
        CLRF    YS_TOSD
        CLRF    KKG_BAD
        CLRF    YZ_PORTE
        CLRF    YS_GZ1
        CLRF    YS_GZ2
        CLRF    BAT_RL
        CLRF    GW_DELAY
        CLRF    GW_PANK
        CLRF    GW_YSAA
        CLRF    YS_KSD
        CLRF    YS_KQQ
        MOVLW   0xFF
        MOVWF   KEY_MAP
        MOVLW   0xFF
        MOVWF   YS_SCLOW
;        MOVLW   0x03
;        MOVWF   YS_SCLOW1
        MOVLW   0xFF
        MOVWF   KKOFF1
        MOVLW   0xFF
        MOVWF   KKOFF2
        MOVLW   0xFF
        MOVWF   KKOFF3
        MOVLW   0x9D
        MOVWF   KKOFF4
        MOVLW   0x01
        MOVWF   DOT_COUNT
        MOVLW   0x28
        MOVWF   JS_COUNT
        BCF     PD_MAP,0
        BCF     PD_MAP,1
        BCF     PORTC,0
        BCF     PORTC,4
        BSF     PORTC,5
        MOVLW   0x00
        MOVWF   OUT_LINE
        MOVLW   0x40
        MOVWF   TEST_COUNT
        MOVLW   0x28
        MOVWF   LS_COUNT
        MOVLW   0x00
        MOVWF   LS_DOT
CLEAR_DATA1
        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_DATA1
        NOP
        BSF     STATUS,RP0
        BCF     PIE1,TMR1IE
        BCF     INTCON,PEIE
        BCF     INTCON,GIE
        BCF     STATUS,RP0
        BCF     XT_MAP,0
        BSF     SD_MAP,0
        CALL    DELAY
        NOP
        CALL    DELAY
        NOP
PROG_BEG
        NOP
        BSF     KEY_MAP,SD
        BSF     KEY_MAP,QQ
        GOTO    SYS_GOOD
        NOP
        BTFSS   KEY_MAP,SD
        GOTO    KEY_SD_ON
        NOP
KEY_SD_OFF
        BSF     PORTC,SD
        NOP
        NOP
        BTFSS   PORTC,SD
        GOTO    KEY_SD_OFF1
        CLRF    YS_KSD
        BSF     KEY_MAP,SD
        BSF     PORTB,1
        GOTO    PAN_KQQ
KEY_SD_OFF1
        DECFSZ  YS_KSD,1
        GOTO    PAN_KQQ
        CLRF    YS_KSD
        BCF     KEY_MAP,SD
        BCF     PORTB,1
        GOTO    PAN_KQQ
KEY_SD_ON
        BSF     PORTC,SD
        NOP
        NOP
        BTFSC   PORTC,SD
        GOTO    KEY_SD_ON1
        CLRF    YS_KSD
        BCF     KEY_MAP,SD
        BCF     PORTB,1
        GOTO    PAN_KQQ
KEY_SD_ON1
        DECFSZ  YS_KSD,1
        GOTO    PAN_KQQ
        CLRF    YS_KSD
        BSF     KEY_MAP,SD
        BSF     PORTB,1
        GOTO    PAN_KQQ
PAN_KQQ
        NOP
        BTFSS   KEY_MAP,QQ
        GOTO    KEY_QQ_ON
        NOP
KEY_QQ_OFF
        BSF     PORTC,QQ
        NOP
        NOP
        BTFSS   PORTC,QQ
        GOTO    KEY_QQ_OFF1
        CLRF    YS_KQQ
        BSF     KEY_MAP,QQ
        BSF     PORTB,0
        GOTO    PAN_KQQ1
KEY_QQ_OFF1
        DECFSZ  YS_KQQ,1
        GOTO    PAN_KQQ1
        CLRF    YS_KQQ
        BCF     KEY_MAP,QQ
        BCF     PORTB,0
        GOTO    PAN_KQQ1
KEY_QQ_ON
        BSF     PORTC,QQ
        NOP
        NOP
        BTFSC   PORTC,QQ
        GOTO    KEY_QQ_ON1
        CLRF    YS_KQQ
        BCF     KEY_MAP,QQ
        BCF     PORTB,0
        GOTO    PAN_KQQ1
KEY_QQ_ON1
        DECFSZ  YS_KQQ,1
        GOTO    PAN_KQQ1
        CLRF    YS_KQQ
        BSF     KEY_MAP,QQ
        BSF     PORTB,0
        GOTO    PAN_KQQ1
PAN_KQQ1
        NOP
        GOTO    PROG_BEG1
        NOP
        DECFSZ  KKOFF1,1
        GOTO    PROG_BEG1
        MOVLW   0xFF
        MOVWF   KKOFF1
        DECFSZ  KKOFF2,1
        GOTO    PROG_BEG1
        MOVLW   0xFF
        MOVWF   KKOFF2
        DECFSZ  KKOFF3,1
        GOTO    PROG_BEG1
        MOVLW   0xFF
        MOVWF   KKOFF3
        DECFSZ  KKOFF4,1
        GOTO    PROG_BEG1
        MOVLW   0xFF
        MOVWF   KKOFF4
        GOTO    MAIN1
PROG_BEG1
        MOVLW   0xFF
        MOVWF   GW_PANK
        BSF     PORTC,GW
        NOP
        NOP
        BTFSS   PORTC,GW
        GOTO    GW_BAOH
        MOVLW   0xFF
        MOVWF   GW_DELAY
        MOVWF   GW_YSAA
        GOTO    SYS_GOOD
GW_BAOH
        DECFSZ  GW_DELAY,1
        GOTO    SYS_GOOD
        NOP
GW_BAOH2
        NOP
        CLRF    GW_PANK
GW_BAOH1
        BSF     STATUS,RP0
        BCF     PIE1,TMR1IE
        BCF     INTCON,PEIE
        BCF     INTCON,GIE
        BCF     STATUS,RP0
        MOVLW	0x00
      	MOVWF	T1CON
        MOVLW   0x00
        MOVWF   TMR1L
        MOVLW   0x8B
        MOVWF   TMR1H
        NOP
        BCF     PORTC,JDQ
        BSF     PORTC,CD
        BSF     PORTC,PWM
        BCF     PORTC,PWM1
        BCF     PORTC,PWM2
        NOP
        MOVLW   0x00
        MOVWF   CCP1CON
        MOVLW   0x00
        MOVWF   CCPR1L
        MOVLW   0x00
        MOVWF   CCP2CON
        MOVLW   0x00
        MOVWF   CCPR2L
GW_JXPK
        BSF     PORTB,KEY
        NOP
        NOP
        BTFSC   PORTB,KEY
        GOTO    GW_BAOH2
        NOP
        DECFSZ  GW_PANK,1
        GOTO    GW_BAOH1
GW_LOPB
        BSF     PORTB,KEY
        NOP
        NOP
        BTFSS   PORTB,KEY
        GOTO    GW_LOPB
        NOP
        NOP
        GOTO    MAIN1
SYS_GOOD
        NOP
        BSF     PORTB,KEY
        NOP
        NOP
        BTFSS   PORTB,KEY
        GOTO    XT_GANJI
        MOVLW   0xFF
        MOVWF   YS_KEY1
        GOTO    AD_CHG1
XT_GANJI
        DECFSZ  YS_KEY1,1
        GOTO    AD_CHG1
        NOP
WAIT_LOW
        BSF     STATUS,RP0
        BCF     PIE1,TMR1IE
        BCF     INTCON,PEIE
        BCF     INTCON,GIE
        BCF     STATUS,RP0
        NOP
        MOVLW	0x00
      	MOVWF	T1CON
        MOVLW   0x00
        MOVWF   TMR1L
        MOVLW   0x8B
        MOVWF   TMR1H
        MOVLW   0x00
        MOVWF   CCP1CON
        MOVLW   0x00
        MOVWF   CCPR1L
        MOVLW   0x00
        MOVWF   CCP2CON
        MOVLW   0x00
        MOVWF   CCPR2L
        BCF     PORTC,JDQ
        BSF     PORTC,CD
        BSF     PORTC,PWM
        BCF     PORTC,PWM1
        BCF     PORTC,PWM2

⌨️ 快捷键说明

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