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

📄 main.lst

📁 用keil开发的.单片机税控器程序.单片机用的是AT公司的.upsd3245
💻 LST
📖 第 1 页 / 共 5 页
字号:
 524          {
 525   1              uchar k;
 526   1              SysIni(); 
 527   1              ClearRam();     
 528   1      //      VfdBright(0x0C);                        //VFD亮度设置
 529   1      //      VfdDisStr("8888888888");
 530   1              LcdTurnOn();//开LCD显示   //gai
 531   1      //      WareDown();
 532   1      //      #if ClockChip
 533   1      //      k=Tamper(InvoDate);             //如果是M41ST87,检测是否有侵入
 534   1      //      if(k==1)
 535   1      //      {//有侵入发生
 536   1                      
 537   1      //      }
 538   1      //      #endif
 539   1      //--------------------程序测试区-----------------------------------------------------------
 540   1      //      Test();
 541   1      //-----------------------------------------------------------------------------------------
 542   1      
 543   1      
 544   1      //      DataProtect();
 545   1              k=0;
 546   1              while(1)
 547   1              {
C51 COMPILER V8.01   MAIN                                                                  03/28/2006 09:48:48 PAGE 10  

 548   2                      if(k!=0xF0)
 549   2                      {//按键无效不会更新显示内容
 550   3                              LcdDisplay(8,24,"欢迎使用港顺税控",3);
 551   3                              LcdDisplay(24,68,"GS-800",0);
 552   3                              
 553   3                      }
 554   2      
 555   2                      if((k&0x0F)==0)k = KeyScan();
 556   2                      switch(k)
 557   2                      {
 558   3                              case K_DL:
 559   3                                                              LcdDisplay(16,16,"正在登陆,请稍候......",3);
 560   3                                                              #if DebugSim
 561   3                                                              if(FiscalIdentify(1)==1)
 562   3                                                              #endif
 563   3                                                              {
 564   4                                                                      #if DebugSim
 565   4                                                                      VerifyFiscalPin();      //每次进入销售是否要效验开机密码?
 566   4                                                                      k=InvoiceCheck(0);              //检测本卷发票是否已经用完、是否已到开票截止日期
 567   4                                                                      if(k==0)
 568   4                                                                      {
 569   5                                                                              LcdDisplay(0,0,"开票截止日期已到!",3);
 570   5                                                                              LcdDisplay(16,0,"请及时报税!",0);
 571   5                                                                              LcdDisplay(32,0,"未报税不能销售!",0);
 572   5                                                                      }
 573   4                                                                      else
 574   4                                                                      {
 575   5                                                                              if(k==2)
 576   5                                                                              {//未录入发票就退出InvoiceCheck()
 577   6                                                                                      LcdDisplay(16,0,"没有录入发票,不能销售!",3);
 578   6                                                                              }
 579   5                                                                              else
 580   5                                                                      #endif
 581   5                                                                              {                                                                               
 582   6                                                                                      k=0;
 583   6                                                                                      if(Login()==1)
 584   6                                                                                              Sale();                                                                                 
 585   6                                                                                      break;
 586   6                                                                              }
 587   5                                                                      #if DebugSim
 588   5                                                                      }
 589   4                                                                      #endif
 590   4                                                              }
 591   3                                                              LcdDisplay(48,0,"<按任意键继续>",0);
 592   3                                                              k=KeyScan();
 593   3                                                              k=0;
 594   3                                                              break;
 595   3                              case K_GN:              SysFunction();
 596   3                                                              k=0;
 597   3                                                              break;
 598   3                              case K_SJ:              TimeSetup(0);
 599   3                                                              //正式程序应该使用TimeSetup(0):只显示不能修改时间
 600   3                                                              k=0;
 601   3                                                              break;
 602   3                              case K_BZ:              
 603   3                                                              Test();
 604   3                                                              Hint(16,32,"内容尚待确定!",3);
 605   3                                                              k=0;
 606   3                                                              break;
 607   3      
 608   3                              case K_JZ       :   PaperControl(1,16);k=0xF0;     break;
 609   3                              case K_TZ       :   PaperControl(0,16);k=0xF0;     break;
C51 COMPILER V8.01   MAIN                                                                  03/28/2006 09:48:48 PAGE 11  

 610   3      
 611   3                              default:                Beep(400);k=0xF0;       break;
 612   3                              }
 613   2         }
 614   1      
 615   1      }
 616          
 617          /*
 618          
 619                  uchar k;
 620                  uchar dat[50];
 621                  SysIni();
 622                  ClearRam();     
 623          
 624                  //VfdBright(0x0C);                      //VFD亮度设置
 625                  //VfdDisStr("8888888888");
 626          
 627                  LcdTurnOn();//开LCD显示
 628          
 629          //      WareDown();
 630          //      #if ClockChip
 631          //      k=Tamper(InvoDate);             //如果是M41ST87,检测是否有侵入
 632          //      if(k==1)
 633          //      {//有侵入发生
 634                          
 635          //      }
 636          //      #endif
 637          
 638          
 639          
 640          //--------------------程序测试区-----------------------------------------------------------
 641          //      Test();
 642          //-----------------------------------------------------------------------------------------
 643          //      DataProtect();
 644          
 645          
 646                  k=0;
 647                  while(1)
 648                  {
 649                  //      if(k!=0xF0)
 650                  //      {//按键无效不会更新显示内容
 651                                  LcdDisplay(8,24,"欢迎使用港顺税控机",3);
 652                                  LcdDisplay(24,68,"GS-800 税控机",0);
 653                                  //      UartRxd(4,dat); 
 654                               //   UartTxd(4,dat);
 655                                          k = KeyScan();
 656                                  //      UartTxd(1,&k);
 657                                          switch(k)
 658                                          {
 659                                                  case K_DL:
 660                                                  UartTxd(1,&k);  
 661                                                          LcdDisplay(0,16,"正在登陆,请稍候......",0);
 662                                                          KeyScan();
 663                                                          break;
 664          
 665                                             case K_TC:
 666                                                           UartTxd(1,&k);
 667                                                           LcdDisplay(8,16,",中华人民共和国",0);
 668                                                           KeyScan();
 669                                                           break;
 670          
 671                                               case K_1:
C51 COMPILER V8.01   MAIN                                                                  03/28/2006 09:48:48 PAGE 12  

 672                                                          UartTxd(1,&k);
 673                                                       LcdDisplay (32,16,",港顺.",0);
 674                                                           KeyScan();
 675                                                           break;
 676          
 677                                                  case K_2:
 678                                                          UartTxd(1,&k);
 679                                                           LcdDisplay     (24,6,",达为",0);
 680                                                           KeyScan();
 681                                                      break;
 682          
 683                                                  case K_5:
 684                                                          UartTxd(1,&k);
 685                                                           LcdDisplay     (40,6,",信息网",0);
 686                                                           KeyScan();
 687                                                      break;
 688          
 689          
 690          
 691                                                                      
 692                                                  default:
 693                                                     break;  
 694                                          }
 695          
 696                          }                               
 697          
 698           }
 699                  /*      if((k&0x0F)==0) //如果低四位为0
 700                                          
 701                                          k = KeyScan();
 702                          switch(k)
 703                          {
 704                                  case K_DL:
 705                                                                  LcdDisplay(16,16,"正在登陆,请稍候......",3);
 706                                                                  #if DebugSim
 707                                                                  if(FiscalIdentify(1)==1)
 708                                                                  #endif
 709          
 710                                                                  {
 711                                                                          #if DebugSim
 712                                                                          VerifyFiscalPin();      //每次进入销售是否要效验开机密码?
 713                                                                          k=InvoiceCheck(0);              //检测本卷发票是否已经用完、是否已到开票截止日期
 714                                                                          
 715                                                                          
 716                                                                          if(k==0)
 717                                                                          {
 718                                                                                  LcdDisplay(0,0,"开票截止日期已到!",3);
 719                                                                                  LcdDisplay(16,0,"请及时报税!",0);
 720                                                                                  LcdDisplay(32,0,"未报税不能销售!",0);
 721                                                                          }
 722          
 723                                                                          else
 724                                                                          {
 725                                                                                  if(k==2)
 726                                                                                  {//未录入发票就退出InvoiceCheck()
 727                                                                                          LcdDisplay(16,0,"没有录入发票,不能销售!",3);
 728                                                                                  }
 729          
 730                                                                                  else
 731                                                                          #endif
 732                                                                                  {                                                                               
 733                                                                                          k=0;
C51 COMPILER V8.01   MAIN                                                                  03/28/2006 09:48:48 PAGE 13  

 734                                                                                          if(Login()==1)
 735                                                                                                  Sale();                                                                                 
 736                                                                                          break;
 737                                                                                  }
 738                                                                          #if DebugSim
 739                                                                          }
 740                                                                          #endif
 741                                                                  }
 742          
 743          
 744                                                                  LcdDisplay(48,0,"<按任意键继续>",0);
 745          
 746          
 747                                                                  k=KeyScan();
 748                                                                  k=0;
 749          
 750                                                                  break;
 751          
 752          
 753          
 754          
 755                                  case K_GN:              SysFunction();
 756                                                                  k=0;
 757                                                                  break;
 758          
 759          
 760                                  case K_SJ:              TimeSetup(0);
 761                                                                  //正式程序应该使用TimeSetup(0):只显示不能修改时间
 762                                                                  k=0;
 763                                                                  break;
 764          
 765                                  case K_BZ:              
 766                                                                  Test();
 767                                                                  Hint(16,32,"内容尚待确定!",3);
 768                                                                  k=0;
 769                                                                  break;
 770          
 771          
 772                                  //case K_JZ     :   PaperControl(1,16);k=0xF0;     break;
 773          
 774          
 775                                  //case K_TZ     :   PaperControl(0,16);k=0xF0;     break;
 776          
 777          
 778                                  default:                Beep(400);k=0xF0;       break;
 779                          }
 780                  }  */
C51 COMPILER V8.01   MAIN                                                                  03/28/2006 09:48:48 PAGE 14  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION Com0093 (BEGIN)
0000         L?0148:
0000 FD                MOV     R5,A
0001         L?0149:
0001 900000      R     MOV     DPTR,#str
0004 120000      E     LCALL   ?C?PLDXDATA

⌨️ 快捷键说明

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