📄 main.lst
字号:
420 1 (*ichar)++;
421 1 if ((*ichar) > 8)
422 1 (*ichar) = 8;
423 1 if (((*ichar) == 1)&&(memdis[0] == 0))
424 1 *ichar = 0;
425 1 /* if(Key_Code == 0x0A)
426 1 {
427 1 p_num = 7-(*ichar);
C51 COMPILER V8.08 MAIN 05/04/2009 15:04:02 PAGE 8
428 1 p1 = (*ichar);
429 1 }*/
430 1 if (*ichar > 0)
431 1 {
432 2 for (i = 0; i < (*ichar); i++)
433 2 {
434 3 Data = Data*10+memdis[i];
435 3 }
436 2 /* for(i = 0; i < p_num; i++)
437 2 {
438 2 Data = Data/10;
439 2 }*/
440 2 }
441 1 else Data = 0;
442 1
443 1 // display(ad," ");
444 1 c1 = (*ichar);
445 1 for (i = (*ichar); i >0; i--)
446 1 {
447 2 cnt = memdis[(*ichar)-i];
448 2 if (cnt <=9)
449 2 cnt += 0x30;
450 2 else break;
451 2 Dischar[0] = cnt;
452 2 // Dischar[1] = '\0';
453 2 display(ad-i,Dischar);
454 2 }
455 1 return Data;
456 1 }
457 //
458 /************************************************************************
459 *作者: 杨乐 *
460 *函数名: UpDown *
461 *功能: 增加和减小 *
462 *入口参数:无 *
463 *返回值: 无 *
464 *日期: 2009年1月21日 *
465 ************************************************************************/
466 unsigned char UpDown(unsigned char * memdis, double * Data, unsigned char updown)
467 {
468 1 unsigned long tmp1;
469 1 unsigned char cnt;
470 1 display(0x80," ");
471 1 /* unsigned char i;
472 1 unsigned long j;
473 1 for(i=0;i<(c1-1);i++)
474 1 c *= 10;
475 1 /* if(p_bit>1)
476 1 {
477 1 for(i=0;i<(p_bit-1);i++)
478 1 j *= 10;
479 1 }
480 1 c =c/j;*/
481 1 tmp1 = * Data;
482 1
483 1 if (updown == 1)
484 1 tmp1 +=c;
485 1 else
486 1 if ((tmp1>1)&&(tmp1>c))
487 1 tmp1 -=c;
488 1
489 1 * Data = tmp1;
C51 COMPILER V8.08 MAIN 05/04/2009 15:04:02 PAGE 9
490 1 cnt=0;
491 1 while (tmp1>0)
492 1 {
493 2 tmp1 /= 10;
494 2 cnt++;
495 2 }
496 1 tmp1 = *Data;
497 1 memset(memdis,0,8);
498 1
499 1 for (i = 0; i < cnt; i++)
500 1 {
501 2 memdis[cnt-i-1] = tmp1%10;
502 2 tmp1 /= 10;
503 2 }
504 1 return cnt;
505 1 }
506 /************************************************************************
507 *作者: 杨乐 *
508 *函数名: unit *
509 *功能: 增加和减小单位换算 *
510 *入口参数无 : *
511 *返回值: 无 *
512 *日期: 2009年1月21日 *
513 ************************************************************************/
514 void unit(unsigned char u)
515 {
516 1 switch(u)
517 1 {
518 2 case 1:c = 10000000;break;
519 2 case 2:c = 1000000;break;
520 2 case 3:c = 100000;break;
521 2 case 4:c = 10000;break;
522 2 case 5:c = 1000;break;
523 2 case 6:c = 100;break;
524 2 case 7:c = 10;break;
525 2 case 8:c = 1;break;
526 2 default:break;
527 2 }
528 1 }
529 /************************************************************************
530 *作者: 杨乐 *
531 *函数名: num_renew *
532 *功能: 光标显示位数据更新 *
533 *入口参数:无 *
534 *返回值: 无 *
535 *日期: 2009年1月21日 *
536 ************************************************************************/
537 void num_renew(unsigned char * memdis)
538 {
539 1 unsigned long fd,i,j,k,cod;
540 1 unsigned long x;
541 1 j = 0;
542 1 unit(p_bit);
543 1 fd = f;
544 1 // memdis[i-1] = Key_Code;
545 1 /* if (c1 > 0)
546 1 {
547 1 for (i = 0; i < c1; i++)
548 1 Data = Data*10+memdis[i];
549 1 }*/
550 1 while (fd>0)
551 1 {
C51 COMPILER V8.08 MAIN 05/04/2009 15:04:02 PAGE 10
552 2 fd /= 10;
553 2 j++;
554 2 }
555 1 fd = f;
556 1 if((p_bit<=j)&&(Key_Code<10)&&(Key_Code>0))
557 1 {
558 2 fd /= c;
559 2 while(fd>10)fd %= 10;
560 2 f = (f-fd*c)+(Key_Code*c);
561 2 }
562 1 else if((p_bit>j)&&(Key_Code<10))
563 1 {
564 2 k = 0;
565 2 while (fd>0)
566 2 {
567 3 k++;
568 3 if(k==(9-p_bit))
569 3 {
570 4 x = fd%10;
571 4 break;
572 4 }
573 3 else
574 3 fd /= 10;
575 3 }
576 2 f = (f-(x*c))+(Key_Code*c);
577 2 }
578 1 else;
579 1 memset(memdis,0,8);
580 1 fd = f;
581 1 k = 0;
582 1 while (fd>0)
583 1 {
584 2 fd /= 10;
585 2 k++;
586 2 }
587 1 fd = f;
588 1 for (i = 0; i < k; i++)
589 1 {
590 2 memdis[k-i-1] = fd%10;
591 2 fd /= 10;
592 2 }
593 1 display(0x80," ");
594 1 for (i = k; i >0; i--)
595 1 {
596 2 cod = memdis[k-i];
597 2 if (cod <=9)
598 2 cod += 0x30;
599 2 else break;
600 2 Dischar[0] = cod;
601 2 // Dischar[1] = '\0';
602 2 display(0x88-i,Dischar);
603 2 }
604 1 if (f>72000000)
605 1 {
606 2 freq = 72000000;
607 2 }
608 1 if (f<1)
609 1 {
610 2 f = 1;
611 2 }
612 1 freq = f*mul;
613 1 SetFreq(freq,0);
C51 COMPILER V8.08 MAIN 05/04/2009 15:04:02 PAGE 11
614 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 3322 ----
CONSTANT SIZE = 63 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 57 53
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -