download.lst
来自「DSP5402 开发板原理图 很详细 仅共参看」· LST 代码 · 共 421 行 · 第 1/2 页
LST
421 行
C51 COMPILER V7.06 DOWNLOAD 12/21/2005 12:04:00 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE DOWNLOAD
OBJECT MODULE PLACED IN DOWNLOAD.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE DOWNLOAD.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1
-
2 #include <Reg52.h>
3 #include <absacc.h>
4 #include <stdio.h>
5 #include <intrins.h>
6 #include <dspcode.h>
7 /*定义宏*/
8 #define uint unsigned int
9 #define uchar unsigned char
10
11 #define VOL1 0x81
12 #define VOL2 0x82
13
14 #define L_LINE_VOLUME 0x00
15 #define R_LINE_VOLUME 0x01
16 #define L_HEADPHONE_VOLUME 0x02
17 #define R_HEADPHONE_VOLUME 0x03
18 #define A_AUDIO_PATH 0x04
19 #define D_AUDIO_PATH 0x05
20 #define POWER_CON 0x06
21 #define D_AUDIO_INTERFACE 0x07
22 #define SAMPLE_RATE 0x08
23 #define D_INTERFACE_ACT 0x09
24 #define RESET 0x0f
25
26
27 /*定义寄存器端口地址*/
28 #define HPICL XBYTE[0xe000]
29 #define HPICH XBYTE[0xe100]
30 #define WR_HPIL0_D XBYTE[0xe200]
31 #define WR_HPIH0_D XBYTE[0xe300]
32 #define WR_HPIL_A XBYTE[0xe400]
33 #define WR_HPIH_A XBYTE[0xe500]
34 #define WR_HPIL1_D XBYTE[0xe600]
35 #define WR_HPIH1_D XBYTE[0xe700]
36
37 #define RD_HPIL0_D XBYTE[0xeA00]
38 #define RD_HPIH0_D XBYTE[0xeB00]
39 #define RD_HPIL1_D XBYTE[0xeE00]
40 #define RD_HPIH1_D XBYTE[0xeF00]
41
42 #define WR_CR XBYTE[0x7100]
43 #define WR_PARA XBYTE[0x7000]
44
45 sbit DSPRST = P1^2;
46 sbit RST8019 = P1^3;
47 sbit USBRST = P1^4;
48 sbit LCDRST = P1^5;
49 sbit RST013 = P3^2;
50 sbit CS = P3^3;
51 sbit SDIN = P3^4;
52 sbit SCLK = P3^5;
53
54 sbit SDA = P1^6;
C51 COMPILER V7.06 DOWNLOAD 12/21/2005 12:04:00 PAGE 2
55 sbit SCK = P1^7;
56
57 uchar hpic;
58 bit ok,readT,key_down;
59 uchar time,stoptime,ms,DSPorder;
60 uchar volume;
61
62 void wr_dspcode();
63 void delay(uint wu);
64 void LOADDSP();
65 void init_51();
66 void init_AIC23();
67 void write_AIC23(uchar addr,uint dat);
68 void DspRst(void);
69 void UsbRst(void);
70 void LcdRst(void);
71 void RstNet();
72
73 //function of sta013
74 void write8(uchar d);
75 void writeSTA013(uchar addr,uchar x);
76 //uchar readsta013(uchar addr);
77 uchar read8();
78 void startbit();
79 void stopbit();
80 void init_STA013(void);
81
82
83 uchar rd_hpi(uint addr);
84
85 uchar getDSP();
86
87 main()
88 {
89 1
90 1 init_AIC23();
91 1 init_STA013();
92 1
93 1 delay(10000);
94 1 RstNet();
95 1 DspRst();
96 1 LcdRst();
97 1 UsbRst();
98 1 LOADDSP();
99 1 init_51();
100 1
101 1 delay(30000);
102 1 volume=108;
103 1 write_AIC23(L_HEADPHONE_VOLUME,0x0180+volume);
104 1
105 1 while(1);
106 1
107 1 }
108
109 void delay(uint wu)
110 {
111 1 for(wu;wu>0;wu--);
112 1 }
113
114 void delay1(uchar k)
115 {
116 1 for( ;k>0;k--);
C51 COMPILER V7.06 DOWNLOAD 12/21/2005 12:04:00 PAGE 3
117 1 }
118 void LcdRst(void)
119 {
120 1 LCDRST = 0;
121 1 delay(200);
122 1 LCDRST = 1;
123 1 delay(200);
124 1 }
125 void DspRst()
126 {
127 1 DSPRST=0;
128 1 delay(200);
129 1 DSPRST=1;
130 1 delay(200);
131 1 }
132
133 void UsbRst(void)
134 {
135 1 USBRST = 0;
136 1 delay(200);
137 1 USBRST = 1;
138 1 delay(200);
139 1 }
140
141 void RstNet()
142 {
143 1 RST8019=1;
144 1 delay(200);
145 1 RST8019=0;
146 1 delay(200);
147 1 }
148
149 void LOADDSP()
150 {
151 1 wr_dspcode();
152 1 }
153
154 void wr_dspcode()
155 {
156 1 uchar code *dspptr,*temp;
157 1 uchar len;
158 1 char i;
159 1 uint addr;
160 1
161 1 HPICL=0x08; //clear HPIint,least is first
162 1 HPICH=0x08;
163 1
164 1 dspptr=dspcode;
165 1 while(1)
166 1 {
167 2 len=*dspptr++;
168 2 if(len==0) break;
169 2 else
170 2 {
171 3 addr=((*dspptr++)*256)+(*dspptr++);
172 3 addr--;
173 3 temp=dspptr;
174 3 again:
175 3 WR_HPIL_A=addr/256;
176 3 WR_HPIH_A=addr%256;
177 3 for(i=0;i<len/2;i++)
178 3 {
C51 COMPILER V7.06 DOWNLOAD 12/21/2005 12:04:00 PAGE 4
179 4 WR_HPIL0_D=*dspptr++;
180 4 WR_HPIH0_D=*dspptr++;
181 4 }
182 3 dspptr=temp;
183 3 addr++;
184 3 WR_HPIL_A=addr/256;
185 3 WR_HPIH_A=addr%256;
186 3 for(i=0;i<len/2;i++)
187 3 {
188 4 if(RD_HPIL0_D!=*dspptr++) goto again; //不相等,再写
189 4 if(RD_HPIH0_D!=*dspptr++) goto again;
190 4 }
191 3 }
192 2 }
193 1 WR_HPIL_A=0x00;
194 1 WR_HPIH_A=0x7f;
195 1 WR_HPIL1_D=0x00; //THE START ADDRESS OF RUN
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?