📄 1730.lst
字号:
C51 COMPILER V7.06 1730 11/26/2008 23:50:30 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE 1730
OBJECT MODULE PLACED IN 1730.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 1730.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<SPI.H>
2 #include <reg52.H>
3 #include <absacc.h>
4 #include <intrins.h>
5 #include <math.h>
6
7 sbit SS=P2^3;
8 sbit SCLK=P2^2;
9 sbit MOSI= P2^1;
10 sbit MISO =P2^0;
11
12
13 uchar bdata SR0_L;
14 uchar bdata SR0_H;
15 uchar bdata SR1;
16
17
18
19 /*************延时n ms子函数**************************/
20 void delay_ms(unsigned int tt)//延时1ms
21 {
22 1 unsigned char j;
23 1 while(tt--)
24 1 {
25 2 for(j=0;j<125;j++);
26 2 }
27 1 }
28
29 void I_delay(void)
30 {
31 1 unsigned char i;
32 1 for(i=0;i<18;i++)
33 1 _nop_();
34 1 }
35 /**************************************************************************
36 * 函数原型: void ISD_ERASE(void)
37 * 功 能: 擦出当前段
38 **************************************************************************/
39 void ISD_ERASE(void)
40 {
41 1 ISD_SendData (0x52);
42 1 ISD_SendData (0x00);
43 1 SS=1;
44 1 delay_ms(10);
45 1
46 1 }
47
48
49
50 /**************************************************************************
51 * 函数原型: void init_serialcomm(void)
52 * 功 能: 串口
53 **************************************************************************/
54 void init_serialcomm(void)
55 {
C51 COMPILER V7.06 1730 11/26/2008 23:50:30 PAGE 2
56 1 SCON = 0x40; //选择串口工作于方式1
57 1 TMOD = 0x20; //定时器T1 设置为工作方式2,用作波特率发生器
58 1 PCON = 0x00; //SMOD=1;
59 1 TH1 = 0xFd; //按照波特率为9600 计算初值
60 1 TL1 = 0xFd;
61 1 // IE |= 0x80; //Enable Serial Interrupt
62 1 EA = 1;
63 1 ES=1;
64 1 TR1 = 1; // timer 1 run
65 1 }
66 void send_char_com(uchar ch)
67 {
68 1 TI=0;
69 1 SBUF=ch;
70 1
71 1
72 1 }
73 /*/**************************************************************************
74 * 函数原型: void RD_APC(void);
75 * 功 能: 读取APC
76 **************************************************************************/
77 void ISD_FWD(void)
78
79 { ISD_SendData(0x58);
80 1 ISD_SendData(0x00);
81 1 SS=1;
82 1 delay_ms(10) ;
83 1
84 1
85 1 }
86
87
88
89 /*/**************************************************************************
90 * 函数原型: void RD_APC(void);
91 * 功 能: 读取APC
92 **************************************************************************/
93 void RdAPC(void){
94 1
95 1 uchar APCH,APCL;
96 1 ISD_SendData(RD_APC);
97 1 ISD_SendData(0x00);
98 1 ISD_SendData(0x00);
99 1 ISD_SendData(0x00);
100 1 SS=1;
101 1 delay_ms(10); //延迟10ms
102 1
103 1 SR0_L =ISD_SendData(RD_APC);
104 1 SR0_H =ISD_SendData(0x00);
105 1 APCL =ISD_SendData(0x00);
106 1 APCH =ISD_SendData(0x00);
107 1 SS=1;
108 1 delay_ms(10); //延迟10ms
109 1
110 1 SBUF=SR0_H;
111 1
112 1 delay_ms(500);
113 1 SBUF=SR0_L;
114 1 delay_ms(500);
115 1 SBUF=APCH;
116 1 delay_ms(500);
117 1 SBUF=APCL;
C51 COMPILER V7.06 1730 11/26/2008 23:50:30 PAGE 3
118 1
119 1 }
120 /**************************************************************************
121 * 函数原型:void ISD_STOP(void)
122 * 功 能: 停止当前操作
123 **************************************************************************/
124 void ISD_STOP(void)
125 {
126 1 ISD_SendData(STOP);
127 1 ISD_SendData(0X00);
128 1 SS=1;
129 1 delay_ms(20);
130 1
131 1 }
132
133
134
135 /**************************************************************************
136 * 函数原型: uchar RD_DevID(void)
137 * 功 能: 读ID
138 **************************************************************************/
139
140 uchar RD_DevID(void)
141 { uchar ID;
142 1 ISD_SendData(RD_DEVID);
143 1 ISD_SendData(0x00);
144 1 ISD_SendData(0x00);
145 1 SS=1;
146 1 delay_ms(10); //延迟10ms
147 1 SR0_L =ISD_SendData(RD_DEVID);
148 1 SR0_H =ISD_SendData(0x00);
149 1 ID =ISD_SendData(0x00);
150 1 SS=1;
151 1 delay_ms(10);
152 1 return(ID);
153 1
154 1 }
155 /**************************************************************************
156 * 函数原型: void ISD_Reset(void)
157 * 功 能: 复位
158 **************************************************************************/
159 void ISD_Reset(void)
160 {
161 1 ISD_SendData(0x13);
162 1 ISD_SendData(0x00);
163 1 SS=1;
164 1 delay_ms(50) ;
165 1
166 1
167 1 }
168
169 /**************************************************************************
170 * 函数原型: void ISD_WR_NVCFG(void);
171 * 功 能: 永久写入寄存器
172 **************************************************************************/
173 void ISD_WR_NVCFG(void)
174 {
175 1 ISD_SendData(WR_NVCFG);
176 1 ISD_SendData(0x00);
177 1 SS=1;
178 1 delay_ms(10); //延迟10ms
179 1 }
C51 COMPILER V7.06 1730 11/26/2008 23:50:30 PAGE 4
180
181
182 /**************************************************************************
183 * 函数原型: void ISD_Init(void);
184 * 功 能: 初始化
185 **************************************************************************/
186 void ISD_Init(void)
187 {
188 1 ISD_Reset();
189 1 do{
190 2 P1=0;
191 2 ISD_PU();
192 2 RdStatus();
193 2
194 2 }while((SR0_L&0x01)||(!(SR1&0x01))); //if(SR0_L^0==1){system Err}<CMD_Err==1>
195 1
196 1 SBUF=RD_DevID();//读取芯片ID,----1760为0xa0
197 1 ClrInt();
198 1 ISD_WR_APC2();
199 1 RdAPC();
200 1 }
201 /**************************************************************************
202 * 函数原型: void SetREC(uchar cNum);
203 * 功 能: 定点录音
204 **************************************************************************/
205 void SetREC(void)
206 {
207 1 uchar Add_ST_H, Add_ST_L, Add_ED_H, Add_ED_L;
208 1
209 1 do{
210 2 RdStatus();
211 2
212 2 }while((SR0_L&0x01)||(!(SR1&0x01)));
213 1
214 1 ClrInt();
215 1 Add_ST_L=0x00;
216 1 Add_ED_L=0xFF;
217 1 Add_ST_H=0X00;
218 1 Add_ED_H=0X00;
219 1
220 1 ISD_SendData(0x91);
221 1 ISD_SendData(0x00);
222 1 ISD_SendData(Add_ST_L); //S7:S0 开始地址
223 1 ISD_SendData(Add_ST_H); //S10:S8
224 1 ISD_SendData(Add_ED_L); //E7:E0 结束地址
225 1 ISD_SendData(Add_ED_H); //E10:E8
226 1 ISD_SendData(0x00);
227 1 SS=1;
228 1 delay_ms(10); //延迟10ms
229 1
230 1 do{
231 2 RdStatus();
232 2
233 2 }while((SR0_L&0x01)||(!(SR1&0x01))); //if(SR0_L^0==1){system Err}<CMD_Err==1>
234 1
235 1 }
236
237 /**************************************************************************
238 * 函数原型: void SetPLAY(uchar cNum);
239 * 功 能: 定点播放
240 **************************************************************************/
241 void SetPLAY(void)
C51 COMPILER V7.06 1730 11/26/2008 23:50:30 PAGE 5
242 {
243 1 uchar Add_ST_H, Add_ST_L, Add_ED_H, Add_ED_L;
244 1 do{
245 2 RdStatus();
246 2
247 2 }while((SR0_L&0x01)||(!(SR1&0x01))); //if(SR0_L^0==1){system Err}<CMD_Err==1>
248 1
249 1 ClrInt();
250 1 Add_ST_L=0x00;
251 1 Add_ED_L=0xFF;
252 1 Add_ST_H=0X00;
253 1 Add_ED_H=0X00;
254 1 ISD_SendData(0x90);
255 1 ISD_SendData(0x00);
256 1 ISD_SendData(Add_ST_L); //S7:S0 开始地址
257 1 ISD_SendData(Add_ST_H); //S10:S8
258 1 ISD_SendData(Add_ED_L); //E7:E0 结束地址
259 1 ISD_SendData(Add_ED_H); //E10:E8
260 1 ISD_SendData(0x00);
261 1 SS=1;
262 1 delay_ms(10); //延迟10ms
263 1
264 1 do{
265 2 RdStatus();
266 2
267 2 }while((SR0_L&0x01)||((SR1&0x04)));
268 1
269 1
270 1 }
271 /****************************************************************************
272 *函数类型:void ISD_REC(void);
273 *从当前开始录音;,
274 ******************************************************************************/
275 void ISD_REC(void)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -