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

📄 main.lst

📁 用89C51SND1C实现的USB存储器的代码,包括USB通信和FLASH的读写操作.
💻 LST
字号:
C51 COMPILER V6.23a  MAIN                                                                  05/31/2003 09:23:11 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: E:\Program Files\keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <REGSND1.H>
   2          #include "uart.h"
   3          #include "atmelusbci.h"
   4          
   5          //三、读取端点0数据
   6          unsigned char ReadEp(unsigned char EpNum,unsigned char *Data)
   7          {
   8   1              unsigned char i=0,nLength;
   9   1              UEPNUM=EpNum;
  10   1      
  11   1              nLength=UBYCTX;
  12   1              while(nLength--) {Data[i++]=UEPDATX;/*printuf("%x ",Data[i]);*/}
  13   1      
  14   1              UEPSTAX&=~(RXOUTB0|RXOUTB1|RXSETUP);
  15   1              return(i);
  16   1      }
  17          
  18          void Ep0Int()
  19          {
  20   1       unsigned char i,j;
  21   1       unsigned char ControlData[32]={0,};
  22   1       printu("\nEp0 Interrrupted!");
  23   1       i=ReadEp(0,ControlData);
  24   1       for(j=0;j<i;j++) printuf("%x ",ControlData[j]);
  25   1      
  26   1      }
  27          void main_txdone()
  28          {}
  29          void main_rxdone()
  30          {}
  31          void main()
  32          {
  33   1              printu("Test Ep0 Intterupt\n");
  34   1              AtmelUSBInit(0,2,0);
  35   1              EpEnable();
  36   1              while(1){
  37   2                      if(UEPINT&EP0INT) Ep0Int();
  38   2                      if(UEPINT&EP1INT) main_txdone();
  39   2                      if(UEPINT&EP2INT) main_rxdone();
  40   2                      UEPINT=0;
  41   2              }
  42   1      }
  43          //读取端点0数据
  44          
  45          
  46          /*
  47          //二、测试中断产生
  48          void Ep0Int()
  49          {
  50          
  51           printu("Ep0 Interrrupted!\n");
  52           UEPNUM=0;
  53           //UEPSTAX&=~(RXOUTB0|RXOUTB1|RXSETUP); 
  54           UEPSTAX&=~(RXSETUP);//clear RXSETUP
  55          }
C51 COMPILER V6.23a  MAIN                                                                  05/31/2003 09:23:11 PAGE 2   

  56          void main_txdone()
  57          {}
  58          void main_rxdone()
  59          {}
  60          void main()
  61          {
  62                  printu("Test Ep0 Intterupt\n");
  63                  AtmelUSBInit(0,2,0);
  64                  EpEnable();
  65                  while(1){
  66                          if(UEPINT&EP0INT) Ep0Int();
  67                          if(UEPINT&EP1INT) main_txdone();
  68                          if(UEPINT&EP2INT) main_rxdone();
  69                          UEPINT=0;
  70                  }
  71          }
  72          //测试中断产生
  73          */
  74          
  75          
  76                  
  77          /*
  78          //一、测试寄存器读写
  79          main()
  80          {
  81           int i=0;
  82           printu("Test Register Write and Read!\n");
  83          
  84           USBCON&=(~USBE);//USB控制器禁止
  85           for(i=0;i<3000;i++)
  86           USBCON|=USBE;//USB控制器使能
  87          
  88           for(i=0;i<3;i++){
  89           UEPNUM = i;
  90           printuf("UEPNUM = %x\n",UEPNUM);
  91           }
  92            while(1); 
  93          }
  94          //测试寄存器读写
  95          */
  96          
  97          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    169    ----
   CONSTANT SIZE    =     75    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      37
   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 + -