📄 rx900-ok.lst
字号:
0029 09D7 00197 CALL DELAYX
00198 ;*********************************************************************
00199 ; start bit existence condition:
00200 ;
00201 ; STA_BREADTHDN =/< COUNTER_BUF =/< STA_BREADTHUP
00202 ;
00203 ;--------------------------------------------
002A 00204 CHECK_START
002A 0C09 00205 MOVLW D'9'
002B 003A 00206 MOVWF LOOK_CONT
Message[305]: Using default destination of 1 (file).
002C 02FA 00207 DECFSZ LOOK_CONT
002D 0A2F 00208 GOTO $+2
002E 0A18 00209 GOTO M_LOOP
002F 00210 _START
MPASM 03.20.02 Released RX900-OK.ASM 12-2-2003 17:02:41 PAGE 5
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
002F 09A3 00211 CALL RECEIVE_BIT
0030 0C0F 00212 MOVLW STA_BREADTHDN
0031 0089 00213 SUBWF COUNTER_BUF,W
0032 0703 00214 SKPC
0033 0A2F 00215 GOTO _START
0034 0C19 00216 MOVLW STA_BREADTHUP
0035 0089 00217 SUBWF COUNTER_BUF,W
0036 0603 00218 SKPNC
0037 0A2F 00219 GOTO _START
00220 ; GOTO $
00221 ;--------------------------------------------
00222 ; receive ID number 8 bit
00223 ;
00224 ; bit 1 existence condition:
00225 ;
00226 ; ONE_BREADTHDN =/< COUNTER_BUF =/< ONE_BREADTHUP
00227 ;
00228 ; bit 0 existence condition:
00229 ;
00230 ; ZER_BREADTHDN =/< COUNTER_BUF =/< ZER_BREADTHUP
00231 ;
00232 ;--------------------------------------------
0038 00233 CHECK_ID
0038 0C08 00234 MOVLW D'8'
0039 0031 00235 MOVWF BIT_CONT
003A 00236 CHECK_ZERID
003A 09A3 00237 CALL RECEIVE_BIT
003B 0C23 00238 MOVLW ZER_BREADTHDN
003C 0089 00239 SUBWF COUNTER_BUF,W
003D 0703 00240 SKPC
003E 0A2A 00241 GOTO CHECK_START
003F 0C2D 00242 MOVLW ZER_BREADTHUP
0040 0089 00243 SUBWF COUNTER_BUF,W
0041 0603 00244 SKPNC
0042 0A48 00245 GOTO CHECK_ONEID
0043 0403 00246 BCF STATUS,C
0044 033C 00247 RRF ID_CODE,F
0045 02F1 00248 DECFSZ BIT_CONT,F
0046 0A3A 00249 GOTO CHECK_ZERID
0047 0A55 00250 GOTO ID_END
0048 00251 CHECK_ONEID
0048 0C37 00252 MOVLW ONE_BREADTHDN
0049 0089 00253 SUBWF COUNTER_BUF,W
004A 0703 00254 SKPC
004B 0A2A 00255 GOTO CHECK_START
004C 0C41 00256 MOVLW ONE_BREADTHUP
004D 0089 00257 SUBWF COUNTER_BUF,W
004E 0603 00258 SKPNC
004F 0A2A 00259 GOTO CHECK_START
0050 0503 00260 BSF STATUS,C
0051 033C 00261 RRF ID_CODE,F
0052 02F1 00262 DECFSZ BIT_CONT,F
0053 0A3A 00263 GOTO CHECK_ZERID
MPASM 03.20.02 Released RX900-OK.ASM 12-2-2003 17:02:41 PAGE 6
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0054 0004 00264 CLRWDT
00265 ; GOTO $
0055 00266 ID_END
00267 ;--------------------------------------------
00268 ; receive data or command 8 bit
00269 ;
00270 ; bit 1 existence condition:
00271 ;
00272 ; ONE_BREADTHDN =/< COUNTER_BUF =/< ONE_BREADTHUP
00273 ;
00274 ; bit 0 existence condition:
00275 ;
00276 ; ZER_BREADTHDN =/< COUNTER_BUF =/< ZER_BREADTHUP
00277 ;
00278 ;--------------------------------------------
0055 00279 CHECK_DATA
0055 0C08 00280 MOVLW D'8'
0056 0031 00281 MOVWF BIT_CONT
0057 00282 CHECK_ZERDA
0057 09A3 00283 CALL RECEIVE_BIT
0058 0C23 00284 MOVLW ZER_BREADTHDN
0059 0089 00285 SUBWF COUNTER_BUF,W
005A 0703 00286 SKPC
005B 0A2A 00287 GOTO CHECK_START
005C 0C2D 00288 MOVLW ZER_BREADTHUP
005D 0089 00289 SUBWF COUNTER_BUF,W
005E 0603 00290 SKPNC
005F 0A65 00291 GOTO CHECK_ONEDA
0060 0403 00292 BCF STATUS,C
0061 0332 00293 RRF DATA_BUF,F
0062 02F1 00294 DECFSZ BIT_CONT,F
0063 0A57 00295 GOTO CHECK_ZERDA
0064 0A72 00296 GOTO DATA_END
0065 00297 CHECK_ONEDA
0065 0C37 00298 MOVLW ONE_BREADTHDN
0066 0089 00299 SUBWF COUNTER_BUF,W
0067 0703 00300 SKPC
0068 0A2A 00301 GOTO CHECK_START
0069 0C41 00302 MOVLW ONE_BREADTHUP
006A 0089 00303 SUBWF COUNTER_BUF,W
006B 0603 00304 SKPNC
006C 0A2A 00305 GOTO CHECK_START
006D 0503 00306 BSF STATUS,C
006E 0332 00307 RRF DATA_BUF,F
006F 02F1 00308 DECFSZ BIT_CONT,F
0070 0A57 00309 GOTO CHECK_ZERDA
0071 0004 00310 CLRWDT
00311 ; GOTO $
0072 00312 DATA_END
00313 ;*********************************************************************
00314 ; the code verify receive ID number and
00315 ; ROM address 10h ID number
00316 ; if homology, the data/command is
MPASM 03.20.02 Released RX900-OK.ASM 12-2-2003 17:02:41 PAGE 7
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00317 ; contrapose current receiver
00318 ;-----------------------------------------
0072 00319 VERIFY_ID
0072 0C00 00320 MOVLW B'00000000' ; only GPIO.2 is input
0073 0006 00321 TRIS GPIO
0074 0066 00322 CLRF GPIO
00323 ;
0075 007B 00324 CLRF ID_CONT
0076 0906 00325 CALL GET_ID
0077 009C 00326 SUBWF ID_CODE,W
0078 0743 00327 SKPZ
0079 0A18 00328 GOTO M_LOOP
00329 ;*********************************************************************
00330 ; verdict three key thereinto singleton
00331 ; if all not homologous, return program start
00332 ;-----------------------------------------
007A 00333 CHKAAH
007A 0CAA 00334 MOVLW 0AAH
007B 0092 00335 SUBWF DATA_BUF,W
007C 0743 00336 SKPZ
007D 0A89 00337 GOTO CHK55H
007E 0586 00338 BSF GPIO,BUZZER
007F 0C96 00339 MOVLW D'150'
0080 09D7 00340 CALL DELAYX
0081 0486 00341 BCF GPIO,BUZZER
0082 0C64 00342 MOVLW D'100'
0083 09D7 00343 CALL DELAYX
0084 0586 00344 BSF GPIO,BUZZER
0085 0C96 00345 MOVLW D'150'
0086 09D7 00346 CALL DELAYX
0087 0486 00347 BCF GPIO,BUZZER
0088 0AA2 00348 GOTO OK_END
0089 00349 CHK55H
0089 0C55 00350 MOVLW 055H
008A 0092 00351 SUBWF DATA_BUF,W
008B 0743 00352 SKPZ
008C 0A94 00353 GOTO CHKF0H
008D 05A6 00354 BSF GPIO,SPRAY
008E 0C96 00355 MOVLW D'150'
008F 09D7 00356 CALL DELAYX
0090 0C96 00357 MOVLW D'150'
0091 09D7 00358 CALL DELAYX
0092 04A6 00359 BCF GPIO,SPRAY
0093 0AA2 00360 GOTO OK_END
0094 00361 CHKF0H
0094 0C0F 00362 MOVLW 00FH
0095 0092 00363 SUBWF DATA_BUF,W
0096 0743 00364 SKPZ
0097 0A2A 00365 GOTO CHECK_START
0098 05A6 00366 BSF GPIO,SPRAY
0099 0CC8 00367 MOVLW D'200'
009A 09D7 00368 CALL DELAYX
009B 0CC8 00369 MOVLW D'200'
MPASM 03.20.02 Released RX900-OK.ASM 12-2-2003 17:02:41 PAGE 8
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
009C 09D7 00370 CALL DELAYX
009D 0CC8 00371 MOVLW D'200'
009E 09D7 00372 CALL DELAYX
009F 0C64 00373 MOVLW D'100'
00A0 09D7 00374 CALL DELAYX
00A1 04A6 00375 BCF GPIO,SPRAY
00A2 00376 OK_END
00A2 0A18 00377 GOTO M_LOOP
00378 ;*********************************************************************
00379 ; the code receive singleton bit
00380 ; pulse raise high start count of TMR0
00381 ; pulse fall low stop count
00382 ; output parameter:
00383 ; COUNTER_BUF--pulse number count
00384 ;*********************************************************************
00A3 00385 RECEIVE_BIT
00A3 0CCC 00386 MOVLW B'11001100' ; WDT rate 1 : 16
00A4 0002 00387 OPTION
00A5 0004 00388 CLRWDT
00389 ;**** the R1 restrict search time in 2.2~40ms
00A6 0C28 00390 MOVLW D'40' ;
00A7 0036 00391 MOVWF R1 ;
00A8 00392 RECE_LOOP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -