📄 oscilloscope1.lst
字号:
273 1 }
274
275 //***************************************************************************************
276 /*
277 void Select_AB_Channel()
278 {
279 lcd_clear();
280 Led_On=0;
281
282 // if(Select_Flag%3)
283 // Select_Flag=0;
284 // else
285 // {
286 if(AD_Controll)
287 {
288 switch(Select_Flag%3)
289 {
290 case 0:
291 Select_AB=1;
292 //Select_B=0;
293 lcd_clear();
294 lcd_write_sentence(2,1,"A 路选通");
295 lcd_write_sentence(3,1,"B 路关闭");
296 break;
297 case 1:
298 Select_AB=2;
299 //Select_B=1;
300 lcd_clear();
301 lcd_write_sentence(2,1,"A 路关闭");
302 lcd_write_sentence(3,1,"B 路选通");
303 break;
C51 COMPILER V7.06 OSCILLOSCOPE1 08/17/2005 17:00:43 PAGE 6
304 case 2:
305 Select_AB=3;
306 //Select_B=1;
307 lcd_clear();
308 lcd_write_sentence(2,1,"A 路选通");
309 lcd_write_sentence(3,1,"B 路选通");
310 break;
311 default:
312 break;
313 // }
314 }
315 Select_Flag++;
316 }
317 }
318 */
319 //***************************************************************************************
320 void Input_Select() //AD114输入选择
321 {
322 1 unchar temp1,temp2;
323 1 temp1=AD_Channel%3;
324 1 temp2=PB8155;
325 1 temp2=temp2&0xFC;
326 1 switch(temp1)
327 1 {
328 2 case 0:
329 2 //AD_Controll=0;
330 2 PB8155=temp2;
331 2 lcd_clear();
332 2 lcd_write_sentence(2,1,"A 路选通");
333 2 lcd_write_sentence(3,1,"B 路关闭");
334 2 Select_AB=1;
335 2 break;
336 2 case 1:
337 2 //AD_Controll=0;
338 2 PB8155=temp2+2;
339 2 Select_AB=2;
340 2 lcd_clear();
341 2 lcd_write_sentence(2,1,"A 路关闭");
342 2 lcd_write_sentence(3,1,"B 路选通");
343 2 break;
344 2 case 2:
345 2 //AD_Controll=1;
346 2 lcd_clear();
347 2 PB8155=temp2+1;
348 2 lcd_write_sentence(2,1,"A 路选通");
349 2 lcd_write_sentence(3,1,"B 路选通");
350 2 Select_AB=3;
351 2 break;
352 2 }
353 1 AD_Channel++;
354 1 }
355
356 //***************************************************************************************
357 void Vertical_GainA()
358 {
359 1 unchar temp;
360 1 Led_On=1;
361 1 Key_Flag=4;
362 1 if(Vertical_Gain_A_Grade<7)
363 1 {
364 2 Vertical_Gain_A_Grade++;
365 2 }
C51 COMPILER V7.06 OSCILLOSCOPE1 08/17/2005 17:00:43 PAGE 7
366 1 else
367 1 Vertical_Gain_A_Grade=0;
368 1 distab_clear();
369 1 distab[0]=Vertical_Gain_A_Grade;
370 1 display(0);
371 1 temp=PB8155;
372 1 temp=temp&0x03;
373 1 PB8155=temp+_crol_(Vertical_Gain_A_Grade,5);
374 1 //if(Vertical_Gain_A_Grade>2)
375 1 //Vertical_Gain_A_Grade=0;
376 1 //else
377 1 //{
378 1 // Vertical_Gain_B=Vertical_Gain_B_Grade;
379 1 lcd_clear();
380 1 lcd_write_sentence(1,0,"当前垂直增益档位");
381 1 lcd_write_sentence(2,2,"A 路");
382 1 //lcd_write_sentence(3,1,"0.01V/div");
383 1 //lcd_write_command(0x8A);
384 1 //lcd_write_data(0x30+Vertical_Gain_B_Grade);
385 1 switch(Vertical_Gain_A_Grade)
386 1 {
387 2 case 0:
388 2 lcd_write_sentence(3,1,"10mV/div");
389 2 break;
390 2 case 1:
391 2 lcd_write_sentence(3,1,"20mV/div");
392 2 break;
393 2 case 2:
394 2 lcd_write_sentence(3,1,"50mv/div");
395 2 break;
396 2 case 3:
397 2 lcd_write_sentence(3,1,"0.1V/div");
398 2 break;
399 2 case 4:
400 2 lcd_write_sentence(3,1,"0.2V/div");
401 2 break;
402 2 case 5:
403 2 lcd_write_sentence(3,1,"0.5v/div");
404 2 break;
405 2 case 6:
406 2 lcd_write_sentence(3,1,"1V/div");
407 2 break;
408 2 case 7:
409 2 lcd_write_sentence(3,1,"2v/div");
410 2 break;
411 2 default:
412 2 break;
413 2 }
414 1
415 1 }
416 //***************************************************************************************
417 void Vertical_GainB()
418 {
419 1 unchar temp;
420 1 Led_On=1;
421 1 Key_Flag=5;
422 1 if(Vertical_Gain_B_Grade<7)
423 1 {
424 2 Vertical_Gain_B_Grade++;
425 2 }
426 1 else
427 1 Vertical_Gain_B_Grade=0;
C51 COMPILER V7.06 OSCILLOSCOPE1 08/17/2005 17:00:43 PAGE 8
428 1 distab_clear();
429 1 distab[0]=Vertical_Gain_B_Grade;
430 1 display(0);
431 1 temp=PB8155;
432 1 temp=temp&0x03;
433 1 PB8155=temp+_crol_(Vertical_Gain_B_Grade,5);
434 1 //if(Vertical_Gain_A_Grade>2)
435 1 //Vertical_Gain_A_Grade=0;
436 1 //else
437 1 //{
438 1 // Vertical_Gain_B=Vertical_Gain_B_Grade;
439 1 lcd_clear();
440 1 lcd_write_sentence(1,0,"当前垂直增益档位");
441 1 lcd_write_sentence(2,2,"B 路");
442 1 //lcd_write_sentence(3,1,"0.01V/div");
443 1 //lcd_write_command(0x8A);
444 1 //lcd_write_data(0x30+Vertical_Gain_B_Grade);
445 1 switch(Vertical_Gain_B_Grade)
446 1 {
447 2 case 0:
448 2 lcd_write_sentence(3,1,"10mV/div");
449 2 break;
450 2 case 1:
451 2 lcd_write_sentence(3,1,"20mV/div");
452 2 break;
453 2 case 2:
454 2 lcd_write_sentence(3,1,"50mv/div");
455 2 break;
456 2 case 3:
457 2 lcd_write_sentence(3,1,"0.1V/div");
458 2 break;
459 2 case 4:
460 2 lcd_write_sentence(3,1,"0.2V/div");
461 2 break;
462 2 case 5:
463 2 lcd_write_sentence(3,1,"0.5v/div");
464 2 break;
465 2 case 6:
466 2 lcd_write_sentence(3,1,"1V/div");
467 2 break;
468 2 case 7:
469 2 lcd_write_sentence(3,1,"2v/div");
470 2 break;
471 2 default:
472 2 break;
473 2 }
474 1 }
475 //***************************************************************************************
476 void Vertical_MoveA()
477 {
478 1 Shift_Flag=1;
479 1 ledcursor=2;
480 1 Key_Flag=6;
481 1 Led_On=1;
482 1 Glint_Flag=1;
483 1 lcd_clear();
484 1 lcd_write_sentence(1,0,"按加减键上下移动");
485 1 lcd_write_sentence(2,1,"A 路波形");
486 1 distab[0]=0x00;
487 1 distab[1]=0x00;
488 1 distab[2]=0x00;
489 1 distab[3]=0x10;
C51 COMPILER V7.06 OSCILLOSCOPE1 08/17/2005 17:00:43 PAGE 9
490 1 distab[4]=0x10;
491 1 distab[5]=0x10;
492 1 distab[6]=0x10;
493 1 distab[7]=0x04;
494 1 }
495 //***************************************************************************************
496 void Vertical_MoveB()
497 {
498 1 Shift_Flag=1;
499 1 ledcursor=2;
500 1 Key_Flag=7;
501 1 lcd_clear();
502 1 Led_On=1;
503 1 Glint_Flag=1;
504 1 lcd_write_sentence(1,0,"按加减键上下移动");
505 1 lcd_write_sentence(2,1,"B 路波形");
506 1 distab[0]=0x00;
507 1 distab[1]=0x00;
508 1 distab[2]=0x00;
509 1 distab[3]=0x10;
510 1 distab[4]=0x10;
511 1 distab[5]=0x10;
512 1 distab[6]=0x10;
513 1 distab[7]=0x05;
514 1 }
515 //***************************************************************************************
516 void Frequence_Measure()
517 {
518 1 long temp,temph,templ;
519 1 //Frequence_Measure_Flag=!Frequence_Measure_Flag;
520 1 //while(Frequence_Measure_Flag)
521 1 //{
522 1 unint i=5000;
523 1 Frequence_Start=1;
524 1 Frequence_Start=0;
525 1 while(--i);
526 1 temph=Wave_Frequence_High;
527 1 templ=Wave_Frequence_Low;
528 1 Wave_Frequence=(templ+temph*0x100)*3052/100;
529 1 //Wave_Frequence=20000000/(templ+temph*0x100);
530 1 lcd_clear();
531 1 lcd_write_sentence(1,0,"当前频率: ");
532 1 //lcd_write_sentence(2,1,"A 路波形");
533 1 lcd_write_command(0x91);
534 1 temp=Wave_Frequence/10000;
535 1 lcd_write_data(0x30+temp);
536 1 Wave_Frequence%=10000;
537 1 temp=Wave_Frequence/1000;
538 1 lcd_write_data(0x30+temp);
539 1 Wave_Frequence%=1000;
540 1 temp=Wave_Frequence/100;
541 1 lcd_write_data(0x30+temp);
542 1 Wave_Frequence%=100;
543 1 temp=Wave_Frequence/10;
544 1 lcd_write_data(0x30+temp);
545 1 Wave_Frequence%=10;
546 1 temp=Wave_Frequence;
547 1 lcd_write_data(0x30+temp);
548 1 //Wave_Frequence%=10000;
549 1 lcd_write_sentence(2,4," HZ");
550 1 //}
551 1 //lcd_write_sentence(2,5,"暂停");
C51 COMPILER V7.06 OSCILLOSCOPE1 08/17/2005 17:00:43 PAGE 10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -