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

📄 main.lst

📁 能用51读写U盘...创建文件格式...能自由创建文件.删除.读写
💻 LST
字号:
C51 COMPILER V7.06   MAIN                                                                  08/10/2005 23:25:27 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN Main.OBJ
COMPILER INVOKED BY: D:\Keil51\C51\BIN\C51.EXE Main.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include "common.H"
   2          #include "SL811.H"
   3          #include "TPBULK.H"
   4          #include "HAL.H"
   5          #include "HPI.H"
   6          #include "FAT.H"
   7          #include "FAT32.H"
   8          #include "HPI32.H"
   9          
  10          FLAGS bdata bFlags;
  11          extern unsigned char xdata DBUF[BUFFER_LENGTH];
  12          /////////////////////////////////////////////////
  13          extern unsigned long xdata DirStartCluster,DirStartCluster32;
  14          extern unsigned char xdata UARTBUF[UARTBUF_LENGTH];
  15          extern Command_Def xdata Command;
  16          extern SYS_INFO_BLOCK xdata DeviceInfo; 
  17          //////////////////////////////////////////
  18          
  19          void Init_SpecialInterrupts(void)
  20          {
  21   1              IT0 = 0;
  22   1              EX0 = 1;
  23   1      }
  24          
  25          void Init_Port()
  26          {
  27   1              P0 = 0xFF;
  28   1              P1 = 0xFF;
  29   1              P2 = 0xFF;
  30   1              P3 = 0xFF;
  31   1              SL811_CS=0;
  32   1      }
  33          
  34          /*Serial Port */
  35          /*Mode            = 1  /8-bit UART
  36            Serial Port Interrupt    = Disabled         */
  37          /*Receive         = Enabled   */
  38          /*Auto Addressing    = Disabled   */
  39          void Init_COMM(void)
  40          {
  41   1              SCON = 0x53;
  42   1              PCON = 0x80 | PCON;
  43   1              T2CON=0x30;
  44   1              RCAP2H=0xFF;            // 57600 @ 24MHz: 24000000/(32*(65536-(RCAP2H,RCAP2L)))
  45   1              RCAP2L=0xF3;
  46   1              TI=0;
  47   1              RI=0;
  48   1              TR2=1;
  49   1              ES = 1;
  50   1      }
  51          
  52          void main(void)
  53          {
  54   1              unsigned char temp;
  55   1              unsigned long xdata time_count;
C51 COMPILER V7.06   MAIN                                                                  08/10/2005 23:25:27 PAGE 2   

  56   1      
  57   1              SL811_RST=0;
  58   1              DelayMs(250);
  59   1              SL811_RST=1;
  60   1      
  61   1              Init_SpecialInterrupts();
  62   1              Init_Port();
  63   1          Init_COMM();
  64   1              SL811_Init();
  65   1      
  66   1              bFlags.bits.bUartInDone=0;      
  67   1              DirStartCluster=0;
  68   1              DirStartCluster32=0;
  69   1      
  70   1              for(temp=0;temp<64;temp++)
  71   1                      DBUF[temp]=0;
  72   1      
  73   1              ENABLE_INTERRUPTS;
  74   1              
  75   1              while(TRUE)
  76   1              {
  77   2              time_count++;           
  78   2                      if (time_count>1000)
  79   2                              {
  80   3                              DISABLE_INTERRUPTS;
  81   3                              time_count = 0;
  82   3                              ENABLE_INTERRUPTS;      
  83   3                              check_key_LED();                        
  84   3                              }
  85   2                      if(bFlags.bits.SLAVE_FOUND){
  86   3                              DISABLE_INTERRUPTS;
  87   3                              bFlags.bits.SLAVE_FOUND=FALSE;
  88   3                          DelayMs(250);
  89   3                              if(EnumUsbDev(1))                               // enumerate USB device, assign USB address = #1
  90   3                              {
  91   4                                      bFlags.bits.SLAVE_ENUMERATED = TRUE;    // Set slave USB device enumerated flag                         
  92   4                                      MCU_LED1=0;
  93   4                              }       
  94   3                              ENABLE_INTERRUPTS;      
  95   3                              }
  96   2                      if(bFlags.bits.SLAVE_REMOVED){
  97   3                              DISABLE_INTERRUPTS;
  98   3                              bFlags.bits.SLAVE_REMOVED=FALSE;
  99   3                              bFlags.bits.SLAVE_ENUMERATED = FALSE;
 100   3                              bFlags.bits.SLAVE_IS_ATTACHED = FALSE;
 101   3                              MCU_LED1=1;MCU_LED2=1;
 102   3                              ENABLE_INTERRUPTS;      
 103   3                              }
 104   2                      if(bFlags.bits.bUartInDone){
 105   3                              DISABLE_INTERRUPTS;
 106   3                              bFlags.bits.bUartInDone=0;
 107   3      
 108   3                              if(DeviceInfo.FAT)      //FAT32
 109   3                                      UartHandler32();
 110   3                              else
 111   3                                      UartHandler();  //FAT16
 112   3                              
 113   3                              ENABLE_INTERRUPTS;      
 114   3                              }
 115   2                      if(bFlags.bits.bMassDevice){
 116   3                              DISABLE_INTERRUPTS;
 117   3                              bFlags.bits.bMassDevice=FALSE;
C51 COMPILER V7.06   MAIN                                                                  08/10/2005 23:25:27 PAGE 3   

 118   3                              if(EnumMassDev())
 119   3                                      {
 120   4                                      bFlags.bits.SLAVE_IS_ATTACHED = TRUE;
 121   4                                      MCU_LED2=0;     
 122   4                                      //////////////////Test///////////////////
 123   4                                      /*
 124   4                                      for(temp=0;temp<DeviceInfo.DriveNum;temp++)
 125   4                                              {
 126   4                                              Command.CLass=0x0e;
 127   4                                              Command.Parameter[0]=temp;
 128   4                                              UartHandler32();
 129   4                                              }
 130   4                                      
 131   4                                      Command.CLass=0x0e;
 132   4                                      Command.Parameter[0]=0;
 133   4                                      UartHandler32();
 134   4      
 135   4                                      Command.CLass=0x00;
 136   4                                      if(DeviceInfo.FAT)      //FAT32
 137   4                                              UartHandler32();
 138   4                                      else
 139   4                                              UartHandler();  //FAT16
 140   4      
 141   4                                      Command.CLass=0x0e;
 142   4                                      Command.Parameter[0]=1;
 143   4                                      UartHandler32();
 144   4                                      Command.CLass=0x00;
 145   4                                      if(DeviceInfo.FAT)      //FAT32
 146   4                                              UartHandler32();
 147   4                                      else
 148   4                                              UartHandler();  //FAT16
 149   4                                       */
 150   4                                      /////////////////////////////////////////
 151   4                                      }
 152   3                              else
 153   3                                      {                               
 154   4                                      bFlags.bits.SLAVE_IS_ATTACHED = FALSE;                          
 155   4                                      temp=SL811Read(IntStatus);
 156   4                                      if(!(temp & 0x40))      bFlags.bits.SLAVE_FOUND=TRUE;
 157   4                                      }               
 158   3                                      ENABLE_INTERRUPTS;      
 159   3                              }       
 160   2                      
 161   2              }
 162   1              
 163   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    309    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----       4
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     10       1
   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 + -