📄 zj.lst
字号:
593 2 if(!(trr!=0))
594 2 {
595 3 if(can_r_data!=ee)
596 3 {
597 4 j=sffid1; can_data[can_w_data][0]=(*j);
598 4 j=sffid2; can_data[can_w_data][1]=(*j);
599 4 j=sffdlc; trr=*j;
600 4 can_data[can_w_data][1]=(can_data[can_w_data][1]&0xe0)|(trr&0x0f);
601 4 j=sffsj1; can_data[can_w_data][2]=(*j);
602 4 j=sffsj2; can_data[can_w_data][3]=(*j);
603 4 j=sffsj3; can_data[can_w_data][4]=(*j);
604 4 j=sffsj4; can_data[can_w_data][5]=(*j);
605 4 j=sffsj5; can_data[can_w_data][6]=(*j);
606 4 j=sffsj6; can_data[can_w_data][7]=(*j);
607 4 j=sffsj7; can_data[can_w_data][8]=(*j);
608 4 j=sffsj8; can_data[can_w_data][9]=(*j);
609 4 can_w_data=can_w_data+1;
610 4 if(can_w_data>=700) can_w_data=0;
611 4 }
612 3 else { can_Full=1; }
613 3 }
614 2 j=cmr; *j=0x0c; //释放缓冲区
615 2 }
616 1 }
617 //***********************************************************************
618 uart_int() interrupt 4
619 {
620 1 #define BS 0x08
621 1 char i;
622 1 if(TI==1) {TI=0;}
623 1 if(RI==1)
624 1 {
625 2 RI=0;
626 2 if(uart_data_w_Complete==1) return;
627 2
628 2 if(uart_data_i>50) //判断接收数据指针是否益处
629 2 {
630 3 uart_data_i=0;
631 3 for(i=0;i<sizeof(uart_data);i++) { uart_data[i]=0; }
632 3 return;
633 3 }
634 2
635 2 if(SBUF==BS) //判断是否为退格字符
636 2 {
637 3 if(uart_data_i!=0)
638 3 {
639 4 uart_data_i=uart_data_i-1;
640 4 uart_data[uart_data_i]=0;
641 4 }
642 3 return;
643 3 }
644 2 uart_data[uart_data_i]=SBUF;
645 2 uart_data_i=uart_data_i+1;
646 2 if(SBUF=='\r')
647 2 { uart_data_w_Complete=1; }
648 2 }
649 1 }
650 //***********************************************************************
651
652
C51 COMPILER V4.01, ZJ 11/06/03 12:01:37 PAGE 11
653
654
655
656
657
658
659
660
661
662
663
664 //***********************************************************************
665 #define ENDRDSLA 0XC0
666 #define ENDWRSLA 0XA0
667 #define WRSLA 0X60
668 #define RDSLA 0XA8
669 #define DATA_WRSLA 0X80
670 #define DATA_RDSLA 0X0B8
671 bit WRSLA_BIT=0;
672 bit RDSLA_BIT=0;
673 unsigned char POINT=0;
674
675 i2c_int() interrupt 5
676 {
677 1 if(S1STA==WRSLA) //器件收到自己的地址60
678 1 {
679 2 WRSLA_BIT=1;
680 2 S1CON=0XC5;
681 2 return;
682 2 }
683 1 if(S1STA==DATA_WRSLA) //器件收到写地址
684 1 {
685 2 if(WRSLA_BIT==1)
686 2 {
687 3 WRSLA_BIT=0;
688 3 S1CON=0XC5;
689 3 POINT=S1DAT;
690 3 } //器件收到写数据
691 2 else
692 2 { unsigned char idata a;
693 3 S1CON=0XC5;
694 3 EEPROM[POINT]=S1DAT;
695 3 a=POINT;
696 3 bb[a>>3]=bb[a>>3]|(er[a&0x07]);
697 3 POINT=POINT+1;
698 3 //if(POINT>0x3f) POINT=0;
699 3 }
700 2 return;
701 2 }
702 1 if(S1STA==ENDWRSLA) //器件收到写结束信号
703 1 {
704 2 S1CON=0XC5;
705 2 return;
706 2 }
707 1
708 1
709 1
710 1 if(S1STA==RDSLA)
711 1 {
712 2 S1DAT=EEPROM[POINT];
713 2 if(POINT==0)
714 2 {
715 3 EEPROM[POINT]=0;
716 3 INT_W=1;
717 3 }
718 2 S1CON=0XC5;
C51 COMPILER V4.01, ZJ 11/06/03 12:01:37 PAGE 12
719 2 POINT=POINT+1;
720 2 if(POINT>0x3f)POINT=0;
721 2 return;
722 2 }
723 1 if(S1STA==DATA_RDSLA)
724 1 {
725 2 S1DAT=EEPROM[POINT];
726 2 if(POINT==0)
727 2 {
728 3 EEPROM[POINT]=0;
729 3 INT_W=1;
730 3 }
731 2 S1CON=0XC5;
732 2 POINT=POINT+1;
733 2 //if(POINT>0x3f)POINT=0;
734 2 return;
735 2 }
736 1 if(S1STA==ENDRDSLA)
737 1 {
738 2 S1CON=0XC5;
739 2 return;
740 2 }
741 1 S1CON=0XC5;
742 1 }
743 /******************************************************/
C51 COMPILER V4.01, ZJ 11/06/03 12:01:37 PAGE 13
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION nop (BEGIN)
; SOURCE LINE # 13
; SOURCE LINE # 14
; SOURCE LINE # 15
0000 00 NOP
0001 00 NOP
0002 00 NOP
0003 00 NOP
0004 00 NOP
0005 00 NOP
0006 00 NOP
0007 00 NOP
0008 00 NOP
; SOURCE LINE # 16
0009 00 NOP
000A 00 NOP
000B 00 NOP
000C 00 NOP
000D 00 NOP
000E 00 NOP
000F 00 NOP
0010 00 NOP
0011 00 NOP
; SOURCE LINE # 17
0012 00 NOP
0013 00 NOP
0014 00 NOP
0015 00 NOP
0016 00 NOP
0017 00 NOP
0018 00 NOP
0019 00 NOP
001A 00 NOP
; SOURCE LINE # 18
001B 00 NOP
001C 00 NOP
001D 00 NOP
001E 00 NOP
001F 00 NOP
0020 00 NOP
0021 00 NOP
0022 00 NOP
0023 00 NOP
; SOURCE LINE # 19
0024 00 NOP
0025 00 NOP
0026 00 NOP
0027 00 NOP
0028 00 NOP
0029 00 NOP
002A 00 NOP
002B 00 NOP
002C 00 NOP
; SOURCE LINE # 20
002D 00 NOP
002E 00 NOP
002F 00 NOP
0030 00 NOP
0031 00 NOP
0032 00 NOP
0033 00 NOP
0034 00 NOP
0035 00 NOP
C51 COMPILER V4.01, ZJ 11/06/03 12:01:37 PAGE 14
; SOURCE LINE # 21
0036 00 NOP
0037 00 NOP
0038 00 NOP
0039 00 NOP
003A 00 NOP
003B 00 NOP
003C 00 NOP
003D 00 NOP
003E 00 NOP
; SOURCE LINE # 22
003F 00 NOP
0040 00 NOP
0041 00 NOP
0042 00 NOP
0043 00 NOP
0044 00 NOP
0045 00 NOP
0046 00 NOP
0047 00 NOP
; SOURCE LINE # 23
0048 00 NOP
0049 00 NOP
004A 00 NOP
004B 00 NOP
004C 00 NOP
004D 00 NOP
004E 00 NOP
004F 00 NOP
0050 00 NOP
; SOURCE LINE # 24
0051 00 NOP
0052 00 NOP
0053 00 NOP
0054 00 NOP
0055 00 NOP
0056 00 NOP
0057 00 NOP
0058 00 NOP
0059 00 NOP
; SOURCE LINE # 25
005A 00 NOP
005B 00 NOP
005C 00 NOP
005D 00 NOP
005E 00 NOP
005F 00 NOP
0060 00 NOP
0061 00 NOP
0062 00 NOP
; SOURCE LINE # 26
0063 00 NOP
0064 00 NOP
0065 00 NOP
0066 00 NOP
0067 00 NOP
0068 00 NOP
0069 00 NOP
006A 00 NOP
006B 00 NOP
; SOURCE LINE # 27
006C 00 NOP
006D 00 NOP
006E 00 NOP
006F 00 NOP
0070 00 NOP
C51 COMPILER V4.01, ZJ 11/06/03 12:01:37 PAGE 15
0071 00 NOP
0072 00 NOP
0073 00 NOP
0074 00 NOP
; SOURCE LINE # 28
0075 00 NOP
0076 00 NOP
0077 00 NOP
0078 00 NOP
0079 00 NOP
007A 00 NOP
007B 00 NOP
007C 00 NOP
007D 00 NOP
; SOURCE LINE # 29
007E 00 NOP
007F 00 NOP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -