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

📄 hwspsb0613.asm

📁 U2270B与PIC16F73的水表射频卡表的程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
                 ANDLW       0X0E
                 MOVWF       REICCOM
                 MOVLW       0X40
                 BTFSC       ZBNO,            0
                 MOVLW       0XC0
                 MOVWF       REICADDR
                 MOVLW       0X25
                 MOVWF       READLENGTH
                 CALL        WRITEIC
                 BSF         PCLATH,      3
                 CALL        DISNUM
                 BCF         PCLATH,      3
                 GOTO        PREPICEND
PREPICERR:       BSF         FLAG3,           ICERR
PREPICEND:       NOP
                 NOP 
                 RETURN         

;**********************************************************
;表号设置卡
;********************************************************** 
SETNOIC:         BTFSC         FLAG4,        INITFLAG
                 GOTO          SETNOICERR
                 CALL          READCARD
                 MOVF          RECBUFFER+.3,  0
                 SUBLW         0X07 
                 BTFSS         STATUS,        Z
                 GOTO          SETNOICERR
                 MOVLW         RECBUFFER+.4
                 MOVWF         FSR
                 MOVLW         ZBNUM 
                 MOVWF         READDRESS
                 MOVLW         0X1
                 MOVWF         READLENGTH 
                 CALL          WR24C02
                 BSF           PCLATH,      3
                 CALL          DISNUM
                 BCF           PCLATH,      3
SETNOICEND:      NOP
                 NOP   
                 RETURN
SETNOICERR:      BSF           FLAG3,        ICERR
                 GOTO          SETNOICEND 


;**********************************************************
;返厂卡
;***************************************************************** 
SPECCARD:        CALL          READCARD
                 CALL          CHECKERR
                 BTFSC         FLAG1,          ICRWERR
                 GOTO          SPECCARDERR
                 MOVF          RECBUFFER+.3,  0
                 SUBLW         0X06
                 BTFSS         STATUS,        Z
                 GOTO          SPECCARDERR 
SPECCARD1:       MOVLW         0X0F
                 MOVWF         DEL1
                 MOVLW         DISBUFFER
                 MOVWF         FSR
SET2:            CLRF          INDF
                 INCF          FSR
                 DECFSZ        DEL1
                 GOTO          SET2
                 MOVLW         DISBUFFER+.2
                 MOVWF         FSR
                 MOVLW         WMNUMB
                 MOVWF         READDRESS
                 MOVLW         0X05
                 MOVWF         READLENGTH
                 CALL          WR24C02
                 MOVLW         DISBUFFER+.2
                 MOVWF         FSR
                 MOVLW         WMNUM
                 MOVWF         READDRESS
                 MOVLW         0X05
                 MOVWF         READLENGTH
                 CALL          WR24C02
                 MOVLW         DISBUFFER
                 MOVWF         FSR
                 MOVLW         WICMIMA
                 MOVWF         READDRESS
                 MOVLW         0X06
                 MOVWF         READLENGTH
                 CALL          WR24C02
                 MOVLW         DISBUFFER
                 MOVWF         FSR
                 MOVLW         WCISHU
                 MOVWF         READDRESS
                 MOVLW         0X2
                 MOVWF         READLENGTH
                 CALL          WR24C02
                 MOVLW         DISBUFFER
                 MOVWF         FSR
                 MOVLW         WWATER
                 MOVWF         READDRESS
                 MOVLW         0XF
                 MOVWF         READLENGTH
                 CALL          WR24C02
                 MOVLW         DISBUFFER+.2
                 MOVWF         FSR
                 MOVLW         WSKBFLAG
                 MOVWF         READDRESS
                 MOVLW         0X01
                 MOVWF         READLENGTH
                 CALL          WR24C02
                 MOVLW         DISBUFFER+.2
                 MOVWF         FSR
                 MOVLW         ZBNUM
                 MOVWF         READDRESS
                 MOVLW         0X01
                 MOVWF         READLENGTH
                 CALL          WR24C02
                 MOVLW         DISBUFFER+.2
                 MOVWF         FSR
                 MOVLW         WDCCS
                 MOVWF         READDRESS
                 MOVLW         0X01
                 MOVWF         READLENGTH
                 CALL          WR24C02
                 MOVLW         DISBUFFER
                 MOVWF         FSR
                 MOVLW         WSKBFLAG
                 MOVWF         READDRESS
                 MOVLW         0X01
                 MOVWF         READLENGTH
                 CALL          WR24C02
                 BCF           FLAG3,         EMI
                 BCF           FLAG2,         EMIB
                 BCF           FLAG4,         INITFLAG
                 BCF           FLAG3,         BUYFLAG
                 BCF           FLAG1,         ICRWERR
                 BCF           FLAG2,         OVERWATER
;SPECCARERR:      BSF           FLAG3,         ICERR
SPECCAR1:        NOP
                 NOP
                 NOP 
                 RETURN
SPECCARDERR:     BSF           FLAG3,         ICERR
                 GOTO          SPECCAR1
;******************************************************
CHECKERR:        BCF         FLAG1,          ICRWERR
                 MOVLW       RECBUFFER+.1
                 MOVWF       FSR
                 MOVLW       0X1D 
                 MOVWF       READLENGTH
                 CLRW
                 MOVWF       WBUFFER
SETICW1:         MOVF        INDF,         0
                 ADDWF       WBUFFER
                 INCF        FSR,          1
                 DECFSZ      READLENGTH,   1
                 GOTO        SETICW1
                 MOVF        WBUFFER,      0
                 XORWF       RECBUFFER+.30,0
                 BTFSS       STATUS,       Z
                 BSF         FLAG1,        ICRWERR
                 RETURN 
;**********************************************************
READCARD:        CALL        DELAY256US
                 MOVLW       0XF4
                 MOVWF       DEL2
                 MOVLW       0X10
                 MOVWF       DEL3
                 MOVLW       0X08
                 MOVWF       DEL4
                 MOVLW       RECBUFFER
                 MOVWF       FSR 
                 BSF         PORTC,        CFE
                 CLRF        WBUFFER 
                 CLRF        SHIFT
                 BCF         STATUS,       C
READ1:           BTFSC       PORTC,        CLK
                 GOTO        READ1
                 BTFSC       PORTC,        CLK
                 GOTO        READ1
                 CALL        DELAY8US
READ2:           BCF         STATUS,       C                  
                 BTFSS       PORTC,        CLK
                 GOTO        READ3
                 BSF         STATUS,       C
READ3:           RLF         WBUFFER,      1
                 MOVF        SHIFT,        0
                 XORWF       WBUFFER,      0
                 BTFSS       STATUS,       Z
                 GOTO        READ4
                 GOTO        READ2 
                 BTFSC       STATUS,       Z
                 GOTO        READ2
READ4:           MOVF        WBUFFER,      0
                 MOVWF       SHIFT
                 BCF         INTCON,       T0IF
                 CLRF        TMR0
READ5:           BCF         STATUS,       C                  
                 BTFSS       PORTC,        CLK            ;判断第一个跳变为高电平
                 GOTO        READ6
                 BSF         STATUS,       C
READ6:           RLF         WBUFFER,      1
                 MOVF        SHIFT,        0
                 XORWF       WBUFFER,      0
                 BTFSS       STATUS,       Z
                 GOTO        READ7
                 GOTO        READ5              
READ7:           MOVF        TMR0,         0
                 MOVWF       DEL1
                 BCF         STATUS,	   C
                 MOVLW       0X0F
                 SUBWF       DEL1,         0
                 BTFSS       STATUS,       C
                 GOTO        READERR1
                 BCF         STATUS,       C
                 MOVLW       0X11
                 SUBWF       DEL1,         0
                 BTFSC       STATUS,       C
                 GOTO        READERR1
                 MOVF        WBUFFER,      0
                 MOVWF       SHIFT
                 BCF         INTCON,       T0IF
                 CLRF        TMR0
READ8: 			 BCF         STATUS,       C                  
                 BTFSS       PORTC,        CLK          ;判断(128us)第二个跳变为低电平
                 GOTO        READ9
                 BSF         STATUS,       C
READ9:           RLF         WBUFFER,      1
                 MOVF        SHIFT,        0
                 XORWF       WBUFFER,      0
                 BTFSS       STATUS,       Z
                 GOTO        READ10
                 GOTO        READ8 
READ10:          MOVF        TMR0,         0
                 MOVWF       DEL1
                 BCF         STATUS,	   C
                 MOVLW       0X2E
                 SUBWF       DEL1,         0
                 BTFSS       STATUS,       C
                 GOTO        READERR
                 BCF         STATUS,       C
                 MOVLW       0X30
                 SUBWF       DEL1,         0
                 BTFSC       STATUS,       C
                 GOTO        READERR
                 MOVF        WBUFFER,      0
                 MOVWF       SHIFT
                 BCF         INTCON,       T0IF
                 CLRF        TMR0	        
READ11:          BCF         STATUS,       C                  
                 BTFSS       PORTC,        CLK             ;判断(384us)第三个跳变为高电平
                 GOTO        READ12
                 BSF         STATUS,       C
READ12:          RLF         WBUFFER,      1
                 MOVF        SHIFT,        0
                 XORWF       WBUFFER,      0
                 BTFSS       STATUS,       Z
                 GOTO        READ13
                 GOTO        READ11 
READ13:          MOVF        TMR0,         0
                 MOVWF       DEL1
                 BCF         STATUS,	   C
                 MOVLW       0X0F
                 SUBWF       DEL1,         0
                 BTFSS       STATUS,       C
                 GOTO        READERR
                 BCF         STATUS,       C
                 MOVLW       0X11
                 SUBWF       DEL1,         0
                 BTFSC       STATUS,       C
                 GOTO        READERR
                 MOVF        WBUFFER,      0
                 MOVWF       SHIFT
                 BCF         INTCON,       T0IF
                 CLRF        TMR0                           
READ14:          BCF         STATUS,       C                  
                 BTFSS       PORTC,        CLK            ;判断(128us)第四个跳变为低电平    
                 GOTO        READ15
                 BSF         STATUS,       C
READ15:          RLF         WBUFFER,      1
                 MOVF        SHIFT,        0
                 XORWF       WBUFFER,      0
                 BTFSS       STATUS,       Z
                 GOTO        READ16
                 GOTO        READ14 
READ16:          MOVF        TMR0,         0
                 MOVWF       DEL1
                 BCF         STATUS,	   C
                 MOVLW       0X20
                 SUBWF       DEL1,         0
                 BTFSC       STATUS,       C
                 GOTO        READ17
                 BCF         STATUS,       C
                 MOVLW       0X1E
                 SUBWF       DEL1,         0
                 BTFSS       STATUS,       C
                 GOTO        READERR
                 MOVF        WBUFFER,      0
                 MOVWF       SHIFT
                 BCF         INTCON,       T0IF
                 CLRF        TMR0 
                 GOTO        READ18 
READ17:          BCF         STATUS,	   C
                 MOV

⌨️ 快捷键说明

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