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

📄 hwspsb0613.asm

📁 U2270B与PIC16F73的水表射频卡表的程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
             MOVLW         DISBUFFER+.5                       ;
             MOVWF         R1                                 ;
             MOVLW         0X05                               ;
             MOVWF         COUNT                              ;
             CALL          EQUALITY                           ;二者相待吗?
             BTFSC         STATUS,          C                 ;不相等,则转移到读E2PROM错程序,
             GOTO          BUYIC10                            ;
             MOVLW         RECBUFFER+.3                  ;
             MOVWF         R0                                 ; 
             MOVLW         DISBUFFER                          ;
             MOVWF         R1                                 ;
             MOVLW         0X05                               ;
             MOVWF         COUNT                              ; 
             CALL          EQUALITY                           ;
             BTFSC         STATUS,          C                 ;卡内表号与表内表号相等吗?
             GOTO          BUYICERR                      ; 不相等,转到错误处理
             MOVLW         DISBUFFER 
             MOVWF         FSR
             MOVLW         WSYWATER
             MOVWF         READDRESS
             MOVLW         0X03
             MOVWF         READLENGTH
             CALL          READ24C02
             MOVLW         DISBUFFER+.3
             MOVWF         FSR
             MOVLW         WXGWATER
             MOVWF         READDRESS
             MOVLW         0X03
             MOVWF         READLENGTH
             CALL          READ24C02
             MOVLW         DISBUFFER                          ;
             MOVWF         R0                                 ;
             MOVLW         DISBUFFER+3                        ;
             MOVWF         R1                                 ;
             MOVLW         0X03                               ;
             MOVWF         COUNTADD                           ;
             CALL          BDCSUB
             BTFSC         STATUS,     C
             GOTO          BUYICERR
             MOVF          RECBUFFER+.10,    1                ;
             BTFSS         STATUS,           Z                ;
             GOTO          BUYIC101                           ;
             MOVF          RECBUFFER+.11,    1                ;
             BTFSS         STATUS,           Z                ; 
             GOTO          BUYIC101                           ;
             MOVF          RECBUFFER+.12,    1                ;
             BTFSS         STATUS,           Z                ;
             GOTO          BUYIC101
             GOTO          BUYIC102 
BUYIC101:    CALL          CHECKERR
             BTFSC         FLAG1,           ICRWERR
             GOTO          BUYIC102 
             MOVLW         ICMIMA                             ;
             MOVWF         FSR                                ;
             MOVLW         WICMIMA                            ;         
             MOVWF         READDRESS                          ;
             MOVLW         0X03                               ; 
             MOVWF         READLENGTH                         ;                    
             CALL          READ24C02                          ;
             CALL          ICVER                        ;较验卡的密码正确吗?
             BTFSC         FLAG1,            ICV_ERR          ;不正确,转到卡错处理
             GOTO          BUYICERR                        ;写购水量为零
;             MOVLW         0XFF                           ;此处消除因购买次数与开户卡相同
;             MOVWF         DISBUFFER                      ;而抹去购买量的问题
;             MOVWF         DISBUFFER+.1
;             MOVWF         DISBUFFER+.2
;             MOVLW         DISBUFFER
;             MOVWF         FSR
;             MOVF          ZBNO,            0
;             ANDLW         0X0E
;             MOVWF         REICCOM
;             MOVLW         0X2A 
;             BTFSC         ZBNO,            0
;             MOVLW         0XAA
;             MOVWF         REICADDR
;             MOVLW         0X3 
;             MOVWF         READLENGTH
;             CALL          WRITEIC
             CALL          WRMATER 
BUYIC102:    CALL          FRAMEICW
             BSF           FLAG3,          BUYFLAG                           ;
BUYICEND:    ;BCF           FLAG4,          INITFLAG           ;
             BCF           FLAG4,          INCARD            ;
             NOP
             NOP 
             RETURN
BUYICERR:    BSF           FLAG3,          ICERR
             GOTO          BUYICEND                                                  ;  
;**********************************************************
;设置卡
;**********************************************************
SETIC:       BTFSS         FLAG4,           INITFLAG          ;是特殊初始化卡吗?
             GOTO          SETIC2
             MOVLW         DISBUFFER
             MOVWF         FSR
             MOVLW         WSKBFLAG
             MOVWF         READDRESS
             MOVLW         0X01
             MOVWF         READLENGTH
             CALL          READ24C02
             MOVF          DISBUFFER,       0
             ANDLW         0X10
             BTFSS         STATUS,          Z
             GOTO          SETICERR
             BCF           FLAG4,           INITFLAG
SETIC2:      CALL          READCARD
             MOVF          RECBUFFER+.3,    0
             XORLW         0X05
             BTFSS         STATUS,          Z
             GOTO          SETICERR
             CALL          CHECKERR
             BTFSC         FLAG1,           ICRWERR
             GOTO          SETICERR
             MOVLW         RECBUFFER+.4
             MOVWF         FSR
             MOVLW         WWATER
             MOVWF         READDRESS
             MOVLW         0X3
             MOVWF         READLENGTH 
             CALL          WR24C02
             MOVLW         RECBUFFER+.4
             MOVWF         FSR
             MOVLW         WSYWATER
             MOVWF         READDRESS
             MOVLW         0X3
             MOVWF         READLENGTH 
             CALL          WR24C02
             MOVLW         RECBUFFER+.18
             MOVWF         FSR
             MOVLW         WMCONST
             MOVWF         READDRESS
             MOVLW         0X1 
             MOVWF         READLENGTH 
             CALL          WR24C02
             MOVLW         RECBUFFER+.18 
             MOVWF         FSR
             MOVLW         WMCONSTB 
             MOVWF         READDRESS
             MOVLW         0X1 
             MOVWF         READLENGTH 
             CALL          WR24C02
             MOVLW         RECBUFFER+.12
             MOVWF         FSR
             MOVLW         WBJWATER 
             MOVWF         READDRESS
             MOVLW         0X6 
             MOVWF         READLENGTH 
             CALL          WR24C02
             MOVLW         0X09
             MOVWF         DEL1
             MOVLW         DISBUFFER
             MOVWF         FSR
SET1:        CLRF          INDF
             INCF          FSR
             DECFSZ        DEL1
             GOTO          SET1                
             MOVLW         DISBUFFER 
             MOVWF         FSR
             MOVLW         WLJYWATER
             MOVWF         READDRESS
             MOVLW         0X9 
             MOVWF         READLENGTH 
             CALL          WR24C02
             MOVLW         DISBUFFER
             MOVWF         FSR
             MOVLW         WCISHU
             MOVWF         READDRESS
             MOVLW         0X2
             MOVWF         READLENGTH
             CALL          WR24C02
             MOVLW         DISBUFFER
             MOVWF         FSR
             MOVLW         WSKBFLAG
             MOVWF         READDRESS
             MOVLW         0X01
             MOVWF         READLENGTH 
             CALL          WR24C02
             MOVLW         DISBUFFER
             MOVWF         FSR
             MOVLW         WDCCS 
             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 
SETICEND:    NOP
             NOP
             NOP  
             RETURN
SETICERR:    BSF           FLAG3,         ICERR
             GOTO          SETICEND 
;**********************************************************
;查询卡
;********************************************************* 
CHECKIC:         MOVLW       RECBUFFER
                 MOVWF       FSR
                 MOVLW       0X48 
                 MOVWF       INDF
                 INCF        FSR,            1
                 MOVLW       0X92 
                 MOVWF       INDF
                 INCF        FSR,            1  
                 MOVLW       0X18 
                 MOVWF       INDF
                 MOVLW       RECBUFFER+.3
                 MOVWF       FSR
                 MOVLW       WMNUM 
                 MOVWF       READDRESS
                 MOVLW       0X05
                 MOVWF       READLENGTH                                             
                 CALL        READ24C02
                 MOVLW       RECBUFFER+.8 
                 MOVWF       FSR
                 MOVLW       ZBNUM
                 MOVWF       READDRESS
                 MOVLW       0X01 
                 MOVWF       READLENGTH                                             
                 CALL        READ24C02
                 MOVLW       RECBUFFER+.9 
                 MOVWF       FSR
                 MOVLW       WCISHU 
                 MOVWF       READDRESS
                 MOVLW       0X02 
                 MOVWF       READLENGTH                                             
                 CALL        READ24C02
                 MOVLW       RECBUFFER+.11 
                 MOVWF       FSR
                 MOVLW       WBJWATER 
                 MOVWF       READDRESS
                 MOVLW       0X03 
                 MOVWF       READLENGTH                                             
                 CALL        READ24C02
                 MOVLW       RECBUFFER+.14
                 MOVWF       FSR
                 MOVLW       WBJWATER 
                 MOVWF       READDRESS
                 MOVLW       0X03 
                 MOVWF       READLENGTH                                             
                 CALL        READ24C02
                 MOVLW       RECBUFFER+.17
                 MOVWF       FSR
                 MOVLW       WXGWATER
                 MOVWF       READDRESS
                 MOVLW       0X03 
                 MOVWF       READLENGTH                                             
                 CALL        READ24C02
                 MOVLW       RECBUFFER+.20 
                 MOVWF       FSR
                 MOVLW       WWATER                                   
                 MOVWF       READDRESS
                 MOVLW       0X0C 
                 MOVWF       READLENGTH                                             
                 CALL        READ24C02
                 MOVLW       RECBUFFER+.32 
                 MOVWF       FSR
                 MOVLW       WSKBFLAG 
                 MOVWF       READDRESS
                 MOVLW       0X01 
                 MOVWF       READLENGTH                                             
                 CALL        READ24C02         
                 MOVLW       RECBUFFER+.33 
                 MOVWF       FSR
                 MOVLW       WDCCS 
                 MOVWF       READDRESS
                 MOVLW       0X01
                 MOVWF       READLENGTH                                             
                 CALL        READ24C02
                 MOVLW       RECBUFFER+.34
                 MOVWF       FSR
                 MOVLW       WMCONST 
                 MOVWF       READDRESS
                 MOVLW       0X01 
                 MOVWF       READLENGTH                                             
                 CALL        READ24C02
                 MOVLW       RECBUFFER+.1
                 MOVWF       FSR                                         
                 MOVLW       0X22
                 MOVWF       READLENGTH
                 CLRW
                 MOVWF       WBUFFER  
CHECKICW1:       MOVF        INDF,         0
                 ADDWF       WBUFFER
                 INCF        FSR,          1
                 DECFSZ      READLENGTH,   1
                 GOTO        CHECKICW1
                 MOVF        WBUFFER,      0 
                 MOVWF       RECBUFFER+.35
                 MOVLW       0X57 
                 MOVWF       RECBUFFER+.36
                 MOVLW       0X25
                 MOVWF       COUNT 
                 CALL        OPENPASSWORD
                 MOVLW       RECBUFFER
                 MOVWF       FSR 
                 MOVF        ZBNO,            0

⌨️ 快捷键说明

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