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

📄 main.lst

📁 采用811芯片实现单片机读写U盘的源代码
💻 LST
字号:
C51 COMPILER V7.00  MAIN                                                                   09/23/2005 09:30:03 PAGE 1   


C51 COMPILER V7.00, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\out\main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c LARGE BROWSE DEBUG OBJECTEXTEND OBJECT(.\out\main.obj)

stmt level    source

   1          #define MAIN_FILE
   2          #include "include.h"
   3          
   4          //XXGFLAGS bdata bXXGFlags;
   5          //extern unsigned char xdata DBUF[BUFFER_LENGTH];
   6          
   7          void Init_Timer0(void)
   8          {
   9   1              TMOD &= 0xF0;      /* clear Timer 0   */
  10   1              TMOD  |= 0x1;
  11   1              TL0 = 0xf0;         /* value set by user    *//*定时器0时间,5ms*/
  12   1              TH0 = 0xd8;         /* value set by user  */
  13   1              ET0 = 1;           /* IE.1*/
  14   1              TR0 = 1;           /* TCON.4 start timer  */
  15   1      //      PT0 = 1;
  16   1      }
  17          
  18          void Init_SpecialInterrupts(void)
  19          {
  20   1              IT0 = 0;
  21   1              EX0 = 1;
  22   1      //      PX0 = 0;
  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      }
  32          
  33          /*Serial Port */
  34          /*Mode            = 1  /8-bit UART
  35            Serial Port Interrupt    = Disabled         */
  36          /*Receive         = Enabled   */
  37          /*Auto Addressing    = Disabled   */
  38          void Init_COMM(void)
  39          {
  40   1              SCON = 0x50;
  41   1              PCON = 0x80 | PCON;
  42   1      //      TMOD = 0x21;
  43   1      //      TCON = 0x69;    /* TCON */
  44   1              //TH1 = 0xfa;           // 9600bps @ 11.0592MHz
  45   1              //TR1 = 0;
  46   1              T2CON=0x30;
  47   1              RCAP2H=0xFF;            // 57600 @ 24MHz: 24000000/(32*(65536-(RCAP2H,RCAP2L)))
  48   1              RCAP2L=0xF3;
  49   1      //      TI=0;
  50   1      //      RI=0;
  51   1              TR2=1;
  52   1              IP=0x35;
  53   1              ES = 1;
  54   1      }
  55          
C51 COMPILER V7.00  MAIN                                                                   09/23/2005 09:30:03 PAGE 2   

  56          void disp_data(uint len,void *buf)
  57          {
  58   1              #ifdef ZLH_DEBUG
  59   1              send_str(len,(uchar *)buf);
  60   1              wait_send_end();
  61   1              #endif  
  62   1      }               
  63          
  64                          
  65          void main(void)
  66          {
  67   1              uchar temp,error;
  68   1      //      uchar buf[20],i;
  69   1              uchar cmd,package,para[1100];
  70   1              uint len;
  71   1              
  72   1      //      DISABLE_INTERRUPTS;
  73   1              Init_Timer0();
  74   1              Init_SpecialInterrupts();
  75   1              Init_Port();
  76   1              Init_COMM();
  77   1              
  78   1              MCU_LED0=0;   //==0 点亮  ==1 熄灭
  79   1              MCU_LED1=1;
  80   1              
  81   1              DelayMs(110);
  82   1              
  83   1              #ifdef ZLH_DEBUG
  84   1      //      ENABLE_INTERRUPTS;
  85   1      //      while(1){
  86   1      //              
  87   1      //              error=rece_cmd(&cmd,&package,&len,para);
  88   1      //              disp_data(2,"A3");
  89   1      //              disp_data(1,&error);
  90   1      //              disp_data(1,&cmd);
  91   1      //              disp_data(1,&package);
  92   1      //              disp_data(2,&len);
  93   1      //              disp_data(len,para);
  94   1      //              while(!getkey());
  95   1      //      }       
  96   1      //      while(1){
  97   1      //              i=rece(10,buf);
  98   1      //              if(!i) break;
  99   1      //      }                       
 100   1      //      send_str(10,buf);
 101   1      //      i=wait_send_end;
 102   1      //      DISABLE_INTERRUPTS;     
 103   1              #endif
 104   1              
 105   1              bXXGFlags.bits.bUartInDone=0;   
 106   1              
 107   1              SL811_Init();
 108   1              
 109   1              for(temp=0;temp<64;temp++)
 110   1                      DBUF[temp]=0;
 111   1              
 112   1              ENABLE_INTERRUPTS;
 113   1              
 114   1              while(TRUE)
 115   1              {
 116   2                      if (bXXGFlags.bits.bTimer){
 117   3                              DISABLE_INTERRUPTS;
C51 COMPILER V7.00  MAIN                                                                   09/23/2005 09:30:03 PAGE 3   

 118   3                              bXXGFlags.bits.bTimer = 0;
 119   3                              ENABLE_INTERRUPTS;
 120   3      
 121   3                              //if(bXXGFlags.bits.bConfiguration)
 122   3                              check_key_LED();
 123   3                              }
 124   2                      if(bXXGFlags.bits.SLAVE_FOUND){
 125   3                              DISABLE_INTERRUPTS;
 126   3                              bXXGFlags.bits.SLAVE_FOUND=FALSE;
 127   3                              //for(temp=0;temp<4;temp++)
 128   3                                      DelayMs(250);
 129   3                              //DelayMs(50);
 130   3                              if(EnumUsbDev(1))                               // enumerate USB device, assign USB address = #1
 131   3                              {
 132   4                                      bXXGFlags.bits.SLAVE_ENUMERATED = TRUE; // Set slave USB device enumerated flag
 133   4                                      MCU_LED1=0;
 134   4                                      #ifdef ZLH_DEBUG
 135   4                                      disp_data(2,"A3");
 136   4                                      while(!getkey());
 137   4                                      #endif
 138   4                              }
 139   3      
 140   3                              #ifdef ZLH_DEBUG
 141   3                              disp_data(2,"A2");
 142   3                              #endif
 143   3                              
 144   3                              ENABLE_INTERRUPTS;
 145   3                              }
 146   2                      if(bXXGFlags.bits.SLAVE_REMOVED){
 147   3                              DISABLE_INTERRUPTS;
 148   3                              bXXGFlags.bits.SLAVE_REMOVED=FALSE;
 149   3                              bXXGFlags.bits.SLAVE_ENUMERATED = FALSE;
 150   3                              bXXGFlags.bits.SLAVE_IS_ATTACHED = FALSE;
 151   3                              //bXXGFlags.bits.bMassDevice=TRUE;
 152   3                              ENABLE_INTERRUPTS;
 153   3                              }
 154   2                      if(bXXGFlags.bits.bMassDevice){
 155   3                              DISABLE_INTERRUPTS;
 156   3                              bXXGFlags.bits.bMassDevice=FALSE;
 157   3                              if(EnumMassDev())
 158   3                                      {
 159   4                                      bXXGFlags.bits.SLAVE_IS_ATTACHED = TRUE;
 160   4                                      MCU_LED1=1;
 161   4                                      }
 162   3                              else
 163   3                                      {
 164   4      //                              MCU_LED1=1;
 165   4                                      bXXGFlags.bits.SLAVE_IS_ATTACHED = FALSE;
 166   4                                      }               
 167   3                              ENABLE_INTERRUPTS;
 168   3                      }
 169   2                      error=rece_cmd(&cmd,&package,&len,para);
 170   2                      if((error)&&(error!=OVER_TIME)){
 171   3                              send_error(error);
 172   3                      }
 173   2                      if(!error){
 174   3                              #ifdef ZLH_DEBUG
 175   3                              disp_data(2,"A3");
 176   3                              disp_data(1,&cmd);
 177   3      //                      disp_data(1,&package);
 178   3                              disp_data(2,&len);
 179   3      //                      if(len)
C51 COMPILER V7.00  MAIN                                                                   09/23/2005 09:30:03 PAGE 4   

 180   3      //                              disp_data(len,para);
 181   3                              #endif
 182   3                              MCU_LED1=0;
 183   3                              UartHandler(cmd,package,len,para);
 184   3                              MCU_LED1=1;
 185   3                      }       
 186   2      //              if(bXXGFlags.bits.bUartInDone){
 187   2      //                      DISABLE_INTERRUPTS;
 188   2      //                      bXXGFlags.bits.bUartInDone=0;   
 189   2      //                      UartHandler();
 190   2      //                      ENABLE_INTERRUPTS;      
 191   2      //                      }
 192   2                      
 193   2              }
 194   1              
 195   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    422    ----
   CONSTANT SIZE    =      6    ----
   XDATA SIZE       =   ----    1105
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2    ----
   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 + -