📄 clock.lst
字号:
C51 COMPILER V7.50 CLOCK 10/20/2007 09:14:45 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE CLOCK
OBJECT MODULE PLACED IN clock.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE lib_mcu\clock\clock.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\clock.lst) OB
-JECT(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.50 CLOCK 10/20/2007 09:14:45 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.50 CLOCK 10/20/2007 09:14:45 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.50 CLOCK 10/20/2007 09:14:45 PAGE 4
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -