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

📄 isr.lst

📁 单片机读写u盘的完整程序,代码全部用c语言编写。非常有价值的程序。这是本人花2500元购买的开发板源吗
💻 LST
字号:
C51 COMPILER V6.21  ISR                                                                    06/13/2005 16:14:56 PAGE 1   


C51 COMPILER V6.21, COMPILATION OF MODULE ISR
OBJECT MODULE PLACED IN ISR.OBJ
COMPILER INVOKED BY: g:\Keil_run\C51\BIN\C51.EXE ISR.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include "common.h"
   2          #include "HAL.H"
   3          #include "SL811.H"
   4          #include "HPI.H"
   5          #include "string.h"
   6          extern XXGFLAGS bdata bXXGFlags;
   7          //extern UART_CMD_BLOCK xdata inblock;
   8          //extern unsigned char xdata UartInBuffer[2112];
   9          extern UART_CMD_BLOCK xdata UartCmdBlock;
  10          extern unsigned char xdata UARTBUF[UARTBUF_LENGTH];
  11          //unsigned char nCount;
  12          /////////////////////////////////////////
  13          void ISRx_FN_USB(void);
  14          void Reset_Timer0(void);
  15          //////////////////////////////////////////
  16          void ISR_COMM(void) interrupt 4
  17          {
  18   1              unsigned char *pBuf=(unsigned char *)&UartCmdBlock;
  19   1              unsigned int cnt;
  20   1              unsigned char uartState,i;
  21   1              uartState=0;
  22   1              if(RI==0)
  23   1                      return;
  24   1              /////// CMD and PARA phase/////////////////
  25   1              //for(cnt=0;cnt<2;cnt++)
  26   1              {
  27   2                      while(!RI);
  28   2                      i=SBUF;
  29   2                      RI=0;
  30   2                      if(i==0xaa)
  31   2                              uartState=1;
  32   2                      else
  33   2                              {
  34   3                              bXXGFlags.bits.bCOM_ERR=1;
  35   3                              uartState=0;
  36   3                              return;
  37   3                              }
  38   2                      Reset_Timer0();
  39   2                      while(!RI && !TF0);
  40   2                      if(TF0)
  41   2                              {
  42   3                              bXXGFlags.bits.bCOM_ERR=1;
  43   3                              uartState=0;
  44   3                              return;
  45   3                              }
  46   2                      i=SBUF;
  47   2                      RI=0;
  48   2                      if((i==0xbb)&&(uartState==1))
  49   2                              uartState=2;
  50   2                      else
  51   2                              {
  52   3                              bXXGFlags.bits.bCOM_ERR=1;
  53   3                              uartState=0;
  54   3                              return;
  55   3                              }               
C51 COMPILER V6.21  ISR                                                                    06/13/2005 16:14:56 PAGE 2   

  56   2              }
  57   1              
  58   1              for(cnt=0;cnt<64;cnt++)
  59   1              {
  60   2                      Reset_Timer0();
  61   2                      while(!RI && !TF0);
  62   2                      if(TF0)
  63   2                              {
  64   3                              bXXGFlags.bits.bCOM_ERR=1;
  65   3                              uartState=0;
  66   3                              return;
  67   3                              }
  68   2                      *(pBuf+cnt)=SBUF;
  69   2                      RI=0;
  70   2              }       
  71   1              /////// data phase /////////////////////
  72   1              if(UartCmdBlock.cmd==CMD_WRITE_FILE)
  73   1                      {
  74   2                      UartCmdBlock.CmdBlock.Cmd_WriteFile.writeLength=SwapINT16(UartCmdBlock.CmdBlock.Cmd_WriteFile.writeLengt
             -h);
  75   2                      if(UartCmdBlock.CmdBlock.Cmd_WriteFile.writeLength>MAX_WRITE_LENGTH)
  76   2                      {
  77   3                      bXXGFlags.bits.bCOM_ERR=1;
  78   3                      uartState=0;
  79   3                      return;
  80   3                      }
  81   2                      for(cnt=0;cnt<UartCmdBlock.CmdBlock.Cmd_WriteFile.writeLength;cnt++)
  82   2                              {
  83   3                              Reset_Timer0();
  84   3                              while(!RI && !TF0);
  85   3                              if(TF0)
  86   3                              {
  87   4                              bXXGFlags.bits.bCOM_ERR=1;
  88   4                              uartState=0;
  89   4                              return;
  90   4                              }
  91   3                              UARTBUF[cnt]=SBUF;
  92   3                              RI=0;
  93   3                              }
  94   2                      UartCmdBlock.CmdBlock.Cmd_WriteFile.writeLength=SwapINT16(UartCmdBlock.CmdBlock.Cmd_WriteFile.writeLengt
             -h);
  95   2                      
  96   2                      }                       
  97   1              //////////////////////////
  98   1              bXXGFlags.bits.bUartInDone=1;
  99   1              RI=0;   
 100   1      }
 101          void ISR_Timer0(void) interrupt 1
 102          {
 103   1              DISABLE_INTERRUPTS;
 104   1              //lClockTicks ++;
 105   1              bXXGFlags.bits.bTimer = 1;
 106   1              
 107   1              //if(bZBoardFlags.bits.bLED == LED_FLASH)
 108   1              //      IO_LED ^= 1;
 109   1              ENABLE_INTERRUPTS;
 110   1      }
 111          void ISR_Timer1(void) interrupt 3
 112          {
 113   1      }
 114          void ISR_Timer2(void) interrupt 5
 115          {
C51 COMPILER V6.21  ISR                                                                    06/13/2005 16:14:56 PAGE 3   

 116   1      }
 117          void ISR_INT1(void) interrupt 2
 118          {                       
 119   1      }
 120          void ISR_INT0(void) interrupt 0
 121          {
 122   1              //unsigned char intr;
 123   1              DISABLE_INTERRUPTS;
 124   1              //ISRx_FN_USB();
 125   1              //intr=SL811Read(IntStatus);
 126   1              SL811Write(IntStatus,INT_CLEAR);
 127   1              ENABLE_INTERRUPTS;
 128   1      }
 129          void Reset_Timer0(void)
 130          {
 131   1              TR0=0;
 132   1              TF0=0;
 133   1              TL0 = 0x0;         /* value set by user    */
 134   1              TH0 = 0x0;         /* value set by user  */
 135   1              //ET0 = 1;           /* IE.1*/
 136   1              TR0 = 1;           /* TCON.4 start timer  */
 137   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    434    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       7
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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