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

📄 clock.lst

📁 该程序包含了MP3的全部源码。芯片选择MP3专用芯片
💻 LST
字号:
C51 COMPILER V7.20   CLOCK                                                                 11/14/2004 00:50:07 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE CLOCK
OBJECT MODULE PLACED IN clock.obj
COMPILER INVOKED BY: F:\keil7\C51\BIN\C51.EXE lib_mcu\clock\clock.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\clock.lst) O
                    -BJECT(clock.obj)

line level    source

   1          /*C**************************************************************************
   2          * NAME:         clock.c
   3          *----------------------------------------------------------------------------
   4          * Copyright (c) 2003 Atmel.
   5          *----------------------------------------------------------------------------
   6          * RELEASE:      snd1c-refd-nf-4_0_3      
   7          * REVISION:     1.7     
   8          *----------------------------------------------------------------------------
   9          * PURPOSE:
  10          * This file contains the clock routines
  11          *
  12          * NOTES:
  13          * Configuration:
  14          *   - FOSC in config.h
  15          *****************************************************************************/
  16          
  17          /*_____ I N C L U D E S ____________________________________________________*/
  18          
  19          #include "config.h"                         /* system configuration */
  20          #include "lib_mcu\mp3\mp3_drv.h"            /* mp3 driver definition */
  21          #include "lib_mcu\aud\aud_drv.h"            /* audio driver definition */
  22          #include "lib_mcu\usb\usb_drv.h"            /* usb driver definition */
  23          #include "clock.h"                          /* clock definition */
  24          
  25          
  26          /*_____ M A C R O S ________________________________________________________*/
  27          
  28          
  29          /*_____ D E F I N I T I O N ________________________________________________*/
  30          
  31          
  32          #if FOSC == 16000             /* Fpll= 16 * (R+1) / (N+1) */
  33          St_clock  code  clock_div[8] =
  34            { 541,  47, 3, 15, _256Fs,  /* Fs= 22.05 KHz, Fpll= 90.32 MHz, Fmp3= 22.58 MHz */
  35              143, 24, 3,  9, _384Fs,   /* Fs= 24 KHz,    Fpll= 92.16 MHz, Fmp3= 23.04 MHz */
  36              534,  94, 3, 21, _256Fs,  /* Fs= 16 KHz,    Fpll= 90.11 MHz, Fmp3= 22.53 MHz */
  37              143, 24, 0, 29, _384Fs,   /* Fs= 8 KHz,     Fpll= 92.16 MHz, voice only */
  38              541,  95, 3,  7, _256Fs,  /* Fs= 44.1 KHz,  Fpll= 90.32 MHz, Fmp3= 22.58 MHz */
  39              143, 24, 3,  4, _384Fs,   /* Fs= 48 KHz,    Fpll= 92.16 MHz, Fmp3= 23.04 MHz */
  40              534,  94, 3, 10, _256Fs,  /* Fs= 32 KHz,    Fpll= 90.11 MHz, Fmp3= 22.53 MHz */
  41               11,  1, 1,  0,      0    /* USB only,      Fpll= 96 MHz */
  42            };
  43          #endif
  44          
  45          
  46          
  47          /*_____ D E C L A R A T I O N ______________________________________________*/
  48          
  49          
  50          /*F**************************************************************************
  51          * NAME: clock_song_init
  52          *----------------------------------------------------------------------------
  53          * PARAMS:
  54          *   freq: 0 -> 22.05 KHz
C51 COMPILER V7.20   CLOCK                                                                 11/14/2004 00:50:07 PAGE 2   

  55          *         1 -> 24 KHz
  56          *         2 -> 16 KHz
  57          *         3 -> unused
  58          *         4 -> 44.1 KHz
  59          *         5 -> 48 KHz
  60          *         6 -> 32 KHz
  61          *         7 -> unused
  62          *
  63          * return:
  64          *----------------------------------------------------------------------------
  65          * PURPOSE:
  66          *   Song clock initialization
  67          *----------------------------------------------------------------------------
  68          * EXAMPLE:
  69          *----------------------------------------------------------------------------
  70          * NOTE:
  71          *   freq is an index in the table giving the divider values
  72          *----------------------------------------------------------------------------
  73          * REQUIREMENTS:
  74          *****************************************************************************/
  75          void clock_song_init ()//Byte freq)
  76          {
  77   1        Pll_set_rdiv(440);
  78   1        Pll_set_ndiv(24);
  79   1        Pll_enable();
  80   1        Mp3_set_clock(10);
  81   1        Aud_set_clock(24);
  82   1       
  83   1        //Pll_set_ndiv(clock_div[freq].n_div);
  84   1        //Pll_set_rdiv(clock_div[freq].r_div);
  85   1        //Pll_enable();
  86   1        //Mp3_set_clock(clock_div[freq].mp3_div);
  87   1        //Aud_set_clock(clock_div[freq].aud_div);
  88   1       // Aud_set_oversamp(clock_div[freq].dac_over);           /* init HLR bit */
  89   1      }
  90          
  91          
  92          /*F**************************************************************************
  93          * NAME: clock_voice_init
  94          *----------------------------------------------------------------------------
  95          * PARAMS:
  96          *
  97          * return:
  98          *----------------------------------------------------------------------------
  99          * PURPOSE: 
 100          *   Voice clock initialization
 101          *----------------------------------------------------------------------------
 102          * EXAMPLE:
 103          *----------------------------------------------------------------------------
 104          * NOTE:
 105          *----------------------------------------------------------------------------
 106          * REQUIREMENTS:
 107          
 108          *****************************************************************************/
 109          void clock_voice_init (void)
 110          {
 111   1        Pll_set_ndiv(clock_div[VOC_FREQ].n_div);
 112   1        Pll_set_rdiv(clock_div[VOC_FREQ].r_div);
 113   1        Pll_enable();
 114   1        Aud_set_clock(clock_div[VOC_FREQ].aud_div);
 115   1        Aud_set_oversamp(clock_div[VOC_FREQ].dac_over);           /* init HLR bit */
 116   1      }
C51 COMPILER V7.20   CLOCK                                                                 11/14/2004 00:50:07 PAGE 3   

 117          
 118          
 119          /*F**************************************************************************
 120          * NAME: clock_usb_init
 121          *----------------------------------------------------------------------------
 122          * PARAMS:
 123          *
 124          * return:
 125          *----------------------------------------------------------------------------
 126          * PURPOSE: 
 127          *   USB clock initialization
 128          *----------------------------------------------------------------------------
 129          * EXAMPLE:
 130          *----------------------------------------------------------------------------
 131          * NOTE:
 132          *----------------------------------------------------------------------------
 133          * REQUIREMENTS:
 134          
 135          *****************************************************************************/
 136          void clock_usb_init (void)
 137          {
 138   1        Pll_set_ndiv(clock_div[USB_FREQ].n_div);
 139   1        Pll_set_rdiv(clock_div[USB_FREQ].r_div);
 140   1        Pll_enable();
 141   1        Usb_set_clock(clock_div[USB_FREQ].mp3_div);   /* mp3_div = usb_div */
 142   1      }
 143          
 144          
 145          /*F**************************************************************************
 146          * NAME: clock_disable
 147          *----------------------------------------------------------------------------
 148          * PARAMS:
 149          *
 150          * return:
 151          *----------------------------------------------------------------------------
 152          * PURPOSE: 
 153          *   Clocks stop
 154          *----------------------------------------------------------------------------
 155          * EXAMPLE:
 156          *----------------------------------------------------------------------------
 157          * NOTE:
 158          *----------------------------------------------------------------------------
 159          * REQUIREMENTS:
 160          *****************************************************************************/
 161          void clock_disable (void)
 162          {
 163   1        Pll_stop();
 164   1        Mp3_set_clock(0);
 165   1        Aud_set_clock(0);
 166   1        Usb_set_clock(0);
 167   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    148    ----
   CONSTANT SIZE    =     48    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.

C51 COMPILER V7.20   CLOCK                                                                 11/14/2004 00:50:07 PAGE 4   


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -