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

📄 hwspsb0613.asm

📁 U2270B与PIC16F73的水表射频卡表的程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
             MOVLW       B'00001000'
             MOVWF       PORTB
             NOP
;             BSF           PCLATH,      3
;             CALL          DISNUM
;             BCF           PCLATH,      3
;             CALL        DELAY200MS
             CALL        DELAY10MS
             ;CALL        DELAY10MS
             ;BCF         FLAG3,            PASS
             ;BSF         PCLATH,           3
             ;CALL        VALVE
             ;BCF         PCLATH,           3
             NOP
             CALL        DELAY3MS 
             NOP 
MAIN1:       BTFSS       PORTB,           UPPOWER
             GOTO        MAIN901
             BCF         FLAG1,           LOWPOWER
             BCF         FLAG5,           DWPOWER
MAIN901:     BTFSS       PORTB,           DOWNPOWER
             GOTO        MAIN90            
             BCF         FLAG5,           DWPOWER
MAIN90:      BTFSC       FLAG1,           LOWPOWER
             GOTO        MAIN902
             BTFSC       FLAG5,           DWPOWER
             GOTO        MAIN902  
             BCF         FLAG3,           POWERD
MAIN902:     BTFSC       PORTB,           INT0 
             CALL        ICPROCESS             
             CALL        DELAY3MS
             BSF         PORTB,           FW1  
             CALL        DELAY3MS
             CALL        DELAY10MS
             MOVF        PORTB,0
             MOVWF       TEMP
             XORWF       ATEMP,1 
             BTFSC       PORTB,           UPPOWER
             GOTO        PIC_ISR20
             BSF         FLAG1,           LOWPOWER
             GOTO        PIC_ISR200             
PIC_ISR20:   BCF         FLAG1,           LOWPOWER
PIC_ISR200:  BTFSC       PORTB,           DOWNPOWER  
             GOTO        PIC_ISR21
             BSF         FLAG5,           DWPOWER
             BSF         FLAG1,           LOWPOWER
             GOTO        PIC_ISR210
PIC_ISR21:   BCF         FLAG5,           DWPOWER             
PIC_ISR210:  BTFSC       FLAG1,           LOWPOWER
             BSF         FLAG3,           POWERD
             BTFSC       FLAG5,           DWPOWER
             BSF         FLAG3,           POWERD
             BCF         FLAG2,           EMIB
             BTFSS       ATEMP,           VALSIG1
             GOTO        MAIN22
             CALL        DELAY3MS
             BTFSS       PORTB,           VALSIG1
             GOTO        MAIN22
             CALL        DELAY3MS
             BTFSC       PORTB,           VALSIG2
             CALL        DELAY3MS
             BTFSC       PORTB,           VALSIG2
             GOTO        PIC_ISR3
;             BTFSC       FLAG3,           SETBG1
;             GOTO        MAIN100
             BSF         FLAG2,           PULSE1
;             BSF         FLAG3,           SETBG1
;             BCF         FLAG4,           SETBG2
             GOTO        MAIN100
MAIN22:      BTFSS       ATEMP,           VALSIG2
             GOTO        MAIN100
             CALL        DELAY3MS          
             BTFSS       PORTB,           VALSIG2
             GOTO        MAIN100
             CALL        DELAY3MS
             BTFSC       PORTB,           VALSIG1
             CALL        DELAY3MS
             BTFSC       PORTB,           VALSIG1
             GOTO        PIC_ISR3
;             BTFSC       FLAG4,           SETBG2
;             GOTO        MAIN100
;             BCF         FLAG3,           SETBG1
;             BSF         FLAG4,           SETBG2 
             BSF         FLAG2,           PULSE2
             GOTO        MAIN100
PIC_ISR3:    BSF         FLAG2,           EMIB
MAIN100:     CLRW
             MOVWF       PORTB
             MOVF        TEMP,0
             MOVWF       ATEMP 
             CLRW 
             BTFSC       FLAG1,           LOWPOWER        ;设置表状态字
             IORLW       0X08
             BTFSC       FLAG1,           YZWATER
             IORLW       0X00
             BTFSC       FLAG1,           MEMERR
             IORLW       0X02
             BTFSC       FLAG1,           VALVEERR
             IORLW       0X01          
             MOVWF       DISBUFFER                
             MOVLW       DISBUFFER+.1               
             MOVWF       FSR
             MOVLW       WSKBFLAG                                    
             MOVWF       READDRESS
             MOVLW       0X01                       
             MOVWF       READLENGTH                                             
             CALL        READ24C02
             MOVF        DISBUFFER+.1,  0
             ANDLW       0X0F
             XORWF       DISBUFFER,     0
             BTFSC       STATUS,        Z
             GOTO        MAIN2  
             MOVF        DISBUFFER+.1,  0
             ANDLW       0X10
             IORWF       DISBUFFER,     0
             MOVWF       DISBUFFER 
             MOVLW       DISBUFFER
             MOVWF       FSR
             MOVLW       WSKBFLAG
             MOVWF       READDRESS
             MOVLW       0X01
             MOVWF       READLENGTH 
             CALL        WR24C02
MAIN2:       BTFSS       FLAG2,       EMIB
             GOTO        MAIN3
;             BCF         INTCON,      RBIF
             BSF         FLAG3,       EMI 
             MOVLW       DISBUFFER               
             MOVWF       FSR
             MOVLW       WDCCS                                    
             MOVWF       READDRESS
             MOVLW       0X01                       
             MOVWF       READLENGTH
             CALL        READ24C02       
             INCF        DISBUFFER,    1
             MOVLW       DISBUFFER
             MOVWF       FSR
             MOVLW       WDCCS
             MOVWF       READDRESS
             MOVLW       0X01
             MOVWF       READLENGTH 
             CALL        WR24C02   
MAIN3:       BSF         FLAG2,        ENBLEDIS
             BTFSS       FLAG2,        EMIB
             GOTO        MAIN4
             BCF         FLAG2,        EMIB
             GOTO        MAIN7
MAIN4:       BTFSC       FLAG5,        DWPOWER
             GOTO        MAIN40
             BTFSC       FLAG1,        LOWPOWER
             GOTO        MAIN5
MAIN6:       BTFSS       FLAG2,        ZERO
             GOTO        MAIN8                
             BCF         FLAG2,        ENBLEDIS
             GOTO        MAIN7
MAIN40:      BCF         FLAG3,        PASS
             BTFSS       FLAG3,        FLAG
             GOTO        MAIN5 
             BSF         PCLATH,       3      
             CALL        VALVE
             BCF         PCLATH,       3  
MAIN5:       BSF         FLAG2,        ENBLEDIS
             BCF         FLAG3,        ICERR
             BSF         PCLATH,       3
             CALL        DISPLCD
             BCF         PCLATH,       3
             GOTO        MAIN8
MAIN7:       BCF         FLAG3,        PASS
             BTFSS       FLAG3,        FLAG
             GOTO        MAIN71 
             BSF         PCLATH,       3
             CALL        VALVE
             BCF         PCLATH,       3
MAIN71:      NOP
             BSF         PCLATH,       3
             CALL        DISPLCD
             BCF         PCLATH,       3 
MAIN8:       BTFSS       FLAG2,        PULSE1
             GOTO        MAIN9                             
             BTFSS       FLAG2,        PULSE2
             GOTO        MAIN9
             BSF         PCLATH,       3  
             CALL        CCOST
             BCF         PCLATH,       3
             NOP
             BSF         PCLATH,       3
             CALL        WATERCHECK
             BCF         PCLATH,        3
             BTFSC       FLAG2,        ZERO
             GOTO        MAIN6     
MAIN9:       MOVLW       0X20 
             MOVWF       FSR
             MOVLW       RAMBF 
             MOVWF       READDRESS
             MOVLW       0X04 
             MOVWF       READLENGTH 
             CALL        WR24C02
             MOVLW       0X7D
             MOVWF       FSR
             MOVLW       TEMPBF
             MOVWF       READDRESS
             MOVLW       0X01
             MOVWF       READLENGTH 
             CALL        WR24C02  
             MOVLW       FMCOUNT
             MOVWF       FSR
             MOVLW       WARNF
             MOVWF       READDRESS
             MOVLW       0X01                       
             MOVWF       READLENGTH                                             
             CALL        WR24C02
             BSF         STATUS,       RP0
             CLRW        
             MOVWF       TRISA
             MOVLW       0XF7 
             MOVWF       TRISB                    
             MOVLW       B'00000000'
             MOVWF       TRISC
             BCF         STATUS,      RP0
             MOVLW       B'00111111'
             MOVWF       PORTA
             MOVLW       B'00011100'
             MOVWF       PORTC
             BCF         FLAG3,       EMI
;             BCF         INTCON,      RBIF 
             NOP
;             BSF         INTCON,      RBIE
;             MOVLW       B'10011000'
;             MOVWF       INTCON
;             BTFSC       INTCON,      RBIF
;             GOTO        MAIN 
             MOVLW       B'00000000'
             MOVWF       PORTB
             MOVLW       B'00011100'
             MOVWF       PORTC 
             MOVLW       B'00011100'
             MOVWF       PORTC 
             BCF         PORTC,       PCP 
             NOP
             NOP 
             NOP
             NOP 
             SLEEP
             NOP
             NOP
             NOP 
             NOP
             GOTO        $ 
;***************************************************************
ICPROCESS:   BSF         PCLATH,      3
             CALL        HEADDISPLAY
             BCF         PCLATH,      3
             BTFSC       FLAG5,           DWPOWER
             GOTO        ICPROEND2
             BCF         PORTB,           FW1 
             BCF         INTCON,          INTF
             BCF         PORTC,           DYK
             BCF         FLAG1,           MEMERR
             CALL        READCARD
             BCF         FLAG3,           ICERR
             MOVF        RECBUFFER,    0
             XORLW       0X48 
             BTFSS       STATUS,       Z
             GOTO        ICPROERR             ;NOT EQU THEN JMP
ICPRO1:      MOVF        RECBUFFER+.1, 0
             XORLW       0X31
             BTFSS       STATUS,       Z
             GOTO        ICPRO4
             CALL        INITIAIC
             BTFSC       FLAG3,           ICERR
             GOTO        ICPROERR
             GOTO        ICPROEND
ICPRO4:      MOVF        RECBUFFER+.1,    0
             XORLW       0X32
	         BTFSS       STATUS,          Z        
             GOTO        ICPRO5
             CALL        BUYIC
             BTFSC       FLAG3,           ICERR
             GOTO        ICPROERR
             GOTO        ICPROEND
ICPRO5:      MOVF        RECBUFFER+.1,  0
             XORLW       0X33
             BTFSS       STATUS,       Z
             GOTO        ICPRO6
             CALL        MENDIC
             GOTO        ICPROEND             
ICPRO6:      MOVF        RECBUFFER+.1, 0
             SUBLW       0X04
             BTFSS       STATUS,       Z
             GOTO        ICPRO7
             CALL        CHECKIC
             GOTO        ICPROEND
ICPRO7:      MOVF        RECBUFFER+.1, 0
             SUBLW       0X05 
             BTFSS       STATUS,       Z
             GOTO        ICPRO8
             CALL        SETIC
             GOTO        ICPROEND
ICPRO8:      MOVF        RECBUFFER+.1,  0
             SUBLW       0X06

⌨️ 快捷键说明

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