📄 main_hyperterm.lst
字号:
;Check all tire ID bytes.
E161 [03] B167 394 CMP RFID
E163 [03] 2632 395 BNE L2
E165 [03] B64F 396 LDA DATA+6
E167 [03] B168 397 CMP RFID+1
E169 [03] 262C 398 BNE L2
E16B [03] B64E 399 LDA DATA+5
E16D [03] B169 400 CMP RFID+2
E16F [03] 2626 401 BNE L2
E171 [03] B64D 402 LDA DATA+4
E173 [03] B16A 403 CMP RFID+3
E175 [03] 2620 404 BNE L2
405
E177 [03] 3F54 406 RF_Match: CLR RFCNTL
E179 [03] 3F53 407 CLR RFCNTH
E17B [04] 144A 408 BSET 2,DATA+1
;Indicate which tire in STATUS
E17D [05] CDE10D 409 JSR Blink_Rx
Main_Hyperterm.asm Assembled with CASM08Z 1/28/2003 9:41:14 PM PAGE 11
;Blink the Rx LED.
E180 [05] 0F5B04 410 BRCLR 7,FAST_MODE,RF
E183 [04] 165B 411 BSET 3,FAST_MODE
E185 [03] 2002 412 BRA RF1
413
E187 [04] 175B 414 RF: BCLR 3,FAST_MODE
E189 [03] B64C 415 RF1: LDA DATA+3
E18B [03] B162 416 CMP THRESHOLD
E18D [03] 2204 417 BHI RF_OK
E18F [04] 1601 418 BSET 3,PTB
E191 [03] 2072 419 BRA EXIT
E193 [04] 1701 420 RF_OK: BCLR 3,PTB
E195 [03] 206E 421 BRA EXIT
422
E197 [03] B650 423 L2: LDA DATA+7
;Check all tire ID bytes.
E199 [03] B16B 424 CMP LRID
E19B [03] 2632 425 BNE L3
E19D [03] B64F 426 LDA DATA+6
E19F [03] B16C 427 CMP LRID+1
E1A1 [03] 262C 428 BNE L3
E1A3 [03] B64E 429 LDA DATA+5
E1A5 [03] B16D 430 CMP LRID+2
E1A7 [03] 2626 431 BNE L3
E1A9 [03] B64D 432 LDA DATA+4
E1AB [03] B16E 433 CMP LRID+3
E1AD [03] 2620 434 BNE L3
435
E1AF [03] 3F56 436 LR_Match: CLR LRCNTL
E1B1 [03] 3F55 437 CLR LRCNTH
E1B3 [04] 124A 438 BSET 1,DATA+1
;Indicate which tire in STATUS
E1B5 [05] CDE10D 439 JSR Blink_Rx
;Blink the Rx LED.
E1B8 [05] 0F5B04 440 BRCLR 7,FAST_MODE,LR
E1BB [04] 125B 441 BSET 1,FAST_MODE
E1BD [03] 2002 442 BRA LR1
443
E1BF [04] 135B 444 LR: BCLR 1,FAST_MODE
E1C1 [03] B64C 445 LR1: LDA DATA+3
E1C3 [03] B162 446 CMP THRESHOLD
E1C5 [03] 2204 447 BHI LR_OK
E1C7 [04] 1201 448 BSET 1,PTB
E1C9 [03] 203A 449 BRA EXIT
E1CB [04] 1301 450 LR_OK: BCLR 1,PTB
E1CD [03] 2036 451 BRA EXIT
452
E1CF [03] B650 453 L3: LDA DATA+7
;Check all tire ID bytes.
E1D1 [03] B16F 454 CMP RRID
E1D3 [03] 2633 455 BNE BadID
E1D5 [03] B64F 456 LDA DATA+6
E1D7 [03] B170 457 CMP RRID+1
E1D9 [03] 262D 458 BNE BadID
E1DB [03] B64E 459 LDA DATA+5
E1DD [03] B171 460 CMP RRID+2
E1DF [03] 2627 461 BNE BadID
E1E1 [03] B64D 462 LDA DATA+4
Main_Hyperterm.asm Assembled with CASM08Z 1/28/2003 9:41:14 PM PAGE 12
E1E3 [03] B172 463 CMP RRID+3
E1E5 [03] 2621 464 BNE BadID
465
E1E7 [03] 3F58 466 RR_Match: CLR RRCNTL
E1E9 [03] 3F57 467 CLR RRCNTH
E1EB [04] 104A 468 BSET 0,DATA+1
;Indicate which tire in STATUS
E1ED [05] CDE10D 469 JSR Blink_Rx
;Blink the Rx LED.
E1F0 [05] 0F5B04 470 BRCLR 7,FAST_MODE,RR
E1F3 [04] 145B 471 BSET 2,FAST_MODE
E1F5 [03] 2002 472 BRA RR1
473
E1F7 [04] 155B 474 RR: BCLR 2,FAST_MODE
E1F9 [03] B64C 475 RR1: LDA DATA+3
E1FB [03] B162 476 CMP THRESHOLD
E1FD [03] 2204 477 BHI RR_OK
E1FF [04] 1401 478 BSET 2,PTB
E201 [03] 2002 479 BRA EXIT
E203 [04] 1501 480 RR_OK BCLR 2,PTB
481
E205 [04] 1F5B 482 EXIT: BCLR 7,FAST_MODE
E207 [04] 81 483 RTS
484
E208 [01] 9C 485 BadID: RSP
E209 [04] 1F5B 486 BCLR 7,FAST_MODE
E20B [03] CCE3CD 487 JMP Loop
;If the ID is bad, then we can ignore
488
;the data.
E20E 489 $Include 'SPI.asm'
490 * SPI.asm
491
492 ****************************************************
******************
493 * Software serial peripheral interface.
*
494 ****************************************************
******************
495
496 ****************************************************
******************
497 * MCU_Master & MCU_Slave
*
498 * These subroutines set the data direction of the
I/O pins used *
499 * as the SPI interface. It also sets the state of
the /RST pin *
500 * which determines whether the Romeo2 is the master
or slave. *
501 * PTA[4] = Romeo2 MISO
*
502 * PTA[3] = Romeo2 SCK
*
503 * PTA[2] = Romeo2 MOSI
*
504 * PTA[1] = Romeo2 /RST
*
Main_Hyperterm.asm Assembled with CASM08Z 1/28/2003 9:41:14 PM PAGE 13
505 ****************************************************
******************
E20E [04] 1200 506 MCU_Master: BSET 1,PTA
;Reset Romeo2 bit counter.
E210 [02] 87 507 PSHA
E211 [02] A6FF 508 LDA #$FF
E213 [03] 4BFE 509 DBNZA *
E215 [02] 86 510 PULA
E216 [04] 1300 511 BCLR 1,PTA
;Put Romeo2 in slave mode
512
E218 [04] 1700 513 BCLR 3,PTA
;Hold SCK low
E21A [04] 1500 514 BCLR 2,PTA
;Hold MOSI low
E21C [04] 1904 515 BCLR 4,DDRA
;Romeo2 MISO is input
E21E [04] 1604 516 BSET 3,DDRA
;Romeo2 SCK is output
E220 [04] 1404 517 BSET 2,DDRA
;Romeo2 MOSI is output
518
E222 [04] 81 519 RTS
520
E223 [04] 1900 521 MCU_Slave: BCLR 4,PTA
;Hold MISO low
E225 [04] 1804 522 BSET 4,DDRA
;Romeo2 MISO is output
E227 [04] 1704 523 BCLR 3,DDRA
;Romeo2 SCK is input
E229 [04] 1504 524 BCLR 2,DDRA
;Romeo2 MOSI is input
525
E22B [04] 1200 526 BSET 1,PTA
;Put Romeo2 in master mode
527
E22D [02] 87 528 PSHA
;Wait a little
E22E [02] A6FF 529 LDA #$FF
E230 [03] 4BFE 530 DBNZA *
E232 [02] 86 531 PULA
532
E233 [04] 81 533 RTS
534
535 ****************************************************
******************
536 * RomeoConfig
*
537 * Sends the data stored in WRITE_SPI to the Romeo2.
*
538 * Also stores data read in READ_SPI. To read,
clock 3 bytes with *
539 * the first MOSI bit set (i.e. CR1 = 0x80). The
read values will be *
540 * stored in READ_SPI.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -