📄 disp.lst
字号:
474 1 for(i=9;i>0;i--)
475 1 { if(i==dotdata) break;
476 2 if(tt[i]==0) tt[i]=0x0f; //去前导零
477 2 else break;
478 2
479 2 }
480 1 if(dotdata!=1)
481 1 {
482 2 for(i=0;i<4;i++)
483 2 {
484 3 dispmem[i]=tt[i];
485 3 }
486 2 for(i=4;i<10;i++)
487 2 {
488 3 dispmem[i+6]=tt[i];
489 3 }
C51 COMPILER V7.00 DISP 09/14/2006 16:35:48 PAGE 9
490 2 }
491 1 else //因不能显示1位小数点,全左移1位,最后一位的位置空
492 1 {
493 2 for(i=0;i<3;i++)
494 2 {
495 3 dispmem[i+1]=tt[i];
496 3 }
497 2 for(i=3;i<9;i++)
498 2 {
499 3 dispmem[i+7]=tt[i];
500 3 }
501 2 dispmem[4]=tt[9];
502 2 dispmem[0]=0x0f; //最后一位的位置空
503 2 }
504 1 ptr=&dispmem;
505 1 disp_updata_lcd(LCDBADD,ptr);
506 1
507 1
508 1 }
509 /**********************************************************
510 * 功能:查询及菜单返回的显示界面a
511 **********************************************************/
512 void disp_return_a(void)
513 {
514 1 disp_key_clear_a();
515 1 //disp_lcd1(0,0x04);
516 1 //disp_lcd1(0,0x0a); //公升
517 1 //disp_lcd1(price_a,0x0);
518 1 //disp_dot1(decimal_a); //LCD1小数点
519 1 //if(!cease_power)disp_lcd1(price_a,0x0);
520 1 state1=0;
521 1 updatea=1;
522 1 }
523 /**********************************************************
524 * 功能:查询及菜单返回的显示界面b
525 **********************************************************/
526 void disp_return_b(void)
527 {
528 1 disp_key_clear_b();
529 1 //disp_lcd2(0,0x04);
530 1 //disp_lcd2(0,0x0a); //公升
531 1 //disp_lcd2(price_b,0x0);
532 1 //disp_dot2(decimal_b); //LCD2小数点
533 1 if(!cease_power)disp_lcd2(price_b,0x0);
534 1 state2=0;
535 1 updateb=1;
536 1 }
537 /***********************************************************************
538 * 功能:显示更新显示数据LCD1/LCD2
539 ************************************************************************/
540 void disp_updata_lcd(uint addab,uchar *ptr)
541 { uchar i,j,temp;
542 1 bit bymem;
543 1 AUXR |=0x02;
544 1 for(i=0;i<16;i++)
545 1 { ACC=0x38;
546 2 XBYTE[addab]=ACC; //ST
547 2 bbyte=*(ptr+i);
548 2 temp=bbyte*16+i; //+lcdadd-1;
549 2 for(j=8;j>0;j--)
550 2 { bbyte=temp;
551 3 bymem=(bit)(bbyte&0x80);
C51 COMPILER V7.00 DISP 09/14/2006 16:35:48 PAGE 10
552 3 temp<<=1;
553 3 bbyte=0x38;
554 3 a1= bymem; //DS-->DATA
555 3 XBYTE[addab]=bbyte;
556 3 ACC|=0x01;
557 3 XBYTE[addab]=ACC; //CP-->CLK ↑
558 3 ACC&=0xfe;
559 3 XBYTE[addab]=ACC; //CP-->CLK ↓
560 3 }
561 2 ACC=0x3c;
562 2 XBYTE[addab]=ACC; //ST-->INH
563 2
564 2 }
565 1
566 1 AUXR &=0xfd;
567 1 }
568 /************************************************************
569 * 功能:显示枪1/2历史加油记录
570 *************************************************************/
571 void disp_eeprom_history(uchar gunid,uchar sequence)
572 { void *pt;
573 1 union{
574 1 uchar c[4];
575 1 ulong x;
576 1 uint y;
577 1 }temp;
578 1 uint add;
579 1 char dypass;
580 1 pt=&temp.c[0];
581 1 if(gunid==0)
582 1 {
583 2 keya_num[0]=keynumdata[sequence];keya_num[1]=keynumdata[27];keya_num[2]=keynumdata[0];keya_num[3]=keynum
-data[1];
584 2 keya_num[4]=0x02;
585 2 }
586 1 else
587 1 {
588 2 keyb_num[0]=keynumdata[sequence];keyb_num[1]=keynumdata[27];keyb_num[2]=keynumdata[0];keyb_num[3]=keynum
-data[1];
589 2 keyb_num[4]=0x02;
590 2 }
591 1 dypass=readbyte(gunid*300)-sequence; //枪0在0000H; 枪1在0300;
592 1 if(dypass<0) dypass+=10;
593 1 if(dypass>9) dypass=0;
594 1 add=dypass*10+200*gunid+101;
595 1 readbyteseq(add,pt,4);
596 1 if(gunid==0) disp_lcd1(temp.x,0x0a); //公升
597 1 else disp_lcd2(temp.x,0x0a); //公升
598 1
599 1 //pt=&temp.c[0];
600 1 dypass=readbyte(gunid*300)-sequence; //枪0在0000H; 枪1在0300;
601 1 if(dypass<0) dypass+=10;
602 1 //add=dypass*10+256*gunid+105;
603 1 add+=4;
604 1 readbyteseq(add,pt,4);
605 1 if(gunid==0) disp_lcd1(temp.x,0x04); //公升
606 1 else disp_lcd2(temp.x,0x04); //公升
607 1
608 1 add+=4;
609 1 readbyteseq(add,pt,2);
610 1
611 1 if(gunid==0) {disp_lcd1(temp.y,0x0);disp_dot1(decimal_a);}
C51 COMPILER V7.00 DISP 09/14/2006 16:35:48 PAGE 11
612 1 else {disp_lcd2(temp.y,0x0);disp_dot2(decimal_b);}
613 1 }
614 /**************************************************************
615 * 功能:显示时钟a/b
616 **************************************************************/
617 void disp_time(uchar gunidid)
618 { uchar dispmem[16];
619 1 uchar *ptr;
620 1 if(gunidid==0)
621 1 {
622 2 keya_num[0]=keynumdata[25];keya_num[1]=keynumdata[27];keya_num[2]=keynumdata[27];keya_num[3]=keynumdata[
-25]; //"t--t"
623 2 keya_num[4]=0x02;
624 2 dispmem[9]=0x02;
625 2 dispmem[8]=0x00;
626 2 dispmem[7]=ucCurtime[6]/16;
627 2 dispmem[6]=ucCurtime[6]%16;
628 2 dispmem[5]=ucCurtime[4]/16;
629 2 dispmem[4]=ucCurtime[4]%16;
630 2
631 2 dispmem[15]=ucCurtime[3]/16;
632 2 dispmem[14]=ucCurtime[3]%16;
633 2 dispmem[13]=ucCurtime[2]/16;
634 2 dispmem[12]=ucCurtime[2]%16;
635 2 dispmem[11]=ucCurtime[1]/16;
636 2 dispmem[10]=ucCurtime[1]%16;
637 2
638 2 dispmem[3]=ucCurtime[0]/16;;
639 2 dispmem[2]=ucCurtime[0]%16;;
640 2 dispmem[1]=0x0f;
641 2 dispmem[0]=ucCurtime[5]%16;
642 2 disp_dot1(0x08); //LCD1小数点 08--全无小数点
643 2 ptr=&dispmem;
644 2 disp_updata_lcd(LCDAADD,ptr);
645 2 }
646 1 else
647 1 {
648 2 keyb_num[0]=keynumdata[25];keyb_num[1]=keynumdata[27];keyb_num[2]=keynumdata[27];keyb_num[3]=keynumdata[
-25]; //"t--t"
649 2 keyb_num[4]=0x02;
650 2 dispmem[9]=0x02;
651 2 dispmem[8]=0x00;
652 2 dispmem[7]=ucCurtime[6]/16;
653 2 dispmem[6]=ucCurtime[6]%16;
654 2 dispmem[5]=ucCurtime[4]/16;
655 2 dispmem[4]=ucCurtime[4]%16;
656 2
657 2 dispmem[15]=ucCurtime[3]/16;
658 2 dispmem[14]=ucCurtime[3]%16;
659 2 dispmem[13]=ucCurtime[2]/16;
660 2 dispmem[12]=ucCurtime[2]%16;
661 2 dispmem[11]=ucCurtime[1]/16;
662 2 dispmem[10]=ucCurtime[1]%16;
663 2
664 2 dispmem[3]=ucCurtime[0]/16;;
665 2 dispmem[2]=ucCurtime[0]%16;;
666 2 dispmem[1]=0x0f;
667 2 dispmem[0]=ucCurtime[5]%16;
668 2 disp_dot2(0x08); //LCD2小数点 08--全无小数点
669 2 ptr=&dispmem;
670 2 disp_updata_lcd(LCDBADD,ptr);
671 2 }
C51 COMPILER V7.00 DISP 09/14/2006 16:35:48 PAGE 12
672 1 }
673 /**************************************************************
674 * 功能:显示版本号a/b
675 **************************************************************/
676 void disp_ver(uchar gunidid)
677 {
678 1 if(gunidid==0) //枪0
679 1 {
680 2 keya_num[0]=keynumdata[ver_num[1]%10];keya_num[1]=keynumdata[ver_num[1]/10];keya_num[2]=keynumdata[ver_n
-um[0]%10];keya_num[3]=keynumdata[26]; //"U123"
681 2 keya_num[4]=0x02;
682 2 }
683 1 else
684 1 {
685 2 keyb_num[0]=keynumdata[ver_num[1]%10];keyb_num[1]=keynumdata[ver_num[1]/10];keyb_num[2]=keynumdata[ver_n
-um[0]%10];keyb_num[3]=keynumdata[26]; //"U123"
686 2 keyb_num[4]=0x02;
687 2 }
688 1 }
689 /***************************************************************
690 * 功能:显示提前量---流量控制
691 ***************************************************************/
692 void disp_velocity_control(uchar gunidid)
693 {
694 1 if(gunidid==0) //枪0
695 1 {
696 2 keya_num[0]=keynumdata[residue_a%10];
697 2 keya_num[1]=keynumdata[residue_a/10];
698 2 keya_num[2]=keynumdata[27];
699 2 keya_num[3]=keynumdata[2]; //"2-30"
700 2 keya_num[4]=0x02;
701 2 }
702 1 else
703 1 {
704 2 keyb_num[0]=keynumdata[residue_b%10];
705 2 keyb_num[1]=keynumdata[residue_b/10];
706 2 keyb_num[2]=keynumdata[27];
707 2 keyb_num[3]=keynumdata[2]; //"2-30"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -