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

📄 atmelusbci.lst

📁 用89C51SND1C实现MP3播放器的源代码.用KEIL c51编写.
💻 LST
字号:
C51 COMPILER V6.23a  ATMELUSBCI                                                            12/02/2003 11:07:23 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE ATMELUSBCI
OBJECT MODULE PLACED IN atmelusbci.OBJ
COMPILER INVOKED BY: d:\SoftDev\Keil\C51\BIN\C51.EXE atmelusbci.c LARGE BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /****************************************************************/
   2          /*                                      UP-MP3DIY100                                                            */
   3          /*              Beijing Universal Pioneering Technology Co., LTD                */
   4          /*              CopyRighted,All right Reserved  www.up-tech.com                 */
   5          /*                                              July,2003                                                               */
   6          /*                              010-62387873  62381842                                                  */
   7          /****************************************************************/
   8          
   9          #include "REGSND1.H"
  10          #include "atmelusbci.h"
  11          
  12          #define OSCclk  16//采用16M时钟,后续的许多编程内容与此时钟频率有关
  13          
  14          //设置PLL的时钟,并得到USB工作所需要的48M时钟
  15          int AtmelUSBInit(unsigned char NDIV,unsigned int RDIV,unsigned char USBCD)
  16          {
  17   1              int i;
  18   1      
  19   1      
  20   1      //USB 时钟的频率计算方法
  21   1      //      PLLclk=(OSCclk*(RDIV+1))/(int)(NDIV+1);
  22   1      //      USBclk=PLLclk/(int)(USBCD+1);
  23   1              
  24   1              CKCON|=X2;//Set to select 6 clock periods per machine cycle
  25   1              //set PLL CLK
  26   1              PLLNDIV =       0x7f&NDIV;//set NDIV
  27   1              PLLCON  |=      (0x3&RDIV)<<6;//set RDIV
  28   1              PLLRDIV =       (0x3ff&RDIV)>>2;
  29   1      
  30   1              USBCLK=USBCD&0x03;//设置USBCLK
  31   1      
  32   1              PLLCON&=(~PLLRES);//Enable PLL
  33   1              PLLCON|=PLLEN;
  34   1      
  35   1      
  36   1              //USBCON Register
  37   1              USBCON&=(~USBE);//禁止USB控制器
  38   1              for(i=0;i<3000;i++)//延时
  39   1              USBCON|=USBE;//使能USB控制器
  40   1              return(0);
  41   1      }
  42          
  43          //设置端点的工作模式
  44          void EpEnable(void)
  45          {
  46   1              UEPNUM=0x00;//Ep0 as control Endpoint
  47   1              UEPCONX=0x80;
  48   1      
  49   1              UEPNUM=0x01;//Ep1 as Bulk-in Endpoint
  50   1              UEPCONX=0x86;
  51   1      
  52   1              UEPNUM=0x02;//Ep2 as Bulk-out Endpoint
  53   1              UEPCONX=0x82;
  54   1      
  55   1              UEPRST=0x07;//rest FIFO 
C51 COMPILER V6.23a  ATMELUSBCI                                                            12/02/2003 11:07:23 PAGE 2   

  56   1              UEPRST=0x00;
  57   1      
  58   1              UEPIEN=0x07;//Endpoint Interrupt Enable
  59   1      
  60   1              USBIEN|=EEOFINT;
  61   1              USBADDR=FEN;//Function Enable
  62   1              
  63   1      }


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