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

📄 main.lst

📁 usb FAT格式文件读写
💻 LST
字号:
C51 COMPILER V8.02   MAIN                                                                  01/14/2008 09:02:50 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN Main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Main.c BROWSE DEBUG OBJECTEXTEND

line 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 V8.02   MAIN                                                                  01/14/2008 09:02:50 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                                      DirStartCluster=0;
  93   4                                      DirStartCluster32=0;
  94   4                                      MCU_LED1=0;
  95   4                              }       
  96   3                              ENABLE_INTERRUPTS;      
  97   3                              }
  98   2                      if(bFlags.bits.SLAVE_REMOVED){
  99   3                              DISABLE_INTERRUPTS;
 100   3                              bFlags.bits.SLAVE_REMOVED=FALSE;
 101   3                              bFlags.bits.SLAVE_ENUMERATED = FALSE;
 102   3                              bFlags.bits.SLAVE_IS_ATTACHED = FALSE;
 103   3                              MCU_LED1=1;MCU_LED2=1;
 104   3                              ENABLE_INTERRUPTS;      
 105   3                              }
 106   2                      if(bFlags.bits.bUartInDone){
 107   3                              DISABLE_INTERRUPTS;
 108   3                              bFlags.bits.bUartInDone=0;
 109   3      
 110   3                              if(DeviceInfo.FAT)      //FAT32
 111   3                                      UartHandler32();
 112   3                              else
 113   3                                      UartHandler();  //FAT16
 114   3                              
 115   3                              ENABLE_INTERRUPTS;      
 116   3                              }
 117   2                      if(bFlags.bits.bMassDevice){
C51 COMPILER V8.02   MAIN                                                                  01/14/2008 09:02:50 PAGE 3   

 118   3                              DISABLE_INTERRUPTS;
 119   3                              bFlags.bits.bMassDevice=FALSE;
 120   3                              if(EnumMassDev())
 121   3                                      {
 122   4                                      bFlags.bits.SLAVE_IS_ATTACHED = TRUE;                           
 123   4                                      MCU_LED2=0;     
 124   4                                      }
 125   3                              else
 126   3                                      {                               
 127   4                                      bFlags.bits.SLAVE_IS_ATTACHED = FALSE;                          
 128   4                                      temp=SL811Read(IntStatus);
 129   4                                      if(!(temp & 0x40))      bFlags.bits.SLAVE_FOUND=TRUE;
 130   4                                      }               
 131   3                                      ENABLE_INTERRUPTS;      
 132   3                              }       
 133   2                      
 134   2              }
 135   1              
 136   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    329    ----
   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 + -