📄 dac_drv.lst
字号:
C51 COMPILER V7.06 DAC_DRV 05/05/2005 12:12:02 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE DAC_DRV
OBJECT MODULE PLACED IN dac_drv.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lib_refd\dac\dac_drv.c OPTIMIZE(7,SPEED) BROWSE INCDIR(.\modules\system;.\;
-.\;.\lib_refd) DEFINE(KEIL) DEBUG OBJECTEXTEND PRINT(.\dac_drv.lst) OBJECT(dac_drv.obj)
stmt level source
1 /*C**************************************************************************
2 * NAME: dac_drv.c
3 *----------------------------------------------------------------------------
4 * Copyright (c) 2003 Atmel.
5 *----------------------------------------------------------------------------
6 * RELEASE: snd1c-refd-nf-4_0_3
7 * REVISION: 1.5
8 *----------------------------------------------------------------------------
9 * PURPOSE:
10 * This file contains routines to address UDA1330ATS in L3 mode
11 *
12 *****************************************************************************/
13
14 /*_____ I N C L U D E S ____________________________________________________*/
15
16 #include "config.h" /* lib configuration header */
17 #include "board.h" /* board definition */
18 #include "dac_drv.h" /* dac driver definition */
19
20 /*_____ M A C R O S ________________________________________________________*/
21
22
23 /*_____ D E F I N I T I O N ________________________________________________*/
24
25 /*_____ D E C L A R A T I O N ______________________________________________*/
26 #ifdef DAC_L3MODE
27 /*F**************************************************************************
28 * NAME: dac_byte_send
29 *----------------------------------------------------------------------------
30 * PARAMS:
31 * b: byte to send
32 * return:
33 *----------------------------------------------------------------------------
34 * PURPOSE:
35 * Serialize a data/cmd/addr byte on DAC_L3DATA & DAC_L3CLOCK pins.
36 *----------------------------------------------------------------------------
37 * NOTE:
38 * This function should only be used by dac_l3mode_send
39 *----------------------------------------------------------------------------
40 * REQUIREMENTS:
41 *****************************************************************************/
42 void dac_byte_send (Byte b)
43 {
44 1 Byte c;
45 1
46 1 for (c=8;c;c--)
47 1 {
48 2 DAC_L3DATA=(b&128); // practically 50% duty cycle
49 2 DAC_L3CLOCK=0;
50 2 b<<=1;
51 2 DAC_L3CLOCK=1; // data bit is sampled here (rising edge)
52 2 }
53 1 }
54
C51 COMPILER V7.06 DAC_DRV 05/05/2005 12:12:02 PAGE 2
55
56 /*F**************************************************************************
57 * NAME: dac_l3mode_send
58 *----------------------------------------------------------------------------
59 * PARAMS:
60 * addr: logical address of the chip (000101xxb for UDA1330)
61 * b: data/cmd byte to send
62 * return:
63 *----------------------------------------------------------------------------
64 * PURPOSE:
65 * Send a L3-mode command to the DAC UDA1330
66 *----------------------------------------------------------------------------
67 * NOTE:
68 * This function improve the song quality (low level, decrease signal/noise).
69 *----------------------------------------------------------------------------
70 * REQUIREMENTS:
71 * Only tested with UDA1330ATS
72 *****************************************************************************/
73
74 void dac_l3mode_send (Byte addr,Byte b)
75 {
76 1 DAC_L3MODE=1;
77 1 DAC_L3CLOCK=1;
78 1 DAC_L3DATA=1;
79 1 DAC_L3MODE=0;
80 1 dac_byte_send(addr);
81 1 dac_byte_send(b);
82 1 DAC_L3MODE=1;
83 1 }
84
85 /*F**************************************************************************
86 * NAME: dac_set_vol
87 *----------------------------------------------------------------------------
88 * PARAMS:
89 *
90 * return:
91 *----------------------------------------------------------------------------
92 * PURPOSE:
93 * Use the DAC to modify song level.
94 *----------------------------------------------------------------------------
95 * NOTE:
96 * This function must be call each time mp3_volume is changed
97 *----------------------------------------------------------------------------
98 * REQUIREMENTS:
99 *****************************************************************************/
100 void dac_set_vol (Byte volume)
101 {
102 1 if (volume>=32) volume=31; // security !
103 1 {
104 2 MP3VOL = MP3VOR = volume;
105 2 dac_l3mode_send(1,(volume<<1)+1);
106 2 dac_l3mode_send(2,(volume<<1)+1);
107 2 }
108 1 }
109
110 #endif
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 73 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
C51 COMPILER V7.06 DAC_DRV 05/05/2005 12:12:02 PAGE 3
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 + -