📄 download.lst
字号:
C51 COMPILER V8.08 DOWNLOAD 08/07/2008 00:07:23 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE DOWNLOAD
OBJECT MODULE PLACED IN DOWNLOAD.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE DOWNLOAD.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <Reg52.h>
2 #include <absacc.h>
3 #include <stdio.h>
4 #include <intrins.h>
5
6 //#define DATA
7
8 #include "dsp_code.h"
9
10 #ifdef DATA
#include "dsp_data.h"
#endif
13
14 /* 定义宏 */
15 #define uint unsigned int
16 #define uchar unsigned char
17
18 #define VOL1 0x81
19 #define VOL2 0x82
20
21 /* TLV320AIC23寄存器地址 */
22 #define L_LINE_VOLUME 0x00 // 左线输入通道音量控制寄存器
23 #define R_LINE_VOLUME 0x01 // 右线输入通道音量控制寄存器
24 #define L_HEADPHONE_VOLUME 0x02 // 左通道耳机音量控制寄存器
25 #define R_HEADPHONE_VOLUME 0x03 // 右通道耳机音量控制寄存器
26 #define A_AUDIO_PATH 0x04
27 #define D_AUDIO_PATH 0x05
28 #define POWER_CON 0x06
29 #define D_AUDIO_INTERFACE 0x07
30 #define SAMPLE_RATE 0x08
31 #define D_INTERFACE_ACT 0x09
32 #define RESET 0x0f
33
34 /* 定义寄存器端口地址
35 ---------------------------------------------------------------
36 A15 A14 A13 A12 A11 A10 A9 A8
37 ---------------------------------------------------------------
38 X X X nHCS HR/nW HCNTL1 HCNTL0 HBIL
39 ---------------------------------------------------------------*/
40 #define HPICL XBYTE[0xe000]
41 #define HPICH XBYTE[0xe100]
42 #define WR_HPIL0_D XBYTE[0xe200] // HCNTL0 = 0,HCNTL0 = 1,每写1次,HPIA事先增1
43 #define WR_HPIH0_D XBYTE[0xe300]
44 #define WR_HPIL_A XBYTE[0xe400] // 只代表第一个字节,先高字节还是低字节由BOB位来决定
45 #define WR_HPIH_A XBYTE[0xe500]
46 #define WR_HPIL1_D XBYTE[0xe600] // HCNTL0 = 1,HCNTL0 = 1,HPIA寄存器不受影响
47 #define WR_HPIH1_D XBYTE[0xe700]
48
49 #define RD_HPIL0_D XBYTE[0xeA00] // HCNTL0 = 0,HCNTL0 = 1,每读1次,HPIA事后增1
50 #define RD_HPIH0_D XBYTE[0xeB00]
51 #define RD_HPIL1_D XBYTE[0xeE00] // HCNTL0 = 1,HCNTL0 = 1,HPIA寄存器不受影响
52 #define RD_HPIH1_D XBYTE[0xeF00]
53
54 #define WR_CR XBYTE[0x7100]
55 #define WR_PARA XBYTE[0x7000]
C51 COMPILER V8.08 DOWNLOAD 08/07/2008 00:07:23 PAGE 2
56
57 sbit DSPRST = P1^2;
58 sbit RST8019 = P1^3;
59 sbit USBRST = P1^4;
60 sbit LCDRST = P1^5;
61
62 sbit CS = P3^3; // SPI
63 sbit SDIN = P3^4;
64 sbit SCLK = P3^5;
65
66 uchar hpic;
67 bit ok,readT,key_down;
68 unsigned char time,stoptime,ms,DSPorder;
69 unsigned char volume;
70
71 void wr_dspcode(void);
72 void delay(uint wu);
73 void LOADDSP(void);
74 void init_51(void);
75 void init_AIC23(void);
76 void write_AIC23(uchar addr, uint dat);
77 void DspRst(void);
78 void UsbRst(void);
79 void LcdRst(void);
80 void RstNet(void);
81 unsigned char rd_hpi(uint addr);
82 unsigned char getDSP();
83
84 int main(void)
85 {
86 1 init_AIC23();
87 1
88 1 delay(10000);
89 1 RstNet();
90 1 DspRst();
91 1 LcdRst();
92 1 UsbRst();
93 1 LOADDSP();
94 1 init_51();
95 1
96 1 delay(30000);
97 1 //volume = 108;
98 1 //write_AIC23(L_HEADPHONE_VOLUME, 0x0180+volume);
99 1
100 1 while(1);
101 1
102 1 return 0;
103 1 }
104
105 void delay(uint wu)
106 {
107 1 for (wu; wu > 0; wu--);
108 1 }
109
110 void LcdRst(void)
111 {
112 1 LCDRST = 0;
113 1 delay(200);
114 1 LCDRST = 1;
115 1 delay(200);
116 1 }
117
C51 COMPILER V8.08 DOWNLOAD 08/07/2008 00:07:23 PAGE 3
118 void DspRst(void)
119 {
120 1 DSPRST = 0;
121 1 delay(200);
122 1 DSPRST = 1;
123 1 delay(200);
124 1 }
125
126 void UsbRst(void)
127 {
128 1 USBRST = 0;
129 1 delay(200);
130 1 USBRST = 1;
131 1 delay(200);
132 1 }
133
134 void RstNet(void)
135 {
136 1 RST8019 = 1;
137 1 delay(200);
138 1 RST8019 = 0;
139 1 delay(200);
140 1 }
141
142 void LOADDSP(void)
143 {
144 1 wr_dspcode();
145 1 }
146 /*
147 unsigned char rd_hpi(uint addr)
148 {
149 unsigned char i;
150 WR_HPIL_A = addr / 256;
151 WR_HPIH_A = addr % 256;
152 i = RD_HPIL0_D;
153 i = RD_HPIH0_D;
154 return(i);
155 }
156
157 void wr_hpi(uint addr,uint dat)
158 {
159 WR_HPIL_A = addr / 256;
160 WR_HPIH_A = addr % 256;
161 WR_HPIL1_D = dat / 256;
162 WR_HPIH1_D = dat % 256;
163 }
164 */
165 void wr_dspcode(void)
166 {
167 1 uchar code *dspptr, *temp;
168 1 uchar len, stage_data;
169 1 char i;
170 1 uint addr;
171 1
172 1 HPICL = 0x08; // clear HPIint,least is first BOB = 0,第1字节为高字节;SMOD = 0,主机寻址方式(HOM)
-
173 1 HPICH = 0x08; // HPIC是16位寄存器,主机写HPIC,第一字节与第二字节内容必须相同
174 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -