⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zj.lst

📁 我设计的CAN总线模块
💻 LST
📖 第 1 页 / 共 5 页
字号:
 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 + -