📄 audio_pro.lst
字号:
C51 COMPILER V7.06 AUDIO_PRO 12/11/2007 11:28:44 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE AUDIO_PRO
OBJECT MODULE PLACED IN .\BIN\AUDIO_PRO.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SRC\AUDIO_PRO.c LARGE OPTIMIZE(9,SPEED) DEBUG OBJECTEXTEND PRINT(.\LST\AUDI
-O_PRO.lst) OBJECT(.\BIN\AUDIO_PRO.obj)
stmt level source
1 #include"include.h"
2 //#include"iic.h"
3 /**********************************************************************
4 函数名:Set_Volume(unsigned char Add_Dec,unsigned char Vol_value)
5 函数说明:音量设置。
6 Add_Dec:1为增加,0为减小。
7 Vol_value:为输入音量值。
8 **********************************************************************/
9 void Set_Volume(unsigned char Add_Dec,unsigned char Vol_value)
10 {
11 1 unsigned char i;
12 1 i = Vol_value;
13 1
14 1 if(Add_Dec)
15 1 {
16 2 ++i;
17 2 if(i > 40)i = 40;
18 2 }
19 1 else
20 1 {
21 2 --i;
22 2 if(i > 40)i = 0;
23 2 }
24 1
25 1 Audio_Volume = i;
26 1 if(i == 0)
27 1 Write7318(TDA7318,0x3f);
28 1 else{
29 2 if(Audio_state == 0x48)
30 2 {
31 3 if(speakflag == 1) //导航发声音标志
32 3 Write7318(TDA7318,(0x29 - i)); //0x30//0x34
33 3 else Write7318(TDA7318,0x3f);
34 3 }
35 2 else Write7318(TDA7318,(0x37 - i));
36 2 }
37 1
38 1 Write24C16(0x0703,Audio_Volume);
39 1
40 1 Sleep(100);
41 1 }
42
43 /**********************************************************************
44 函数名:SETVOLUME(unsigned char vol)
45 函数说明:音量设置,参数为音量值
46 **********************************************************************/
47
48 void SETVOLUME(unsigned char vol)
49 {
50 1 unsigned char i;
51 1 i = vol;
52 1 if(i > 0x3f) i = 0x3f;
53 1 if(i == 0) Write7318(TDA7318,0x3f);
54 1 else{
C51 COMPILER V7.06 AUDIO_PRO 12/11/2007 11:28:44 PAGE 2
55 2 if(Audio_state == 0x48)
56 2 {
57 3 Write7318(TDA7318,(0x3f - i)); //0x30//0x34
58 3 }
59 2 else Write7318(TDA7318,(0x37 - i));
60 2 }
61 1 Audio_Volume = i;
62 1 Write24C16(0x0703,Audio_Volume);
63 1 Sleep(100);
64 1 }
65 /**********************************************************************
66 函数名:EQ_Ajustment(unsigned char Ajust_Obj,unsigned char EQ_Val)
67 函数说明:EQ设置
68 **********************************************************************/
69 void EQ_Ajustment(unsigned char Ajust_Obj,unsigned char EQ_Val)
70 {
71 1 unsigned char AJUSTTYPE;
72 1 unsigned char AJUSTVALUE;
73 1
74 1 AJUSTTYPE = Ajust_Obj;
75 1 AJUSTVALUE = EQ_Val;
76 1
77 1
78 1
79 1 if((AJUSTTYPE < 6) && (AJUSTVALUE < 5))
80 1 {
81 2 Write24C16((Ajust_Obj + 0x0e04),EQ_Val);
82 2 }
83 1 switch(AJUSTTYPE)
84 1 {
85 2 case 1: //低音
86 2 {
87 3 switch(EQ_Val)
88 3 {
89 4 case 0:Write7318(TDA7318,0x60);break;
90 4 case 1:Write7318(TDA7318,0x62);break;
91 4 case 2:Write7318(TDA7318,0x63);break;
92 4 case 3:Write7318(TDA7318,0x64);break;
93 4 case 4:Write7318(TDA7318,0x66);break;
94 4 default:break;
95 4 }
96 3 break;
97 3 }
98 2 case 2: //中音
99 2 {
100 3 /* switch(EQ_Val)
101 3 {
102 3 case 0:Audio_state = ((Audio_state & 0xe7) | 0x18);break;
103 3 case 1:Audio_state = ((Audio_state & 0xe7) | 0x10);break;
104 3 case 2:Audio_state = ((Audio_state & 0xe7) | 0x08);break;
105 3 case 3:Audio_state &= 0xe7;break;
106 3 case 4:Audio_state &= 0xe7;break;
107 3 default:break;
108 3 Write7318(TDA7318,Audio_state);
109 3 }
110 3 */
111 3 break;
112 3 }
113 2 case 3: //高音
114 2 {
115 3 switch(EQ_Val)
116 3 {
C51 COMPILER V7.06 AUDIO_PRO 12/11/2007 11:28:44 PAGE 3
117 4 case 0:Write7318(TDA7318,0x73);break;
118 4 case 1:Write7318(TDA7318,0x74);break;
119 4 case 2:Write7318(TDA7318,0x75);break;
120 4 case 3:Write7318(TDA7318,0x76);break;
121 4 case 4:Write7318(TDA7318,0x77);break;
122 4 default:break;
123 4 }
124 3 break;
125 3 }
126 2 case 4: //左右
127 2 {
128 3 switch(EQ_Val)
129 3 {
130 4 case 0:
131 4 {
132 5 Write7318(TDA7318,0x94);
133 5 Write7318(TDA7318,0xa4);
134 5 Write7318(TDA7318,0xd4);
135 5 Write7318(TDA7318,0xf4);
136 5 break;
137 5 }
138 4 case 1:
139 4 {
140 5 Write7318(TDA7318,0x8c);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -