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

📄 interruptc.lst

📁 采用CYGNAL F015单片机
💻 LST
字号:
C51 COMPILER V7.08   INTERRUPTC                                                            04/10/2005 22:25:31 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE INTERRUPTC
OBJECT MODULE PLACED IN interruptc.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE interruptc.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          // 中断服务程序 
   3          //-------------------------------------------------------------------- 
   4          // SMBus中断服务程序 
   5          void SMBUS_ISR (void) interrupt 7 
   6          { 
   7   1      switch (SMB0STA)
*** ERROR C202 IN LINE 7 OF INTERRUPTC.C: 'SMB0STA': undefined identifier
   8   1      { 
   9   2      // SMBus状态码SMB0STA寄存器 
  10   2      // 主发送器/接收器起始条件已发送 
  11   2      // 在该状态发送的COMMAND字的R/W位总是为0(W) 
  12   2      // 因为对于读和写操作来说都必须先写存储器地址 
  13   2      
  14   2      case SMB_START:
*** ERROR C202 IN LINE 14 OF INTERRUPTC.C: 'SMB_START': undefined identifier
  15   2         SMB0DAT = (COMMAND & 0xFE); // 装入要访问的从器件的地址 
*** ERROR C202 IN LINE 15 OF INTERRUPTC.C: 'SMB0DAT': undefined identifier
  16   2         STA = 0; // 手动清除START位 
*** ERROR C202 IN LINE 16 OF INTERRUPTC.C: 'STA': undefined identifier
  17   2         break;
  18   2          
  19   2      //主发送器/接收器重复起始条件已发送 
  20   2      // 该状态只应在读操作期间出现在存储器地址已发送并得到确认之后
  21   2       
  22   2      case SMB_RP_START: 
*** ERROR C202 IN LINE 22 OF INTERRUPTC.C: 'SMB_RP_START': undefined identifier
  23   2         SMB0DAT = COMMAND; // COMMAND中应保持从地址 + R. 
*** ERROR C202 IN LINE 23 OF INTERRUPTC.C: 'SMB0DAT': undefined identifier
  24   2         AA=1;
*** ERROR C202 IN LINE 24 OF INTERRUPTC.C: 'AA': undefined identifier
  25   2         STA = 0; 
*** ERROR C202 IN LINE 25 OF INTERRUPTC.C: 'STA': undefined identifier
  26   2         break;
  27   2          
  28   2      // 主发送器从地址 + WRITE已发送收到ACK
  29   2       
  30   2      case SMB_MTADDACK: 
*** ERROR C202 IN LINE 30 OF INTERRUPTC.C: 'SMB_MTADDACK': undefined identifier
  31   2         SMB0DAT = LOW_ADD; // 装入待写存储器地址的高字节 
*** ERROR C202 IN LINE 31 OF INTERRUPTC.C: 'SMB0DAT': undefined identifier
  32   2         break; 
  33   2      
  34   2       // 主发送器从地址 + WRITE已发送收到NACK 
  35   2       // 从器件不应答发送STOP + START重试
  36   2          
  37   2      case SMB_MTADDNACK: 
*** ERROR C202 IN LINE 37 OF INTERRUPTC.C: 'SMB_MTADDNACK': undefined identifier
  38   2         STO = 1; 
*** ERROR C202 IN LINE 38 OF INTERRUPTC.C: 'STO': undefined identifier
  39   2         STA = 1; 
*** ERROR C202 IN LINE 39 OF INTERRUPTC.C: 'STA': undefined identifier
  40   2         break;
  41   2          
  42   2      // 主发送器数据字节已发送收到ACK 
C51 COMPILER V7.08   INTERRUPTC                                                            04/10/2005 22:25:31 PAGE 2   

  43   2      // 该状态在写和读操作中都要用到BYTE_NUMBER看存储器地址状态 - 如果 
  44   2      // 只发送了HIGH_ADD则装入LOW_ADD如果LOW_ADD已发送检查COMMAND 
  45   2      // 中的R/W 值以决定下一状态 
  46   2      
  47   2      case SMB_MTDBACK:
*** ERROR C202 IN LINE 47 OF INTERRUPTC.C: 'SMB_MTDBACK': undefined identifier
  48   2            if (COMMAND & 0x01) // 如果R/W=READ发送重复起始条件 
*** ERROR C202 IN LINE 48 OF INTERRUPTC.C: 'COMMAND': undefined identifier
  49   2            {
  50   3               //reversec=30; 
  51   3               STA = 1;
*** ERROR C202 IN LINE 51 OF INTERRUPTC.C: 'STA': undefined identifier
  52   3               STEP = 1;//0表示还未写地址,1表示地址已写,2表示读到第一个字节,3表示读到第一个字节。。。
*** ERROR C202 IN LINE 52 OF INTERRUPTC.C: 'STEP': undefined identifier
  53   3            } 
  54   2            else
  55   2            { 
  56   3                  if(BYTE_NUMBER>0)
*** ERROR C202 IN LINE 56 OF INTERRUPTC.C: 'BYTE_NUMBER': undefined identifier
  57   3               {
  58   4                         SMB0DAT = WORD; // 如果R/W=WRITE装入待写字节 
*** ERROR C202 IN LINE 58 OF INTERRUPTC.C: 'SMB0DAT': undefined identifier
  59   4                 BYTE_NUMBER--;
*** ERROR C202 IN LINE 59 OF INTERRUPTC.C: 'BYTE_NUMBER': undefined identifier
  60   4               }
  61   3              else
  62   3                       {
  63   4                     STO = 1; 
*** ERROR C202 IN LINE 63 OF INTERRUPTC.C: 'STO': undefined identifier
  64   4                 SM_BUSY = 0; // 释放SMBus 
*** ERROR C202 IN LINE 64 OF INTERRUPTC.C: 'SM_BUSY': undefined identifier
  65   4                       
  66   4                        }
  67   3             } 
  68   2            break; 
  69   2      
  70   2           // 主发送器数据字节已发送收到NACK 
  71   2           // 从器件不应答发送STOP + START重试 
  72   2      case SMB_MTDBNACK: 
*** ERROR C202 IN LINE 72 OF INTERRUPTC.C: 'SMB_MTDBNACK': undefined identifier
  73   2           STO = 1; 
*** ERROR C202 IN LINE 73 OF INTERRUPTC.C: 'STO': undefined identifier
  74   2           STA = 1; 
*** ERROR C202 IN LINE 74 OF INTERRUPTC.C: 'STA': undefined identifier
  75   2           break; 
  76   2      
  77   2            // 主发送器竞争失败 
  78   2      // 不应出现如果出现重新开始传输过程 
  79   2      case SMB_MTARBLOST: 
*** ERROR C202 IN LINE 79 OF INTERRUPTC.C: 'SMB_MTARBLOST': undefined identifier
  80   2           STO = 1; 
*** ERROR C202 IN LINE 80 OF INTERRUPTC.C: 'STO': undefined identifier
  81   2           STA = 1; 
*** ERROR C202 IN LINE 81 OF INTERRUPTC.C: 'STA': undefined identifier
  82   2           break; 
  83   2      
  84   2      
  85   2      // 主接收器从地址 + READ 已发送收到ACK 
  86   2      // 设置为在下一次传输后发送NACK因为那将是最后一个字节唯一 
  87   2      case SMB_MRADDACK: 
*** ERROR C202 IN LINE 87 OF INTERRUPTC.C: 'SMB_MRADDACK': undefined identifier
  88   2           AA = 1; // 在应答周期ACK 
C51 COMPILER V7.08   INTERRUPTC                                                            04/10/2005 22:25:31 PAGE 3   

*** ERROR C202 IN LINE 88 OF INTERRUPTC.C: 'AA': undefined identifier
  89   2           break; 
  90   2      
  91   2      
  92   2      // 主接收器从地址 + READ 已发送收到NACK 
  93   2      // 从器件不应答发送重复起始条件重试 
  94   2      case SMB_MRADDNACK: 
*** ERROR C202 IN LINE 94 OF INTERRUPTC.C: 'SMB_MRADDNACK': undefined identifier
  95   2           STA = 1; 
*** ERROR C202 IN LINE 95 OF INTERRUPTC.C: 'STA': undefined identifier
  96   2           break;
  97   2               
  98   2                
  99   2      // 收到数据字节ACK已发送 
 100   2      // 该状态不应出现因为AA已在前一状态被清0如果出现发送停止条件 
 101   2      case SMB_MRDBACK:
*** ERROR C202 IN LINE 101 OF INTERRUPTC.C: 'SMB_MRDBACK': undefined identifier
 102   2          //RECVCHARS[STEP-1]= revolve(SMB0DAT);
 103   2          RECVCHARS[STEP-1]= SMB0DAT;
*** ERROR C202 IN LINE 103 OF INTERRUPTC.C: 'STEP': undefined identifier
 104   2          STEP++;
*** ERROR C202 IN LINE 104 OF INTERRUPTC.C: 'STEP': undefined identifier
 105   2          if (STEP>(RECVLEN-1))       AA= 0;
*** ERROR C202 IN LINE 105 OF INTERRUPTC.C: 'STEP': undefined identifier
*** ERROR C202 IN LINE 105 OF INTERRUPTC.C: 'AA': undefined identifier
 106   2          break; 
 107   2      
 108   2      // 收到数据字节NACK已发送 
 109   2      // 读操作已完成读数据寄存器后发送停止条件 
 110   2      case SMB_MRDBNACK:
*** ERROR C202 IN LINE 110 OF INTERRUPTC.C: 'SMB_MRDBNACK': undefined identifier
 111   2          //RECVCHARS[STEP-1]= revolve(SMB0DAT); 
 112   2          STEP=0;
*** ERROR C202 IN LINE 112 OF INTERRUPTC.C: 'STEP': undefined identifier
 113   2          STO = 1; 
*** ERROR C202 IN LINE 113 OF INTERRUPTC.C: 'STO': undefined identifier
 114   2          SM_BUSY = 0; // 释放SMBus 
*** ERROR C202 IN LINE 114 OF INTERRUPTC.C: 'SM_BUSY': undefined identifier
 115   2          break;
 116   2               
 117   2      // 在本应用中所有其它状态码没有意义通信复位 
 118   2      default: 
 119   2          STO = 1; // 通信复位 
*** ERROR C202 IN LINE 119 OF INTERRUPTC.C: 'STO': undefined identifier
 120   2          SM_BUSY = 0; 
*** ERROR C202 IN LINE 120 OF INTERRUPTC.C: 'SM_BUSY': undefined identifier
 121   2          break; 
 122   2        } 
 123   1       SI=0; // 清除中断标志
*** ERROR C202 IN LINE 123 OF INTERRUPTC.C: 'SI': undefined identifier
 124   1      } 
 125          
 126          void RBuf (void) interrupt 4 //using 3
 127          {
 128   1          unsigned char tchar; 
 129   1          EA=0;
*** ERROR C202 IN LINE 129 OF INTERRUPTC.C: 'EA': undefined identifier
 130   1              if (RI)
*** ERROR C202 IN LINE 130 OF INTERRUPTC.C: 'RI': undefined identifier
 131   1              {  
 132   2                  TR2     =   0;
*** ERROR C202 IN LINE 132 OF INTERRUPTC.C: 'TR2': undefined identifier
C51 COMPILER V7.08   INTERRUPTC                                                            04/10/2005 22:25:31 PAGE 4   

 133   2              TH2     =0xfe;                   //等待10个字节时须在16位模式下设置为0xf933
*** ERROR C202 IN LINE 133 OF INTERRUPTC.C: 'TH2': undefined identifier
 134   2              TL2     =0xfb; 
*** ERROR C202 IN LINE 134 OF INTERRUPTC.C: 'TL2': undefined identifier
 135   2                  //TR2     =   1;
 136   2                  if(DataNo<RBUFSIZE)
*** ERROR C202 IN LINE 136 OF INTERRUPTC.C: 'DataNo': undefined identifier
 137   2              {
 138   3                RData[Pos]=SBUF;
*** ERROR C202 IN LINE 138 OF INTERRUPTC.C: 'Pos': undefined identifier
 139   3                 Pos++;
*** ERROR C202 IN LINE 139 OF INTERRUPTC.C: 'Pos': undefined identifier
 140   3                        Pos%=RBUFSIZE;
*** ERROR C202 IN LINE 140 OF INTERRUPTC.C: 'Pos': undefined identifier
 141   3                DataNo++;
*** ERROR C202 IN LINE 141 OF INTERRUPTC.C: 'DataNo': undefined identifier
 142   3              }
 143   2                      else
 144   2                      {
 145   3                    tchar=SBUF;
*** ERROR C202 IN LINE 145 OF INTERRUPTC.C: 'SBUF': undefined identifier
 146   3                         TestVar=tchar;
*** ERROR C202 IN LINE 146 OF INTERRUPTC.C: 'TestVar': undefined identifier
 147   3      
 148   3                      }
 149   2               RI=0;
*** ERROR C202 IN LINE 149 OF INTERRUPTC.C: 'RI': undefined identifier
 150   2              }
 151   1         if(TI)
*** ERROR C202 IN LINE 151 OF INTERRUPTC.C: 'TI': undefined identifier
 152   1         {
 153   2               TI=0;
*** ERROR C202 IN LINE 153 OF INTERRUPTC.C: 'TI': undefined identifier
 154   2                if(DataSended>0)
*** ERROR C202 IN LINE 154 OF INTERRUPTC.C: 'DataSended': undefined identifier
 155   2                 {
 156   3                 if(DataSended<20)
*** ERROR C202 IN LINE 156 OF INTERRUPTC.C: 'DataSended': undefined identifier
 157   3                   {
 158   4               SBUF=SData[DataSended];
*** ERROR C202 IN LINE 158 OF INTERRUPTC.C: 'SBUF': undefined identifier
 159   4                       DataSended++;
*** ERROR C202 IN LINE 159 OF INTERRUPTC.C: 'DataSended': undefined identifier
 160   4                       TestVar4=DataSended;
*** ERROR C202 IN LINE 160 OF INTERRUPTC.C: 'TestVar4': undefined identifier
 161   4      
 162   4               }
 163   3             else
 164   3                {
 165   4                   SData[0] =0;
*** ERROR C202 IN LINE 165 OF INTERRUPTC.C: 'SData': undefined identifier
 166   4               DataSended =0;
*** ERROR C202 IN LINE 166 OF INTERRUPTC.C: 'DataSended': undefined identifier
 167   4                    }
 168   3              }
 169   2              }
 170   1         EA=1;
*** ERROR C202 IN LINE 170 OF INTERRUPTC.C: 'EA': undefined identifier
 171   1         return;
 172   1      }
 173          
 174          void Timer0_ISR (void) interrupt 1   //DA REFRESH TIMER
C51 COMPILER V7.08   INTERRUPTC                                                            04/10/2005 22:25:31 PAGE 5   

 175          {
 176   1         DAC0L=DALOW;
*** ERROR C202 IN LINE 176 OF INTERRUPTC.C: 'DAC0L': undefined identifier
 177   1         DAC0H=DAHIGH;                         
*** ERROR C202 IN LINE 177 OF INTERRUPTC.C: 'DAC0H': undefined identifier
 178   1      
 179   1      }
 180          
 181          void Timer2_ISR (void) interrupt 5   //串口超时检测
 182          {
 183   1         TR2 =0;        //停计数器2
*** ERROR C202 IN LINE 183 OF INTERRUPTC.C: 'TR2': undefined identifier
 184   1         TF2 =0;     //清溢出标志位
*** ERROR C202 IN LINE 184 OF INTERRUPTC.C: 'TF2': undefined identifier
 185   1         ES0=0;
*** ERROR C202 IN LINE 185 OF INTERRUPTC.C: 'ES0': undefined identifier
 186   1         TestVar5=0x66;
*** ERROR C202 IN LINE 186 OF INTERRUPTC.C: 'TestVar5': undefined identifier
 187   1         if(DataNo>0)
*** ERROR C202 IN LINE 187 OF INTERRUPTC.C: 'DataNo': undefined identifier
 188   1         { 
 189   2            DataNo=0 ;
*** ERROR C202 IN LINE 189 OF INTERRUPTC.C: 'DataNo': undefined identifier
 190   2            Pos=0;
*** ERROR C202 IN LINE 190 OF INTERRUPTC.C: 'Pos': undefined identifier
 191   2                Head=0;
*** ERROR C202 IN LINE 191 OF INTERRUPTC.C: 'Head': undefined identifier
 192   2         }
 193   1         ES0=1;
*** ERROR C202 IN LINE 193 OF INTERRUPTC.C: 'ES0': undefined identifier
 194   1      }
 195          
 196          void Timer3_ISR (void) interrupt 14  //定时读取参数
 197          {
 198   1              TMR3CN &= ~(0x80);                                                      // clear TF3
*** ERROR C202 IN LINE 198 OF INTERRUPTC.C: 'TMR3CN': undefined identifier
 199   1          S_SMBUS=1;
*** ERROR C202 IN LINE 199 OF INTERRUPTC.C: 'S_SMBUS': undefined identifier
 200   1      }

C51 COMPILATION COMPLETE.  0 WARNING(S),  80 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -