⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 report1.lst

📁 用keil开发的.单片机税控器程序.单片机用的是AT公司的.upsd3245
💻 LST
📖 第 1 页 / 共 3 页
字号:
 507   1              strcpy(&WinHint[2][1],"生产日期:");
 508   1              for(i=0;i<8;i++)
 509   1                      WinHint[2][10+i]=str[i+16];//机器生产日期
 510   1      
 511   1              strcpy(&WinHint[3][1],"硬件版本号:");
 512   1              for(i=0;i<18;i++)
 513   1                      WinHint[4][1+i]=str[24+i];
 514   1      
 515   1              strcpy(&WinHint[5][1],"软件版本号:");
 516   1              for(i=0;i<18;i++)
 517   1                      WinHint[6][1+i]=str[42+i];
 518   1      
 519   1              if(flag == 1)   //显示
 520   1              {
 521   2                      while(1)
 522   2                      {
 523   3                              InitVal[0]=K_TC;
 524   3                              InitVal[1]=0;
 525   3                              Windows(1,0,InitVal);
 526   3                              if(*InitVal==K_TC)return;//退出
 527   3                      }
 528   2              }
 529   1              else if(flag == 2)//打印
 530   1              {
 531   2                      PrintLine("机器出厂数据");
 532   2      
 533   2                      strcpy(PrintBuf,&WinHint[0][1]);
 534   2                      strcpy(&PrintBuf[9],&WinHint[1][1]);
 535   2                      PrintStr(PrintBuf);
 536   2      
 537   2                      PrintTime("开票日期:",&str[16],PrintBuf);
 538   2                      PrintStr(PrintBuf);
 539   2      
 540   2                      strcpy(PrintBuf,&WinHint[3][1]);
C51 COMPILER V8.01   REPORT1                                                               03/28/2006 09:49:26 PAGE 10  

 541   2                      strcpy(&PrintBuf[11],&WinHint[4][1]);
 542   2                      PrintStr(PrintBuf);
 543   2      
 544   2                      strcpy(PrintBuf,&WinHint[5][1]);
 545   2                      strcpy(&PrintBuf[11],&WinHint[6][1]);
 546   2                      PrintStr(PrintBuf);
 547   2      
 548   2                      PrintLine("");
 549   2                      PrintStr("电子存根");
 550   2              }
 551   1              else;
 552   1      }
 553          
 554          
 555          /*-----------------------------------------------------------------
 556                                                                          税种税目信息的显示与打印
 557          flag = 1:显示
 558          flag = 2:打印
 559          -----------------------------------------------------------------*/
 560          void TaxTax(uchar flag,uchar *str)
 561          {
 562   1              uchar i=0,InitVal[4],PrintBuf[50];
 563   1              gyt2 *xp;
 564   1      
 565   1      
 566   1              WindowsSet(7);
 567   1      
 568   1              strcpy(&WinHint[0][1],"税种税目索引号:");
 569   1              NumToStr(str[0],&WinHint[0][16],0);
 570   1      
 571   1              strcpy(&WinHint[1][1],"税种税目代码:");
 572   1              BcdToStr(4,&str[1],&WinHint[1][14],0);
 573   1      
 574   1              strcpy(&WinHint[2][1],"税率:");
 575   1              xp=&str[5];
*** WARNING C182 IN LINE 575 OF REPORT1.C: pointer to different objects
 576   1              NumToStr(xp->dat,&WinHint[2][6],0);
 577   1      
 578   1              strcpy(&WinHint[3][1],"经营项目中文名称:");
 579   1              for(i=0;i<20;i++)
 580   1                      WinHint[4][1+i]=str[7+i];
 581   1      
 582   1              strcpy(&WinHint[5][1],"经营项目英文名称:");
 583   1              for(i=0;i<20;i++)
 584   1                      WinHint[6][1+i]=str[27+i];
 585   1      
 586   1              if(flag == 1)//显示
 587   1              {
 588   2                      InitVal[0]=K_TC;//只有退出键才有效
 589   2                      InitVal[1]=0;
 590   2                      Windows(1,0,InitVal);
 591   2                      if(*InitVal==K_TC)return;//返回
 592   2              }
 593   1              else if(flag == 2)//打印
 594   1              {
 595   2                      PrintLine("税种税目信息");
 596   2      
 597   2                      for(i=0;i<3;i++)
 598   2                              PrintStr(&WinHint[i][1]);
 599   2      
 600   2                      strcpy(PrintBuf,&WinHint[3][1]);
 601   2                      strcpy(&PrintBuf[17],&WinHint[4][1]);
C51 COMPILER V8.01   REPORT1                                                               03/28/2006 09:49:26 PAGE 11  

 602   2                      PrintStr(PrintBuf);
 603   2      
 604   2                      strcpy(PrintBuf,&WinHint[5][1]);
 605   2                      strcpy(&PrintBuf[17],&WinHint[6][1]);
 606   2                      PrintStr(PrintBuf);
 607   2      
 608   2                      PrintLine("");
 609   2                      PrintStr("电子存根");
 610   2              }
 611   1      }
 612          /*-------------------------------------------------------------------------
 613                                                                                                  已分发的显示与打印
 614          flag = 1:显示
 615          flag = 0:打印
 616          -------------------------------------------------------------------------*/
 617          void FenFademand(uchar flag)
 618          {
 619   1              uchar i=0,InitVal[4],str[30],Len=0,Nm=0;
 620   1              uint addr=0;
 621   1              gyt4 *xp;
 622   1              addr=InvoiceNum;//已分发的发票卷数
 623   1              I2cRead(addr,1,InitVal);//存放已分发的发票卷数
 624   1              addr=InvoCode;//发票地址
 625   1              #if !Invofenfa
 626   1                      Len=InitVal[0];
 627   1              #endif
 628   1              #if Invofenfa
                              Len=10;//测试时使用
                      #endif
 631   1              if(Len==0)
 632   1              {
 633   2                      LcdDisplay(16,0,"没有分发发票,请返回!",3);
 634   2                      LcdDisplay(32,0,"按任意键继续!",0);
 635   2                      KeyScan();
 636   2                      return;
 637   2              }
 638   1      
 639   1              while(Len--)
 640   1              {
 641   2                      for(i=0;i<12;i++)
 642   2                              WinHint[i][0]=1;
 643   2                      Nm++;
 644   2                      I2cRead(addr,22,str);
 645   2      
 646   2                      strcpy(&WinHint[0][1],"第00卷发票");
 647   2      //              NumToStr(Nm,&WinHint[0][10],0);//在第一行上显示已分发的第几卷
 648   2                      if(Nm<10)WinHint[0][4]=Nm+'0';
 649   2                      else
 650   2                      {
 651   3                              WinHint[0][3]='1';
 652   3                              WinHint[0][4]=Nm-10+'0';
 653   3                      }
 654   2      
 655   2                      strcpy(&WinHint[1][1],"发票代码:");
 656   2                      BcdToStr(10,str,&WinHint[2][1],0);
 657   2      
 658   2                      strcpy(&WinHint[3][1],"发票起始号:");
 659   2                      xp=&str[10];
*** WARNING C182 IN LINE 659 OF REPORT1.C: pointer to different objects
 660   2                      NumToStr(xp->dat,&WinHint[4][1],0);
 661   2      
 662   2                      strcpy(&WinHint[5][1],"发票终止号:");
C51 COMPILER V8.01   REPORT1                                                               03/28/2006 09:49:26 PAGE 12  

 663   2                      xp=&str[14];
*** WARNING C182 IN LINE 663 OF REPORT1.C: pointer to different objects
 664   2                      NumToStr(xp->dat,&WinHint[6][1],0);
 665   2      
 666   2                      strcpy(&WinHint[7][1],"MAC:");
 667   2                      xp=&str[18];
*** WARNING C182 IN LINE 667 OF REPORT1.C: pointer to different objects
 668   2                      NumToStr(xp->dat,&WinHint[7][5],0);
 669   2                      for(i=0;i<3;i++)
 670   2                              WinHint[8+i][0]=0;
 671   2                      if(flag == 1)// 在LCD上显示
 672   2                      {
 673   3                              InitVal[0]=K_TC;
 674   3                              InitVal[1]=K_HJ;
 675   3                              InitVal[2]=0;
 676   3                              Windows(1,0,InitVal);
 677   3                              if(*InitVal==K_TC)return;// 返回
 678   3                      }
 679   2                      else if(flag == 0)//在打印机上打印
 680   2                      {
 681   3                              PrintLine("已分发发票");
 682   3                              for(i=0;i<8;i++)
 683   3                                      PrintStr(WinHint[i]);
 684   3                              PrintLine("");
 685   3                              PrintStr("电子存根");
 686   3                      }
 687   2                      addr+=22;
 688   2              }
 689   1      }
 690          
 691          void Itarr(uchar *str)
 692          {
 693   1              *str++ = K_TC;
 694   1              *str++ = K_HJ;
 695   1              *str = 0;
 696   1      }
 697          
 698          /*-------------------------------------------------------------------------
 699                                                                                                  显示与打印选择
 700          -------------------------------------------------------------------------*/
 701          uchar ReSelectMode(void)
 702          {
 703   1              uchar Ln=0,Initval[5];
 704   1      
 705   1      //      Itarr(Initval);
 706   1              while(1)
 707   1              {
 708   2                      Initval[0]=K_TC;
 709   2                      Initval[1]=K_HJ;
 710   2                      Initval[2]=K_JZ;
 711   2                      Initval[3]=K_TZ;
 712   2                      Initval[4]=0;
 713   2                      ReMenu2();
 714   2                      Ln=Windows(1,0,Initval);
 715   2                      switch(*Initval)
 716   2                      {
 717   3                              case K_TC:      return 0;
 718   3                              case K_HJ:  return Ln;
 719   3                              case K_JZ:  PaperControl(1,16);
 720   3                                      continue;
 721   3                              case K_TZ:  PaperControl(0,16);
 722   3                                      continue;
C51 COMPILER V8.01   REPORT1                                                               03/28/2006 09:49:26 PAGE 13  

 723   3                              default:break;
 724   3                      }
 725   2                      if(Ln == 1 || Ln == 2 ) return Ln;
 726   2      //              if(*Initval == K_TC)//为退出键时退出,返回0
 727   2      //                      return 0;
 728   2      //              else
 729   2      //                      return Ln;//否则返回行号
 730   2              }
 731   1      }
 732          
 733          /*-------------------------------------------------------------------------
 734                                                                                                  打印提示
 735          -------------------------------------------------------------------------*/
 736          uchar PrintHint(void)
 737          {
 738   1              uchar key=0;
 739   1              LcdDisplay(0,Col,"提   示",3);
 740   1              LcdDisplay(16,0,"请换同规格普通打印纸!",0);
 741   1              LcdDisplay(32,0,"否则,后果自负!",0);
 742   1              LcdDisplay(48,0,"[退出]     [确认]",0);
 743   1      //      DisplayFullRec(0,0,63,191,1);
 744   1              DisplayFullRec(0,Co,16,120,1);
 745   1      
 746   1              while(1)
 747   1              {
 748   2                      key = KeyScan();
 749   2                      if(key == K_TC)//按的是退出键
 750   2                              return 0;
 751   2                      else if(key == K_HJ)//按的确认键
 752   2                              return 1;
 753   2                      else;
 754   2              }
 755   1      }
 756          
 757          
 758          
 759          /*--------------------------------------------------------------------------
 760                                                                                                  营业员销售额查询
 761          --------------------------------------------------------------------------*/
 762          uchar Businessdemand(uchar BianHao,uchar *ReadJE,uchar xzReport)
 763          {
 764   1              uint address=0;
 765   1              address=SalerStat+(BianHao-1)*4;//获得营业员销售金额的存放地址 为什么要减1是因为营业员编号是从1开始的.而

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -