📄 i2c.lst
字号:
480 3 RTC_Data = _getkey();
481 3 I2CStart();
482 3 if (I2CMasterWrite(Dev_Add))
483 3 I2CStop();
484 3
485 3 \
486 3 if (I2CMasterWrite(Tamper2_Add_Reg))
487 3 I2CStop();
488 3
489 3 if (I2CMasterWrite(RTC_Data))
490 3 I2CStop();
491 3
492 3 I2CStop();
493 3 break;
494 3
495 3
496 3
497 3 /******************************************************************************/
498 3 /* */
499 3 /* case 40 - Reading the RTC Reg. of T0/T00/T11/T56 devices. */
500 3 /* */
501 3 /******************************************************************************/
502 3
503 3 case 40: /* Read the RTC Reg. Map */
504 3 I2CStart();
505 3 if (I2CMasterWrite(Dev_Add))
506 3 I2CStop();
507 3
508 3 if (I2CMasterWrite(Sec_Add_Reg))
509 3 I2CStop();
510 3
511 3 I2CStart();
512 3 if (I2CMasterWrite(Dev_Add+1))
513 3 I2CStop();
514 3
515 3 Sec_Reg = I2CMasterRead(0);
516 3 Min_Reg = I2CMasterRead(0);
517 3 Hr_Reg = I2CMasterRead(0);
518 3 DOW_Reg = I2CMasterRead(0);
519 3 DOM_Reg = I2CMasterRead(0);
520 3 Mon_Reg = I2CMasterRead(0);
521 3 Yr_Reg = I2CMasterRead(0);
C51 COMPILER V5.50, I2C 02/12/03 05:12:36 PAGE 9
522 3 Cont_Reg = I2CMasterRead(1);
523 3 Interrupts = P1;
524 3 I2CStop();
525 3
526 3 putchar (Sec_Reg);
527 3 putchar (Min_Reg);
528 3 putchar (Hr_Reg);
529 3 putchar (DOW_Reg);
530 3 putchar (DOM_Reg);
531 3 putchar (Mon_Reg);
532 3 putchar (Yr_Reg);
533 3 putchar (Cont_Reg);
534 3 putchar (Interrupts);
535 3 break;
536 3
537 3 /******************************************************************************/
538 3 /* */
539 3 /* case 41 - Reading the RTC Reg. of T80/T81/ST84/ST85 devices (I2C) */
540 3 /* */
541 3 /******************************************************************************/
542 3
543 3 case 41: /* Read the RTC Reg. Map */
544 3 I2CStart();
545 3 if (I2CMasterWrite(Dev_Add))
546 3 I2CStop();
547 3
548 3 if (I2CMasterWrite(Tenths_Sec_Add_Reg))
549 3 I2CStop();
550 3
551 3 I2CStart();
552 3 if (I2CMasterWrite(Dev_Add+1))
553 3 I2CStop();
554 3
555 3 Tenths_Sec_Reg = I2CMasterRead(0);
556 3 Sec_Reg = I2CMasterRead(0);
557 3 Min_Reg = I2CMasterRead(0);
558 3 Hr_Reg = I2CMasterRead(0);
559 3 DOW_Reg = I2CMasterRead(0);
560 3 DOM_Reg = I2CMasterRead(0);
561 3 Mon_Reg = I2CMasterRead(0);
562 3 Yr_Reg = I2CMasterRead(0);
563 3 Cont_Reg = I2CMasterRead(0);
564 3 Wdog_Reg = I2CMasterRead(0);
565 3 Al_Mon_Reg = I2CMasterRead(0);
566 3 Al_DOM_Reg = I2CMasterRead(0);
567 3 Al_Hr_Reg = I2CMasterRead(0);
568 3 Al_Min_Reg = I2CMasterRead(0);
569 3 Al_Sec_Reg = I2CMasterRead(1);
570 3 I2CStop();
571 3
572 3 I2CStart();
573 3 if (I2CMasterWrite(Dev_Add))
574 3 I2CStop();
575 3
576 3 if (I2CMasterWrite(SQW_Add_Reg))
577 3 I2CStop();
578 3
579 3 I2CStart();
580 3 if (I2CMasterWrite(Dev_Add+1))
581 3 I2CStop();
582 3
583 3 SQW_Reg = I2CMasterRead(1);
584 3 I2CStop();
585 3
586 3 Interrupts = P1;
587 3
C51 COMPILER V5.50, I2C 02/12/03 05:12:36 PAGE 10
588 3 putchar (Tenths_Sec_Reg);
589 3 putchar (Sec_Reg);
590 3 putchar (Min_Reg);
591 3 putchar (Hr_Reg);
592 3 putchar (DOW_Reg);
593 3 putchar (DOM_Reg);
594 3 putchar (Mon_Reg);
595 3 putchar (Yr_Reg);
596 3 putchar (Cont_Reg);
597 3 putchar (Wdog_Reg);
598 3 putchar (Al_Mon_Reg);
599 3 putchar (Al_DOM_Reg);
600 3 putchar (Al_Hr_Reg);
601 3 putchar (Al_Min_Reg);
602 3 putchar (Al_Sec_Reg);
603 3 putchar (SQW_Reg);
604 3 putchar (Interrupts);
605 3 break;
606 3
607 3
608 3
609 3 /******************************************************************************/
610 3 /* */
611 3 /* case 42 - Reading the RTC Reg. of ST87 device (I2C) */
612 3 /* */
613 3 /******************************************************************************/
614 3
615 3 case 42: /* Read the RTC Reg. Map */
616 3 I2CStart();
617 3 if (I2CMasterWrite(Dev_Add))
618 3 I2CStop();
619 3
620 3 if (I2CMasterWrite(Tenths_Sec_Add_Reg))
621 3 I2CStop();
622 3
623 3 I2CStart();
624 3 if (I2CMasterWrite(Dev_Add+1))
625 3 I2CStop();
626 3
627 3 Tenths_Sec_Reg = I2CMasterRead(0);
628 3 Sec_Reg = I2CMasterRead(0);
629 3 Min_Reg = I2CMasterRead(0);
630 3 Hr_Reg = I2CMasterRead(0);
631 3 DOW_Reg = I2CMasterRead(0);
632 3 DOM_Reg = I2CMasterRead(0);
633 3 Mon_Reg = I2CMasterRead(0);
634 3 Yr_Reg = I2CMasterRead(0);
635 3 Cont_Reg = I2CMasterRead(0);
636 3 Wdog_Reg = I2CMasterRead(0);
637 3 Al_Mon_Reg = I2CMasterRead(0);
638 3 Al_DOM_Reg = I2CMasterRead(0);
639 3 Al_Hr_Reg = I2CMasterRead(0);
640 3 Al_Min_Reg = I2CMasterRead(0);
641 3 Al_Sec_Reg = I2CMasterRead(1);
642 3 I2CStop();
643 3
644 3 I2CStart();
645 3 if (I2CMasterWrite(Dev_Add))
646 3 I2CStop();
647 3
648 3 if (I2CMasterWrite(SQW_Add_Reg))
649 3 I2CStop();
650 3
651 3 I2CStart();
652 3 if (I2CMasterWrite(Dev_Add+1))
653 3 I2CStop();
C51 COMPILER V5.50, I2C 02/12/03 05:12:36 PAGE 11
654 3
655 3 SQW_Reg = I2CMasterRead(0);
656 3 Tamper1_Reg = I2CMasterRead(0);
657 3 Tamper2_Reg = I2CMasterRead(1);
658 3 I2CStop();
659 3
660 3 Interrupts = P1;
661 3
662 3 putchar (Tenths_Sec_Reg);
663 3 putchar (Sec_Reg);
664 3 putchar (Min_Reg);
665 3 putchar (Hr_Reg);
666 3 putchar (DOW_Reg);
667 3 putchar (DOM_Reg);
668 3 putchar (Mon_Reg);
669 3 putchar (Yr_Reg);
670 3 putchar (Cont_Reg);
671 3 putchar (Wdog_Reg);
672 3 putchar (Al_Mon_Reg);
673 3 putchar (Al_DOM_Reg);
674 3 putchar (Al_Hr_Reg);
675 3 putchar (Al_Min_Reg);
676 3 putchar (Al_Sec_Reg);
677 3 putchar (SQW_Reg);
678 3 putchar (Tamper1_Reg);
679 3 putchar (Tamper2_Reg);
680 3 putchar (Interrupts);
681 3 break;
682 3
683 3
684 3 /*******************************************************************************/
685 3 /* */
686 3 /* case 45 - Write (Burst) Time to the RTC Reg. */
687 3 /* */
688 3 /*******************************************************************************/
689 3
690 3 case 45:
691 3 Sec_Data = _getkey();
692 3 Min_Data = _getkey();
693 3 Hr_Data = _getkey();
694 3 DOW_Data = _getkey();
695 3 DOM_Data = _getkey();
696 3 Mon_Data = _getkey();
697 3 Yr_Data = _getkey();
698 3
699 3 I2CStart();
700 3
701 3 if (I2CMasterWrite(Dev_Add))
702 3 I2CStop();
703 3
704 3 if (I2CMasterWrite(Sec_Add_Reg))
705 3 I2CStop();
706 3
707 3 I2CMasterWrite(Sec_Data);
708 3 I2CMasterWrite(Min_Data);
709 3 I2CMasterWrite(Hr_Data);
710 3 I2CMasterWrite(DOW_Data);
711 3 I2CMasterWrite(DOM_Data);
712 3 I2CMasterWrite(Mon_Data);
713 3 I2CMasterWrite(Yr_Data);
714 3 I2CStop();
715 3 break;
716 3
717 3
718 3
719 3 /******************************************************************************/
C51 COMPILER V5.50, I2C 02/12/03 05:12:36 PAGE 12
720 3 /* */
721 3 /* case 50 - Write all zeroes & all ones to the RAM. */
722 3 /* case 51 - Write data to certain location of the RAM. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -