📄 speedo1.lst
字号:
021D D521EB 468 DJNZ BITCNT,SB_LOOP ; LOOP FOR 8-BITS
0220 D2B1 469 SETB SDA ; SET SDA HIGH TO LOOK FOR
470 +1 SCL_HIGH ; ACKNOWLEDGE PULSE
0222 D2B0 471 +1 SETB SCL ; SET SCL HIGH
SPEEDO1 PAGE 9
0224 30B0FD 472 +1 JNB SCL,$ ; LOOP UNTIL STRONG 1 ON SCL
0227 C205 474 CLR ACK
0229 30B102 475 JNB SDA,SB_EX ; CHECK FOR ACK OR NOT ACK
022C D205 476 SETB ACK ; SET ACKNOWLEDGE FLAG FOR
477 ; NOT ACK
022E 478 SB_EX:
022E 5106 479 ACALL DEELAY ; DELAY FOR AN OPERATION
0230 C2B0 480 CLR SCL ; TRANSITION SCL HIGH-TO-LOW
0232 5106 481 ACALL DEELAY ; DELAY FOR AN OPERATION
0234 22 482 RET
483 ; *********************************************************************
484 ; SUB READS FROM THE EEPROM AND WRITES IT TO THE SCRATCHPAD MEMORY
485 ; *********************************************************************
0235 486 READEEPROM:
0235 7923 487 MOV R1,#POINT ; START FROM POINT STORAGE LOCATION
0237 752200 488 MOV BYTECNT,#00H
023A C200 489 CLR LASTREAD
023C 1201DD 490 LCALL SEND_START
023F 74A0 491 MOV A,#EEPROMW
0241 120208 492 LCALL SEND_BYTE
0244 7400 493 MOV A,#00H ; POINT TO 00H ADDRESS OF EEPROM
0246 120208 494 LCALL SEND_BYTE
0249 1201FA 495 LCALL SEND_STOP
496
024C 1201DD 497 LCALL SEND_START
024F 74A1 498 MOV A,#EEPROMR ; READ COMMAND
0251 120208 499 LCALL SEND_BYTE
500
0254 501 READ_LOOP:
0254 E522 502 MOV A,BYTECNT
0256 B40602 503 CJNE A,#06H,NOT_LAST ; CHECK FOR THE LAST BYTE
0259 D200 504 SETB LASTREAD
505
025B 506 NOT_LAST:
025B 1201BC 507 LCALL READ_BYTE
025E F7 508 MOV @R1,A
025F E522 509 MOV A,BYTECNT
0261 B40002 510 CJNE A,#00H,NOT_FIRST
0264 E7 511 MOV A,@R1
0265 F7 512 MOV @R1,A
0266 513 NOT_FIRST:
0266 09 514 INC R1 ;** INC RAM LOCATION **
0267 0522 515 INC BYTECNT
0269 E522 516 MOV A,BYTECNT
026B B407E6 517 CJNE A,#07H,READ_LOOP ; CHECK FOR 7th BYTE,IF 7th BYTE THEN STOP TRANSFER
026E 1201FA 518 LCALL SEND_STOP
0271 22 519 RET
520 ;*******************************************************************************************
*********************************
521
0272 522 SEND2EEPROM:
523
0272 1201DD 524 LCALL SEND_START ; SEND 2WIRE START CONDITION
0275 74A0 525 MOV A,#EEPROMW ; LOAD EEPROM WRITE COMMAND
0277 120208 526 LCALL SEND_BYTE ; SEND WRITE COMMAND
527
027A 7400 528 MOV A,#00H ; SET EEPROM DATA POINTER TO 00H (ADDRESS LOCATION)
SPEEDO1 PAGE 10
027C 120208 529 LCALL SEND_BYTE
530
027F E523 531 MOV A,POINT ; Send POINT
0281 120208 532 LCALL SEND_BYTE
533
0284 E524 534 MOV A,KM ; Send KM
0286 120208 535 LCALL SEND_BYTE
536
0289 E525 537 MOV A,TKM ; Send TKM
028B 120208 538 LCALL SEND_BYTE
539
028E E526 540 MOV A,HKM ; Send HKM
0290 120208 541 LCALL SEND_BYTE
542
0293 E527 543 MOV A,KKM ; Send KKM
0295 120208 544 LCALL SEND_BYTE
545
0298 E528 546 MOV A,TKKM ; Send TKM
029A 120208 547 LCALL SEND_BYTE
548
549
029D 1201FA 550 LCALL SEND_STOP ; SEND 2WIRE STOP CONDITION
551
02A0 22 552 RET
553
554
555
556 ;************************************************************************************
557
02A1 558 PWR_DELAY: ; 15 mSec DELAY FOR LCD TO INTIALIZE AFTER POWER-ON
02A1 7C1E 559 MOV R4,#30D
02A3 7BFA 560 H2: MOV R3,#250D
02A5 DBFE 561 H1: DJNZ R3,H1
02A7 DCFA 562 DJNZ R4,H2
02A9 22 563 RET
564
565
566
567 ;************************************************************************************
568
0350 569 ORG 0350H
570
0350 4B6D733A 571 MSG_1: DB 'Kms:',00H
0354 00
0355 53706565 572 MSG_2: DB 'Speed-Kmph:',00H
0359 642D4B6D
035D 70683A00
573
574
0361 575 FIRST:
0361 00000102 576 DB 0H,0H,1H,2H,2H,3H,4H,4H,5H,6H,6H,7H,8H,8H,9H,0H
0365 02030404
0369 05060607
036D 08080900
577
0371 578 SECOND:
0371 00060300 579 DB 0H,6H,3H,0H,7H,4H,0H,7H,4H,1H,8H,4H,1H,8H,5H,0H
0375 07040007
SPEEDO1 PAGE 11
0379 04010804
037D 01080500
580
0381 581 THIRD:
0381 00080604 582 DB 0H,8H,6H,4H,2H,0H,8H,6H,4H,2H,0H,8H,6H,4H,2H,0H
0385 02000806
0389 04020008
038D 06040200
583
584 END
585
VERSION 1.2k ASSEMBLY COMPLETE, 0 ERRORS FOUND
SPEEDO1 PAGE 12
ACC. . . . . . . . . . . . . . . D ADDR 00E0H PREDEFINED
ACK. . . . . . . . . . . . . . . B ADDR 0005H
ACKN . . . . . . . . . . . . . . C ADDR 01D5H
B. . . . . . . . . . . . . . . . D ADDR 00F0H PREDEFINED
BITCNT . . . . . . . . . . . . . D ADDR 0021H
BUS_FLT. . . . . . . . . . . . . B ADDR 0006H
BYTECNT. . . . . . . . . . . . . D ADDR 0022H
CLEAR. . . . . . . . . . . . . . C ADDR 01ADH NOT USED
CMD. . . . . . . . . . . . . . . C ADDR 0150H
DAT. . . . . . . . . . . . . . . C ADDR 0141H
DDELAY . . . . . . . . . . . . . C ADDR 01B3H
DEELAY . . . . . . . . . . . . . C ADDR 0206H
DISTO. . . . . . . . . . . . . . NUMB 00B4H
DONE . . . . . . . . . . . . . . C ADDR 01ACH
EA . . . . . . . . . . . . . . . B ADDR 00AFH PREDEFINED
EEPROMR. . . . . . . . . . . . . NUMB 00A1H
EEPROMW. . . . . . . . . . . . . NUMB 00A0H
EN . . . . . . . . . . . . . . . NUMB 00B7H
ET0. . . . . . . . . . . . . . . B ADDR 00A9H PREDEFINED
EXIT . . . . . . . . . . . . . . C ADDR 00CDH
FAULT. . . . . . . . . . . . . . C ADDR 01F7H
FIRST. . . . . . . . . . . . . . C ADDR 0361H
FLAGS. . . . . . . . . . . . . . D ADDR 0020H
GET_FIRST. . . . . . . . . . . . C ADDR 0060H
GET_SECOND . . . . . . . . . . . C ADDR 0068H NOT USED
GET_THIRD. . . . . . . . . . . . C ADDR 0070H NOT USED
H1 . . . . . . . . . . . . . . . C ADDR 02A5H
H2 . . . . . . . . . . . . . . . C ADDR 02A3H
HKM. . . . . . . . . . . . . . . D ADDR 0026H
INIT . . . . . . . . . . . . . . C ADDR 015FH
KKM. . . . . . . . . . . . . . . D ADDR 0027H
KM . . . . . . . . . . . . . . . D ADDR 0024H
LASTREAD . . . . . . . . . . . . B ADDR 0000H
LCD. . . . . . . . . . . . . . . NUMB 0090H
LINE1. . . . . . . . . . . . . . C ADDR 0192H
LINE11 . . . . . . . . . . . . . C ADDR 01A3H
LOOP . . . . . . . . . . . . . . C ADDR 004DH
MAIN . . . . . . . . . . . . . . C ADDR 000EH
MSG_1. . . . . . . . . . . . . . C ADDR 0350H
MSG_2. . . . . . . . . . . . . . C ADDR 0355H
NEXTLINE . . . . . . . . . . . . C ADDR 019BH
NOTONE . . . . . . . . . . . . . C ADDR 0213H
NOT_FIRST. . . . . . . . . . . . C ADDR 0266H
NOT_LAST . . . . . . . . . . . . C ADDR 025BH
OK . . . . . . . . . . . . . . . B ADDR 0001H NOT USED
ONE. . . . . . . . . . . . . . . C ADDR 0215H
ONESEC_DELAY . . . . . . . . . . C ADDR 00CEH
P1 . . . . . . . . . . . . . . . D ADDR 0090H PREDEFINED
P3 . . . . . . . . . . . . . . . D ADDR 00B0H PREDEFINED
POINT. . . . . . . . . . . . . . D ADDR 0023H
PWR_DELAY. . . . . . . . . . . . C ADDR 02A1H
QT1. . . . . . . . . . . . . . . C ADDR 01B7H
QT2. . . . . . . . . . . . . . . C ADDR 01B5H
READEEPROM . . . . . . . . . . . C ADDR 0235H
READY. . . . . . . . . . . . . . C ADDR 0131H
READ_BITS. . . . . . . . . . . . C ADDR 01C3H
READ_BYTE. . . . . . . . . . . . C ADDR 01BCH
READ_LOOP. . . . . . . . . . . . C ADDR 0254H
SPEEDO1 PAGE 13
RS . . . . . . . . . . . . . . . NUMB 00B2H
RW . . . . . . . . . . . . . . . NUMB 00B3H
RZ1. . . . . . . . . . . . . . . C ADDR 00D2H
RZ2. . . . . . . . . . . . . . . C ADDR 00D4H
RZ3. . . . . . . . . . . . . . . C ADDR 00D0H
SB_EX. . . . . . . . . . . . . . C ADDR 022EH
SB_LOOP. . . . . . . . . . . . . C ADDR 020BH
SCL. . . . . . . . . . . . . . . NUMB 00B0H
SDA. . . . . . . . . . . . . . . NUMB 00B1H
SECOND . . . . . . . . . . . . . C ADDR 0371H
SEND2EEPROM. . . . . . . . . . . C ADDR 0272H
SEND2LCD . . . . . . . . . . . . C ADDR 00DDH
SEND_BYTE. . . . . . . . . . . . C ADDR 0208H
SEND_START . . . . . . . . . . . C ADDR 01DDH
SEND_STOP. . . . . . . . . . . . C ADDR 01FAH
SP . . . . . . . . . . . . . . . D ADDR 0081H PREDEFINED
SPEDO. . . . . . . . . . . . . . NUMB 00B5H
SQW. . . . . . . . . . . . . . . B ADDR 0004H NOT USED
STORE. . . . . . . . . . . . . . B ADDR 0048H
STORE_DAT. . . . . . . . . . . . C ADDR 0080H
TH0. . . . . . . . . . . . . . . D ADDR 008CH PREDEFINED
THIRD. . . . . . . . . . . . . . C ADDR 0381H
TKKM . . . . . . . . . . . . . . D ADDR 0028H
TKM. . . . . . . . . . . . . . . D ADDR 0025H
TL0. . . . . . . . . . . . . . . D ADDR 008AH PREDEFINED
TL1. . . . . . . . . . . . . . . D ADDR 008BH PREDEFINED
TMOD . . . . . . . . . . . . . . D ADDR 0089H PREDEFINED
TOTAL. . . . . . . . . . . . . . D ADDR 0029H
TR0. . . . . . . . . . . . . . . B ADDR 008CH PREDEFINED
TR1. . . . . . . . . . . . . . . B ADDR 008EH PREDEFINED
UPDATE . . . . . . . . . . . . . C ADDR 0085H
VAL1 . . . . . . . . . . . . . . D ADDR 002AH
VAL2 . . . . . . . . . . . . . . D ADDR 002BH
VAL3 . . . . . . . . . . . . . . D ADDR 002CH
_2W_BUSY . . . . . . . . . . . . B ADDR 0007H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -