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

📄 clock.lst

📁 这是atmel公司的89C51SND1C的mp3源程序
💻 LST
字号:
C51 COMPILER V6.20c  CLOCK                                                                 07/10/2002 15:17:44 PAGE 1   


C51 COMPILER V6.20c, COMPILATION OF MODULE CLOCK
OBJECT MODULE PLACED IN ..\obj\clock.obj
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE ..\src\clock\clock.c BROWSE INCDIR(..\src\system;..\..\..\lib) DEFINE(KEIL)
                    - DEBUG OBJECTEXTEND PRINT(.\clock.lst) OBJECT(..\obj\clock.obj) 

stmt level    source

   1          /*C**************************************************************************
   2          * $RCSfile: clock.c,v $
   3          *----------------------------------------------------------------------------
   4          * Copyright (c) 2002 Atmel.
   5          *----------------------------------------------------------------------------
   6          * RELEASE:      $Name: DEMO_FAT_1_2_5 $      
   7          * REVISION:     $Revision: 1.3 $     
   8          * FILE_CVSID:   $Id: clock.c,v 1.3 2002/06/06 15:17:11 ffosse Exp $       
   9          *----------------------------------------------------------------------------
  10          * PURPOSE:
  11          * This file contains the clock routines
  12          *
  13          * NOTES:
  14          * Configuration:
  15          *   - FOSC in config.h
  16          *****************************************************************************/
  17          
  18          /*_____ I N C L U D E S ____________________________________________________*/
  19          
  20          #include "config.h"                         /* system configuration */
  21          #include "..\..\..\..\lib\mp3\mp3_drv.h"    /* mp3 driver definition */
  22          #include "..\..\..\..\lib\aud\aud_drv.h"    /* audio driver definition */
  23          #include "..\..\..\..\lib\usb\usb_drv.h"    /* usb driver definition */
  24          #include "..\..\..\..\lib_demob\dac\dac_drv.h"/* dac driver definition */
  25          #include "clock.h"                          /* clock definition */
  26          
  27          
  28          /*_____ M A C R O S ________________________________________________________*/
  29          
  30          
  31          /*_____ D E F I N I T I O N ________________________________________________*/
  32          
  33          #if FOSC == 12000             /* Fpll= 12 * (R+1) / (N+1) */
              St_clock  code  clock_div[8] =
                { 126, 14, 3, 11, _384Fs,   /* Fs= 22.05 KHz, Fpll= 101.6 MHz, Fmp3= 25.4 MHz */
                  191, 24, 3,  9, _384Fs,   /* Fs= 24 KHz,    Fpll= 92.16 MHz, Fmp3= 23.04 MHz */
                  511, 74, 3, 19, _256Fs,   /* Fs= 16 KHz,    Fpll= 81.92 MHz, Fmp3= 20.48 MHz */
                  191, 24, 0, 29, _384Fs,   /* Fs= 8 KHz,     Fpll= 92.16 MHz, voice only */
                  126, 14, 3,  5, _384Fs,   /* Fs= 44.1 KHz,  Fpll= 101.6 MHz, Fmp3= 25.4 MHz */
                  191, 24, 3,  4, _384Fs,   /* Fs= 48 KHz,    Fpll= 92.16 MHz, Fmp3= 23.04 MHz */
                  511, 74, 3,  9, _256Fs,   /* Fs= 32 KHz,    Fpll= 81.92 MHz, Fmp3= 20.48 MHz */
                   15,  1, 1,  0,      0    /* USB only,      Fpll= 96 MHz */
                };
              #endif
  45          
  46          #if FOSC == 16000             /* Fpll= 16 * (R+1) / (N+1) */
  47          St_clock  code  clock_div[8] =
  48            { 615, 96, 3, 11, _384Fs,   /* Fs= 22.05 KHz, Fpll= 101.6 MHz, Fmp3= 25.4 MHz */
  49              143, 24, 3,  9, _384Fs,   /* Fs= 24 KHz,    Fpll= 92.16 MHz, Fmp3= 23.04 MHz */
  50              127, 24, 3, 19, _256Fs,   /* Fs= 16 KHz,    Fpll= 81.92 MHz, Fmp3= 20.48 MHz */
  51              143, 24, 0, 29, _384Fs,   /* Fs= 8 KHz,     Fpll= 92.16 MHz, voice only */
  52              615, 96, 3,  5, _384Fs,   /* Fs= 44.1 KHz,  Fpll= 101.6 MHz, Fmp3= 25.4 MHz */
  53              143, 24, 3,  4, _384Fs,   /* Fs= 48 KHz,    Fpll= 92.16 MHz, Fmp3= 23.04 MHz */
  54              127, 24, 3,  9, _256Fs,   /* Fs= 32 KHz,    Fpll= 81.92 MHz, Fmp3= 20.48 MHz */
C51 COMPILER V6.20c  CLOCK                                                                 07/10/2002 15:17:44 PAGE 2   

  55               11,  1, 1,  0,      0    /* USB only,      Fpll= 96 MHz */
  56            };
  57          #endif
  58          
  59          #if FOSC == 20000             /* Fpll= 20 * (R+1) / (N+1) */
              St_clock  code  clock_div[8] =
                { 126,  24, 3, 11, _384Fs,  /* Fs= 22.05 KHz, Fpll= 101.6 MHz, Fmp3= 25.4 MHz */
                  575, 124, 3,  9, _384Fs,  /* Fs= 24 KHz,    Fpll= 92.16 MHz, Fmp3= 23.04 MHz */
                  511, 124, 3, 19, _256Fs,  /* Fs= 16 KHz,    Fpll= 81.92 MHz, Fmp3= 20.48 MHz */
                  575, 124, 0, 29, _384Fs,  /* Fs= 8 KHz,     Fpll=  92.16 MHz, voice only */
                  126,  24, 3,  5, _384Fs,  /* Fs= 44.1 KHz,  Fpll= 101.6 MHz, Fmp3= 25.4 MHz */
                  575, 124, 3,  4, _384Fs,  /* Fs= 48 KHz,    Fpll= 92.16 MHz, Fmp3= 23.04 MHz */
                  511, 124, 3,  9, _256Fs,  /* Fs= 32 KHz,    Fpll= 81.92 MHz, Fmp3= 20.48 MHz */
                   23,   4, 1,  0,      0   /* USB only,      Fpll= 96 MHz */
                };
              #endif
  71          
  72          
  73          /*_____ D E C L A R A T I O N ______________________________________________*/
  74          
  75          
  76          /*F**************************************************************************
  77          * NAME: clock_song_init
  78          *----------------------------------------------------------------------------
  79          * PARAMS:
  80          *   freq: 0 -> 22.05 KHz
  81          *         1 -> 24 KHz
  82          *         2 -> 16 KHz
  83          *         3 -> unused
  84          *         4 -> 44.1 KHz
  85          *         5 -> 48 KHz
  86          *         6 -> 32 KHz
  87          *         7 -> unused
  88          *
  89          * return:
  90          *----------------------------------------------------------------------------
  91          * PURPOSE:
  92          *   Song clock initialization
  93          *----------------------------------------------------------------------------
  94          * EXAMPLE:
  95          *----------------------------------------------------------------------------
  96          * NOTE:
  97          *   freq is an index in the table giving the divider values
  98          *----------------------------------------------------------------------------
  99          * REQUIREMENTS:
 100          *****************************************************************************/
 101          void clock_song_init (Byte freq)
 102          {
 103   1        Pll_set_ndiv(clock_div[freq].n_div);
 104   1        Pll_set_rdiv(clock_div[freq].r_div);
 105   1        Pll_enable();
 106   1        Mp3_set_clock(clock_div[freq].mp3_div);
 107   1        Aud_set_clock(clock_div[freq].aud_div);
 108   1        Dac_overclock((bit)(clock_div[freq].dac_over));
 109   1        Aud_set_oversamp(clock_div[freq].dac_over);           /* init HLR bit */
 110   1      }
 111          
 112          
 113          /*F**************************************************************************
 114          * NAME: clock_voice_init
 115          *----------------------------------------------------------------------------
 116          * PARAMS:
C51 COMPILER V6.20c  CLOCK                                                                 07/10/2002 15:17:44 PAGE 3   

 117          *
 118          * return:
 119          *----------------------------------------------------------------------------
 120          * PURPOSE: 
 121          *   Voice clock initialization
 122          *----------------------------------------------------------------------------
 123          * EXAMPLE:
 124          *----------------------------------------------------------------------------
 125          * NOTE:
 126          *----------------------------------------------------------------------------
 127          * REQUIREMENTS:
 128          
 129          *****************************************************************************/
 130          void clock_voice_init (void)
 131          {
 132   1        Pll_set_ndiv(clock_div[VOC_FREQ].n_div);
 133   1        Pll_set_rdiv(clock_div[VOC_FREQ].r_div);
 134   1        Pll_enable();
 135   1        Aud_set_clock(clock_div[VOC_FREQ].aud_div);
 136   1        Dac_overclock((bit)(clock_div[VOC_FREQ].dac_over));
 137   1        Aud_set_oversamp(clock_div[VOC_FREQ].dac_over);           /* init HLR bit */
 138   1      }
 139          
 140          
 141          /*F**************************************************************************
 142          * NAME: clock_usb_init
 143          *----------------------------------------------------------------------------
 144          * PARAMS:
 145          *
 146          * return:
 147          *----------------------------------------------------------------------------
 148          * PURPOSE: 
 149          *   USB clock initialization
 150          *----------------------------------------------------------------------------
 151          * EXAMPLE:
 152          *----------------------------------------------------------------------------
 153          * NOTE:
 154          *----------------------------------------------------------------------------
 155          * REQUIREMENTS:
 156          
 157          *****************************************************************************/
 158          void clock_usb_init (void)
 159          {
 160   1        Pll_set_ndiv(clock_div[USB_FREQ].n_div);
 161   1        Pll_set_rdiv(clock_div[USB_FREQ].r_div);
 162   1        Pll_enable();
 163   1        Usb_set_clock(clock_div[USB_FREQ].mp3_div);   /* mp3_div = usb_div */
 164   1      }
 165          
 166          
 167          /*F**************************************************************************
 168          * NAME: clock_disable
 169          *----------------------------------------------------------------------------
 170          * PARAMS:
 171          *
 172          * return:
 173          *----------------------------------------------------------------------------
 174          * PURPOSE: 
 175          *   Clocks stop
 176          *----------------------------------------------------------------------------
 177          * EXAMPLE:
 178          *----------------------------------------------------------------------------
C51 COMPILER V6.20c  CLOCK                                                                 07/10/2002 15:17:44 PAGE 4   

 179          * NOTE:
 180          *----------------------------------------------------------------------------
 181          * REQUIREMENTS:
 182          *****************************************************************************/
 183          void clock_disable (void)
 184          {
 185   1        Pll_stop();
 186   1        Mp3_set_clock(0);
 187   1        Aud_set_clock(0);
 188   1        Usb_set_clock(0);
 189   1      }


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