📄 f020.lst
字号:
238 3
239 3 AIN12_ADDR[0]=0x14;
240 3 AIN12_ADDR[1]=0x00;
241 3 //AIN12_ADDR[2]=0x08;//AIN1.2 存储区域0x140000~0x15FFFF共128K
242 3
243 3 AIN13_ADDR[0]=0x16;
244 3 AIN13_ADDR[1]=0x00;
245 3 //AIN13_ADDR[2]=0x08;//AIN1.3 存储区域0x160000~0x17FFFF共128K
246 3
247 3 AIN14_ADDR[0]=0x18;
248 3 AIN14_ADDR[1]=0x00;
249 3 //AIN14_ADDR[2]=0x08;//AIN1.4 存储区域0x180000~0x19FFFF共128K
250 3
251 3 AIN15_ADDR[0]=0x1A;
252 3 AIN15_ADDR[1]=0x00;
253 3 //AIN15_ADDR[2]=0x08;//AIN1.5 存储区域0x1A0000~0x1BFFFF共128K
254 3
255 3 AIN16_ADDR[0]=0x1C;
256 3 AIN16_ADDR[1]=0x00;
257 3 //AIN16_ADDR[2]=0x08;//AIN1.6 存储区域0x1C0000~0x1DFFFF共128K
258 3
259 3 AIN17_ADDR[0]=0x1E;
260 3 AIN17_ADDR[1]=0x00;
261 3 //AIN17_ADDR[2]=0x08;//AIN1.7 存储区域0x1E0000~0x1FFFFF共128K
262 3
263 3 //RAM Address Initial//
264 3 m0=0x0000;
265 3 m1=0x0100;
266 3 m2=0x0200;
267 3 m3=0x0300;
268 3 m4=0x0400;
269 3 m5=0x0500;
270 3 m6=0x0600;
271 3 m7=0x0700;
272 3
273 3 n0=0x1000;
274 3 n1=0x1100;
275 3 n2=0x1200;
276 3 n3=0x1300;
277 3 n4=0x1400;
278 3 n5=0x1500;
279 3 n6=0x1600;
280 3 n7=0x1700;
281 3 //first_flag Initial//
282 3 first_flag00=0;first_flag01=0;first_flag02=0;first_flag03=0;first_flag04=0;first_flag05=0;first_flag06=
-0;first_flag07=0;
283 3 first_flag10=0;first_flag11=0;first_flag12=0;first_flag13=0;first_flag14=0;first_flag15=0;
284 3 //UART0_SendByte(0X0E);
285 3
286 3 }
287 2 if(c_flag==1)//C命令程序段
288 2 {
289 3 //TR0=0;
290 3 //ET0=0;
291 3 c_flag=0;
292 3 Read_Flash_Data_To_PC (adh,adm,adl,data_length);
293 3 //ET0=1;
294 3 //TR0=1;
295 3
296 3 }
297 2 if(AD_Current_flag==1)//K命令程序段
298 2 {
C51 COMPILER V7.50 F020 09/08/2007 13:14:11 PAGE 6
299 3 AD_Current_flag=0;
300 3 TR0=0;
301 3 ET0=0;
302 3 Read_AD_Current();
303 3 }
304 2 if(systemstate==1)//S命令启动采样
305 2 {
306 3
307 3 Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x00,0x00,0x00,0x00);//通道AIN0
-。0
308 3 Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x10,0x00,0x00,0x10);//通道AIN1
-。0
309 3 Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x02,0x00,0x00,0x01);//通道AIN0
-。1
310 3 Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x12,0x00,0x00,0x11);//通道AIN1
-。1
311 3 Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x04,0x00,0x00,0x02);//通道AIN0
-。2
312 3 Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x14,0x00,0x00,0x12);//通道AIN1
-。2
313 3 Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x06,0x00,0x00,0x03);//通道AIN0
-。3
314 3 Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x16,0x00,0x00,0x13);//通道AIN1
-。3
315 3 Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x08,0x00,0x00,0x04);//通道AIN0
-。4
316 3 Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x18,0x00,0x00,0x14);//通道AIN1
-。4
317 3 Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x0A,0x00,0x00,0x05);//通道AIN0
-。5
318 3 Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x1A,0x00,0x00,0x15);//通道AIN1
-。5
319 3 Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x0C,0x00,0x00,0x06);//通道AIN0
-。6
320 3 //Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x1C,0x00,0x00,0x16);//通道AI
-N1。6
321 3 Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x0E,0x00,0x00,0x07);//通道AIN0
-。7
322 3 //Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x1E,0x00,0x00,0x17);//通道AI
-N1。7
323 3 systemstate=2;
324 3 ET0=1;
325 3 TR0=1;
326 3 while(systemstate==2)
327 3 {
328 4
329 4 if(c_flag==1)//C命令程序段
330 4 {
331 5 TR0=0;
332 5 ET0=0;
333 5 c_flag=0;
334 5 Read_Flash_Data_To_PC (adh,adm,adl,data_length);
335 5 ET0=1;
336 5 TR0=1;
337 5 }
338 4 if(AD_Current_flag==1)//K命令程序段
339 4 {
340 5 AD_Current_flag=0;
341 5 TR0=0;
342 5 ET0=0;
343 5 Read_AD_Current();
344 5 ET0=1;
C51 COMPILER V7.50 F020 09/08/2007 13:14:11 PAGE 7
345 5 TR0=1;
346 5 }
347 4 if(fast_read==1)//D命令程序段
348 4 {
349 5 fast_read=0;
350 5 TR0=0;
351 5 ET0=0;
352 5 Fast_Read(fast_adh,fast_adm,fast_adl,end_add);
353 5 ET0=1;
354 5 TR0=1;
355 5 }
356 4
357 4 if(AIN_Flag==1)
358 4 {
359 5 /***********************************START AIN=0X01*********************************************/
360 5 if(AIN==0X01)
361 5 {
362 6 AIN_Flag=0;
363 6 /***************************AD LONG TIME NO CHANGE****************************/
364 6 if(timepoint>253)
365 6 {
366 7 TR0=0;
367 7 ET0=0;
368 7 Status_AD_LED=~Status_AD_LED;
369 7 AMX0SL = 0x00;//AIN0.0 //AIN00-AIN07->0X00-0X07
370 7 AD0INT = 0; // 清除ADC转换完成标志
371 7 AD0BUSY = 1;
372 7 Delay_us(5);
373 7 while (!AD0INT);
374 7 current_xn = ADC0H;
375 7 x[m0]=current_xn;
376 7 m0++;
377 7 x[m0]=0xFE;
378 7 m0++;
379 7
380 7 AMX1SL=0x00;//AIN1.0
381 7 ADC1CN &= 0xDF;// 清除ADC转换完成标志 AD1INT = 0;
382 7 ADC1CN |= 0x10;// AD1BUSY = 1;
383 7 Delay_us(5);
384 7 while (!ADC1CN&0x20); //等待AD1INT=1;
385 7 current_xn=ADC1;
386 7 x[n0]=current_xn;
387 7 n0++;
388 7 x[n0]=0xFE;
389 7 n0++;
390 7 ET0=1;
391 7 TR0=1;
392 7
393 7 }
394 6 if(m0>0X00FF)
395 6 {
396 7 TR0=0;
397 7 ET0=0;
398 7 m0=0x0000;//AIN0.0缓存区首地址
399 7 switch (first_flag00)
400 7 {
401 8 case 0X00: Read_Data_T0_Flash (AIN00_ADDR[0],AIN00_ADDR[1],0x08,m0+8,248);
402 8 AIN00_ADDR[1]++;
403 8 //AIN00_ADDR[2]=0x00;
404 8 first_flag00=1;
405 8 break;
406 8 case 0X01: Read_Data_T0_Flash (AIN00_ADDR[0],AIN00_ADDR[1],0x00,m0,256);
C51 COMPILER V7.50 F020 09/08/2007 13:14:11 PAGE 8
407 8 AIN00_ADDR[1]++;
408 8 //AIN00_ADDR[2]=0x00;
409 8 break;
410 8 default:break;
411 8 }
412 7 if(AIN00_ADDR[1]>255)
413 7 {
414 8 AIN00_ADDR[1]=0x00;
415 8 //AIN00_ADDR[2]=0x00;
416 8 AIN00_ADDR[0]++;
417 8 if( AIN00_ADDR[0]>=0X02)
418 8 {
419 9 FLASH_SE(0x00,0x00,0x00);
420 9 FLASH_SE(0x01,0x00,0x00);
421 9
422 9 first_flag00=0;
423 9 Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x00,0x00,0x00,0x00
-);//通道AIN0。0
424 9 AIN00_ADDR[0]=0x00;
425 9 AIN00_ADDR[1]=0x00;
426 9 //AIN00_ADDR[2]=0x08;//AIN0.0 存储区域0x000000~0x01FFFF共128K
427 9 }
428 8
429 8 }
430 7 ET0=1;
431 7 TR0=1;
432 7 }//end if m0>0x00FF
433 6 if(n0>0X10FF)//地址注意之处
434 6 {
435 7 TR0=0;
436 7 ET0=0;
437 7 n0=0x1000;//AIN1.0缓存区首地址
438 7
439 7 switch (first_flag10)
440 7 {
441 8 case 0X00: Read_Data_T0_Flash (AIN10_ADDR[0],AIN10_ADDR[1],0x08,n0+8,248);
442 8 AIN10_ADDR[1]++;
443 8 //AIN10_ADDR[2]=0x00;
444 8 first_flag10=1;
445 8 break;
446 8 case 0X01: Read_Data_T0_Flash (AIN10_ADDR[0],AIN10_ADDR[1],0x00,n0,256);
447 8 AIN10_ADDR[1]++;
448 8 //AIN10_ADDR[2]=0x00;
449 8 break;
450 8 default:break;
451 8 }
452 7
453 7 if(AIN10_ADDR[1]>255)
454 7 {
455 8 AIN10_ADDR[1]=0x00;
456 8 //AIN10_ADDR[2]=0x00;
457 8 AIN10_ADDR[0]++;
458 8 if( AIN10_ADDR[0]>=0X12)//存储区域0x100000~0x11FFFF共128K
459 8 {
460 9 FLASH_SE(0x10,0x00,0x00);
461 9 FLASH_SE(0x11,0x00,0x00);
462 9
463 9 first_flag10=0;
464 9 Flash_Write_address (shijian_data[0],shijian_data[1],shijian_data[2],0x10,0x00,0x00,0x10
-);//通道AIN1。0
465 9 AIN10_ADDR[0]=0x10;
466 9 AIN10_ADDR[1]=0x00;
C51 COMPILER V7.50 F020 09/08/2007 13:14:11 PAGE 9
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -