📄 main.lst
字号:
E15A [03] B167 391 CMP RFID
E15C [03] 2632 392 BNE L2
E15E [03] B64F 393 LDA DATA+6
E160 [03] B168 394 CMP RFID+1
E162 [03] 262C 395 BNE L2
E164 [03] B64E 396 LDA DATA+5
E166 [03] B169 397 CMP RFID+2
E168 [03] 2626 398 BNE L2
E16A [03] B64D 399 LDA DATA+4
E16C [03] B16A 400 CMP RFID+3
E16E [03] 2620 401 BNE L2
402
E170 [03] 3F54 403 RF_Match: CLR RFCNTL
E172 [03] 3F53 404 CLR RFCNTH
E174 [04] 144A 405 BSET 2,DATA+1
;Indicate which tire in STATUS
E176 [05] CDE106 406 JSR Blink_Rx
;Blink the Rx LED.
Main.asm Assembled with CASM08Z 3/12/2003 10:12:03 AM PAGE 11
E179 [05] 0F5B04 407 BRCLR 7,FAST_MODE,RF
E17C [04] 165B 408 BSET 3,FAST_MODE
E17E [03] 2002 409 BRA RF1
410
E180 [04] 175B 411 RF: BCLR 3,FAST_MODE
E182 [03] B64C 412 RF1: LDA DATA+3
E184 [03] B162 413 CMP THRESHOLD
E186 [03] 2204 414 BHI RF_OK
E188 [04] 1601 415 BSET 3,PTB
E18A [03] 2072 416 BRA EXIT
E18C [04] 1701 417 RF_OK: BCLR 3,PTB
E18E [03] 206E 418 BRA EXIT
419
E190 [03] B650 420 L2: LDA DATA+7
;Check all tire ID bytes.
E192 [03] B16B 421 CMP LRID
E194 [03] 2632 422 BNE L3
E196 [03] B64F 423 LDA DATA+6
E198 [03] B16C 424 CMP LRID+1
E19A [03] 262C 425 BNE L3
E19C [03] B64E 426 LDA DATA+5
E19E [03] B16D 427 CMP LRID+2
E1A0 [03] 2626 428 BNE L3
E1A2 [03] B64D 429 LDA DATA+4
E1A4 [03] B16E 430 CMP LRID+3
E1A6 [03] 2620 431 BNE L3
432
E1A8 [03] 3F56 433 LR_Match: CLR LRCNTL
E1AA [03] 3F55 434 CLR LRCNTH
E1AC [04] 124A 435 BSET 1,DATA+1
;Indicate which tire in STATUS
E1AE [05] CDE106 436 JSR Blink_Rx
;Blink the Rx LED.
E1B1 [05] 0F5B04 437 BRCLR 7,FAST_MODE,LR
E1B4 [04] 125B 438 BSET 1,FAST_MODE
E1B6 [03] 2002 439 BRA LR1
440
E1B8 [04] 135B 441 LR: BCLR 1,FAST_MODE
E1BA [03] B64C 442 LR1: LDA DATA+3
E1BC [03] B162 443 CMP THRESHOLD
E1BE [03] 2204 444 BHI LR_OK
E1C0 [04] 1201 445 BSET 1,PTB
E1C2 [03] 203A 446 BRA EXIT
E1C4 [04] 1301 447 LR_OK: BCLR 1,PTB
E1C6 [03] 2036 448 BRA EXIT
449
E1C8 [03] B650 450 L3: LDA DATA+7
;Check all tire ID bytes.
E1CA [03] B16F 451 CMP RRID
E1CC [03] 2633 452 BNE BadID
E1CE [03] B64F 453 LDA DATA+6
E1D0 [03] B170 454 CMP RRID+1
E1D2 [03] 262D 455 BNE BadID
E1D4 [03] B64E 456 LDA DATA+5
E1D6 [03] B171 457 CMP RRID+2
E1D8 [03] 2627 458 BNE BadID
E1DA [03] B64D 459 LDA DATA+4
E1DC [03] B172 460 CMP RRID+3
Main.asm Assembled with CASM08Z 3/12/2003 10:12:03 AM PAGE 12
E1DE [03] 2621 461 BNE BadID
462
E1E0 [03] 3F58 463 RR_Match: CLR RRCNTL
E1E2 [03] 3F57 464 CLR RRCNTH
E1E4 [04] 104A 465 BSET 0,DATA+1
;Indicate which tire in STATUS
E1E6 [05] CDE106 466 JSR Blink_Rx
;Blink the Rx LED.
E1E9 [05] 0F5B04 467 BRCLR 7,FAST_MODE,RR
E1EC [04] 145B 468 BSET 2,FAST_MODE
E1EE [03] 2002 469 BRA RR1
470
E1F0 [04] 155B 471 RR: BCLR 2,FAST_MODE
E1F2 [03] B64C 472 RR1: LDA DATA+3
E1F4 [03] B162 473 CMP THRESHOLD
E1F6 [03] 2204 474 BHI RR_OK
E1F8 [04] 1401 475 BSET 2,PTB
E1FA [03] 2002 476 BRA EXIT
E1FC [04] 1501 477 RR_OK BCLR 2,PTB
478
E1FE [04] 1F5B 479 EXIT: BCLR 7,FAST_MODE
E200 [04] 81 480 RTS
481
E201 [01] 9C 482 BadID: RSP
E202 [04] 1F5B 483 BCLR 7,FAST_MODE
E204 [03] CCE491 484 JMP Loop
;If the ID is bad, then we can ignore
485
;the data.
E207 486 $Include 'SPI.asm'
487 * SPI.asm
488
489 ****************************************************
******************
490 * Software serial peripheral interface.
*
491 ****************************************************
******************
492
493 ****************************************************
******************
494 * MCU_Master & MCU_Slave
*
495 * These subroutines set the data direction of the
I/O pins used *
496 * as the SPI interface. It also sets the state of
the /RST pin *
497 * which determines whether the Romeo2 is the master
or slave. *
498 * PTA[4] = Romeo2 MISO
*
499 * PTA[3] = Romeo2 SCK
*
500 * PTA[2] = Romeo2 MOSI
*
501 * PTA[1] = Romeo2 /RST
*
502 ****************************************************
Main.asm Assembled with CASM08Z 3/12/2003 10:12:03 AM PAGE 13
******************
E207 [04] 1200 503 MCU_Master: BSET 1,PTA
;Reset Romeo2 bit counter.
E209 [02] 87 504 PSHA
E20A [02] A6FF 505 LDA #$FF
E20C [03] 4BFE 506 DBNZA *
E20E [02] 86 507 PULA
E20F [04] 1300 508 BCLR 1,PTA
;Put Romeo2 in slave mode
509
E211 [04] 1700 510 BCLR 3,PTA
;Hold SCK low
E213 [04] 1500 511 BCLR 2,PTA
;Hold MOSI low
E215 [04] 1904 512 BCLR 4,DDRA
;Romeo2 MISO is input
E217 [04] 1604 513 BSET 3,DDRA
;Romeo2 SCK is output
E219 [04] 1404 514 BSET 2,DDRA
;Romeo2 MOSI is output
515
E21B [04] 81 516 RTS
517
E21C [04] 1900 518 MCU_Slave: BCLR 4,PTA
;Hold MISO low
E21E [04] 1804 519 BSET 4,DDRA
;Romeo2 MISO is output
E220 [04] 1704 520 BCLR 3,DDRA
;Romeo2 SCK is input
E222 [04] 1504 521 BCLR 2,DDRA
;Romeo2 MOSI is input
522
E224 [04] 1200 523 BSET 1,PTA
;Put Romeo2 in master mode
524
E226 [02] 87 525 PSHA
;Wait a little
E227 [02] A6FF 526 LDA #$FF
E229 [03] 4BFE 527 DBNZA *
E22B [02] 86 528 PULA
529
E22C [04] 81 530 RTS
531
532 ****************************************************
******************
533 * RomeoConfig
*
534 * Sends the data stored in WRITE_SPI to the Romeo2.
*
535 * Also stores data read in READ_SPI. To read,
clock 3 bytes with *
536 * the first MOSI bit set (i.e. CR1 = 0x80). The
read values will be *
537 * stored in READ_SPI.
*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -