📄 ca745.lst
字号:
479 0119 09C6 BC P6,_sda
480 011A 1808 MOV A,@0x08
481 011B 0050 MOV count,a
482 011C 1816 MOV A,@device_addr
483 011D 0040 MOV INDF,A
484 011E write_bit_cyc:
485 011E 0986 BC P6,_scl
486 011F 11CA call delay_4us
487 0120 06C0 RLC INDF
488 0121 0C03 JBC STATUS,C
489 0122 0BC6 BS P6,_sda
490 0123 0E03 JBS STATUS,C
491 0124 09C6 BC P6,_sda
492 0125 11CA call delay_4us
493 0126 0B86 BS P6,_scl
494 0127 11C6 call delay_6us
495 0128 05D0 DJZ count
496 0129 151E JMP write_bit_cyc
497 012A write_byte_ack:
498 012A 0986 BC P6,_scl
499 M SDA_I
012B 0016 1 IOR P6 ,
012C 1980 1 OR A,@( 128 )
012D 0006 1 IOW P6 ,
500 012E 11C6 call delay_6us
501 012F 0B86 BS P6,_scl
502 0130 11CC call delay_3us
503 0131 0DC6 JBC P6,_sda
504 0132 1509 JMP _I2C_Write ;write_eeprom
505 0133 11CA call delay_4us
506 0134 write_byte_end:
507 0134 0544 INC FSR
508 0135 05D1 DJZ count1
509 0136 1515 JMP write_byte_cyc
510 0137 write_eeprom_end:
511 0137 0986 BC P6,_scl
512 M SDA_O
0138 0016 1 IOR P6 ,
0139 1A7F 1 AND A,@( 127 )
013A 0006 1 IOW P6 ,
513 013B 09C6 BC P6,_sda
514 013C 11C6 call delay_6us
515 013D 0B86 BS P6,_scl
516 013E 11C2 call delay_10us ;6us
517 013F 0BC6 BS P6,_sda
518 0140 11C2 call delay_10us
519 0141 0012 ret
520 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
521 ;read and write the eeprom program
522 ;write by ProBoy
523 ;2003-7-28
524 ;*****************************************************************************
525 0142 _I2C_Read:
526 M SDA_O ;START
0142 0016 1 IOR P6 ,
0143 1A7F 1 AND A,@( 127 )
0144 0006 1 IOW P6 ,
527 0145 0BC6 BS P6,_sda
528 0146 11C2 call delay_10us
529 0147 0B86 BS P6,_scl
530 0148 11C2 call delay_10us
531 0149 09C6 BC P6,_sda
532 014A 11C2 call delay_10us
533
534 014B 1802 MOV A,@0x02
535 014C 0051 MOV count1,a
536 014D write_byte_cyc1:
537 014D 0986 BC P6,_scl
538 M SDA_O
014E 0016 1 IOR P6 ,
014F 1A7F 1 AND A,@( 127 )
0150 0006 1 IOW P6 ,
539 0151 09C6 BC P6,_sda
540 0152 1808 MOV A,@0x08
541 0153 0050 MOV count,a
542 0154 1816 MOV A,@device_addr
543 0155 0040 MOV INDF,A
544 0156 write_bit_cyc1:
545 0156 0986 BC P6,_scl
546 0157 11CA call delay_4us
547 0158 06C0 RLC INDF
548 0159 0C03 JBC STATUS,C
549 015A 0BC6 BS P6,_sda
550 015B 0E03 JBS STATUS,C
551 015C 09C6 BC P6,_sda
552 015D 11CA call delay_4us
553 015E 0B86 BS P6,_scl
554 015F 11C6 call delay_6us
555 0160 05D0 DJZ count
556 0161 1556 JMP write_bit_cyc1
557 0162 write_byte_ack1:
558 0162 0986 BC P6,_scl
559 M SDA_I
0163 0016 1 IOR P6 ,
0164 1980 1 OR A,@( 128 )
0165 0006 1 IOW P6 ,
560 0166 11C6 call delay_6us
561 0167 0B86 BS P6,_scl
562 0168 11CC call delay_3us
563 0169 0DC6 JBC P6,_sda
564 016A 1542 JMP _I2C_Read
565 016B 11CA call delay_4us
566 016C write_byte_end1:
567 016C 0544 INC FSR
568 016D 05D1 DJZ count1
569 016E 154D JMP write_byte_cyc1
570
571
572
573 016F 0986 BC P6,_scl
574 0170 11C8 call delay_5us
575
576 M SDA_O ;START
0171 0016 1 IOR P6 ,
0172 1A7F 1 AND A,@( 127 )
0173 0006 1 IOW P6 ,
577 0174 0BC6 BS P6,_sda
578 0175 11C2 call delay_10us
579 0176 0B86 BS P6,_scl
580 0177 11C2 call delay_10us
581 0178 09C6 BC P6,_sda
582 0179 11C2 call delay_10us
583
584 017A 1801 MOV a,@0x01 ;Read SLAVE ADDRESS
585 017B 0216 OR a,device_addr
586 017C 0052 MOV temp,a
587 017D 1808 MOV a,@0x08
588 017E 0050 MOV count,a
589 017F device_bit_cyc1:
590 017F 0986 BC P6,_scl
591 0180 11CA call delay_4us
592 0181 06D2 RLC temp
593 0182 0C03 JBC STATUS,C
594 0183 0BC6 BS P6,_sda
595 0184 0E03 JBS STATUS,C
596 0185 09C6 BC P6,_sda
597 0186 11CA call delay_4us
598 0187 0B86 BS P6,_scl
599 0188 11C6 call delay_6us
600 0189 05D0 DJZ count
601 018A 157F JMP device_bit_cyc1
602
603 018B 0986 BC P6,_scl
604 M SDA_I
018C 0016 1 IOR P6 ,
018D 1980 1 OR A,@( 128 )
018E 0006 1 IOW P6 ,
605 018F 11C6 call delay_6us
606 0190 0B86 BS P6,_scl
607 0191 11C8 call delay_5us
608 0192 0DC6 JBC P6,_sda
609 0193 1542 JMP _I2C_Read
610 0194 11C8 call delay_5us
611
612
613 0195 00D2 CLR temp
614 0196 1808 MOV a,@0x08
615 0197 0050 MOV count,a
616 0198 bit_cyc:
617 0198 0986 BC P6,_scl
618 0199 11C2 call delay_10us
619 019A 0B86 BS P6,_scl
620 019B 11C8 call delay_5us
621 019C 0DC6 JBC P6,_sda
622 019D 0A03 BS STATUS,C
623 019E 0FC6 JBS P6,_sda
624 019F 0803 BC STATUS,C
625 01A0 06D2 RLC temp
626 01A1 11CE call delay_2us
627 01A2 05D0 DJZ count
628 01A3 1598 JMP bit_cyc
629 01A4 0412 MOV a,temp
630 01A5 0059 MOV RXBUF,a
631
632 01A6 read_eeprom_end: ;STOP
633 01A6 0986 BC P6,_scl
634 M SDA_O
01A7 0016 1 IOR P6 ,
01A8 1A7F 1 AND A,@( 127 )
01A9 0006 1 IOW P6 ,
635 01AA 09C6 BC P6,_sda
636 01AB 11C6 call delay_6us
637 01AC 0B86 BS P6,_scl
638 01AD 11C2 call delay_10us
639 01AE 0BC6 BS P6,_sda
640 01AF 11C2 call delay_10us
641 01B0 0012 ret
642 ;*****************************************************************
643 ;used: the LCD Display Table
644 ;reg:
645 ;wrt: ProBoy
646 ;date: 2001.07.03
647 ;*****************************************************************
648 01B1 LCD_DATA:
649 01B1 03C2 ADD PC,A
650 01B2 1C7B RETL 0x7b ;0
651 01B3 1C7B RETL 0x7b ;1
652 01B4 1C1C RETL 0x1c ;2
653 01B5 1C7B RETL 0x7b ;3
654 01B6 1C7B RETL 0x7b ;4
655 01B7 1C1C RETL 0x1c ;5
656 01B8 1C7B RETL 0x7b ;6
657 01B9 1C7B RETL 0x7b ;7
658 01BA 1C1C RETL 0x1c ;8
659 01BB 1C1C RETL 0x1c ;9
660 ;*****************************************************************
661 ;used: the delay for key
662 ;reg:
663 ;wrt: ProBoy
664 ;date: 2001.07.03
665 ;*****************************************************************
666 01BC delay_20ms:
667 01BC 18FF MOV A,@0XFF
668 01BD 0050 MOV COUNT,A
669 01BE LOOP:
670 01BE 11C6 CALL delay_6us
671 01BF 05D0 DJZ COUNT
672 01C0 15BE JMP LOOP
673 01C1 0012 RET
674 01C2 delay_10us:
675 01C2 15C3 JMP $+1
676 01C3 15C4 JMP $+1
677 01C4 15C5 JMP $+1
678 01C5 15C6 JMP $+1
679 01C6 delay_6us:
680 01C6 15C7 JMP $+1
681 01C7 15C8 JMP $+1
682 01C8 delay_5us:
683 01C8 15C9 JMP $+1
684 01C9 15CA JMP $+1
685 01CA delay_4us:
686 01CA 15CB JMP $+1
687 01CB 15CC JMP $+1
688 01CC delay_3us:
689 01CC 15CD JMP $+1
690 01CD 15CE JMP $+1
691 01CE delay_2us:
692 01CE 15CF JMP $+1
693 01CF 0012 ret
694 ;----------------------------------------
695 END
0 Error(s), 0 Warning(s), 0 User Message(s)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -