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

📄 lprtpos1.lst

📁 原创一个简单打小票POS机源代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 632   4                          for (i=0;i<100;i++) errshow();     
 633   4                            if (ecount>2) break;                  
 634   4                          }  
 635   3                                             
 636   3                      }       
 637   2                  if (pjz==0x0e) {pjz=0xff;break; }     
 638   2      
 639   2                  }
 640   1      
 641   1      
 642   1                  ncount=0;  pjz=0xff;
 643   1                  rqH=rqL=26;ecount=0;
 644   1                  while (scount==2)  
 645   1                  {
 646   2                   clockshow(led[rqbj],led[rqH],led[rqL]);
 647   2                  if ((flag==0)&&(lcbj==0))
 648   2                  {
 649   3                   pjz=kbscan();
 650   3                      if ((lcbj==0)&&(pjz!=0xff))
 651   3                      {
 652   4                          while(flag==1)
 653   4                          {
 654   5                             P1=0x9f;
 655   5                             P2=P2&0x1f;
 656   5                         if  ((P1&0x9f)==0x9f) {flag=0; lcbj=0;}
 657   5      
 658   5                          }
 659   4                      }     
 660   3                   
 661   3                  }
 662   2                else {
 663   3                 P1=0x9f;
 664   3                 P2=P2&0x1f;
 665   3                 if  ((P1&0x9f)==0x9f) {flag=0; lcbj=0;}
 666   3                  }    
 667   2                          
 668   2                   if ((pjz<0x0a)&&(flag==0))
 669   2                    {         
 670   3                    if (ncount==0) {rqH=pjz;}
 671   3                    if (ncount==1) {rqL=pjz;}
 672   3                     ncount++;
 673   3                     pjz=0xff;
 674   3                    }
 675   2                 if (ncount>=2)  ncount=0;
C51 COMPILER V7.06   LPRTPOS1                                                              01/08/2007 10:43:11 PAGE 12  

 676   2                   if (pjz==0x0b)
 677   2                    {  
 678   3                      ncount=0; errbj=0;pjz=0xff;
 679   3                      
 680   3                         rq[2]=(rqH<<4)|rqL;
 681   3                         if (rq[1]==0x02)
 682   3                         {/*thy*/
 683   4                           yrq=0x2000+rq[0];
 684   4                           if ((yrq %4)==0)   {if (rq[2]>0x29) {errbj=1;ecount++;}}
 685   4                              else if ((yrq%4)!=0) { if (rq[2]>0x28) {errbj=1;ecount++;}}
 686   4      
 687   4                          }
 688   3                        else if ((rq[1]==0x04)||(rq[1]==0x06)||(rq[1]==0x09)||(rq[1]==0x11))
 689   3                       {if (rq[2]>0x30) {errbj=1;ecount++;}}
 690   3                                                                   
 691   3                        else if ((rq[1]==0x01)||(rq[1]==0x03)||(rq[1]==0x05)||(rq[1]==0x07)||(rq[1]==0x08)||(rq[
             -1]==0x10)||(rq[1]==0x12))
 692   3                       {if (rq[2]>0x31) {errbj=1;ecount++;}}
 693   3                        if (errbj==0)                  
 694   3                           {
 695   4                             scount++;ncount=0;rqbj=scount;
 696   4                             }
 697   3                          else 
 698   3                          {
 699   4                          for (i=0;i<100;i++) errshow();
 700   4                            P0=0;P2=P2&0xf6;P2=P2|0x09;      
 701   4                           delay(200);
 702   4                          for (i=0;i<100;i++) errshow();
 703   4                            P0=0;P2=P2&0xf6;P2=P2|0x09;      
 704   4                           delay(200);
 705   4                          for (i=0;i<100;i++) errshow();     
 706   4                            if (ecount>2) break;                  
 707   4                          }  
 708   3                                             
 709   3                      }       
 710   2                  if (pjz==0x0e) {pjz=0xff;break; }     
 711   2      
 712   2                  }
 713   1      
 714   1      
 715   1                  ncount=0;  pjz=0xff;
 716   1                  rqH=0;rqL=26;ecount=0;
 717   1      
 718   1                  while (scount==3)  
 719   1                  {
 720   2                   clockshow(led[rqbj],led[rqH],led[rqL]);
 721   2                  if ((flag==0)&&(lcbj==0))
 722   2                  {
 723   3                   pjz=kbscan();
 724   3                      if ((lcbj==0)&&(pjz!=0xff))
 725   3                      {
 726   4                          while(flag==1)
 727   4                          {
 728   5                             P1=0x9f;
 729   5                             P2=P2&0x1f;
 730   5                         if  ((P1&0x9f)==0x9f) {flag=0; lcbj=0;}
 731   5      
 732   5                          }
 733   4                      }     
 734   3                   
 735   3                  }
 736   2                else {
C51 COMPILER V7.06   LPRTPOS1                                                              01/08/2007 10:43:11 PAGE 13  

 737   3                 P1=0x9f;
 738   3                 P2=P2&0x1f;
 739   3                 if  ((P1&0x9f)==0x9f) {flag=0; lcbj=0;}
 740   3                  }    
 741   2                          
 742   2                   if ((pjz<0x0a)&&(flag==0))
 743   2                    {         
 744   3                     rqL=pjz;
 745   3                     pjz=0xff;
 746   3                    }
 747   2                   if (pjz==0x0b)
 748   2                    {  
 749   3                      ncount=0; errbj=0;pjz=0xff;
 750   3                      
 751   3                         rq[3]=rqL;
 752   3                        if (rq[3]>0x07) {errbj=1;ecount++;}
 753   3                                                                   
 754   3                        if (errbj==0)                  
 755   3                           {
 756   4                             scount++;ncount=0;rqbj=scount;
 757   4                             }
 758   3                          else 
 759   3                          {
 760   4                          for (i=0;i<100;i++) errshow();
 761   4                            P0=0;P2=P2&0xf6;P2=P2|0x09;      
 762   4                           delay(200);
 763   4                          for (i=0;i<100;i++) errshow();
 764   4                            P0=0;P2=P2&0xf6;P2=P2|0x09;      
 765   4                           delay(200);
 766   4                          for (i=0;i<100;i++) errshow();     
 767   4                            if (ecount>2) break;                  
 768   4                          }  
 769   3                                             
 770   3                      }       
 771   2                  if (pjz==0x0e) {pjz=0xff;break; }     
 772   2      
 773   2                  }
 774   1      
 775   1      
 776   1      
 777   1                  ncount=0;  pjz=0xff;
 778   1                  rqH=rqL=26;ecount=0;
 779   1      
 780   1                  while (scount==4)  
 781   1                  {
 782   2                   clockshow(led[rqbj],led[rqH],led[rqL]);
 783   2                  if ((flag==0)&&(lcbj==0))
 784   2                  {
 785   3                   pjz=kbscan();
 786   3                      if ((lcbj==0)&&(pjz!=0xff))
 787   3                      {
 788   4                          while(flag==1)
 789   4                          {
 790   5                             P1=0x9f;
 791   5                             P2=P2&0x1f;
 792   5                         if  ((P1&0x9f)==0x9f) {flag=0; lcbj=0;}
 793   5      
 794   5                          }
 795   4                      }     
 796   3                   
 797   3                  }
 798   2                else {
C51 COMPILER V7.06   LPRTPOS1                                                              01/08/2007 10:43:11 PAGE 14  

 799   3                 P1=0x9f;
 800   3                 P2=P2&0x1f;
 801   3                 if  ((P1&0x9f)==0x9f) {flag=0; lcbj=0;}
 802   3                  }    
 803   2                          
 804   2                   if ((pjz<0x0a)&&(flag==0))
 805   2                    {         
 806   3                    if (ncount==0) {rqH=pjz;}
 807   3                    if (ncount==1) {rqL=pjz;}
 808   3                     ncount++;
 809   3                     pjz=0xff;
 810   3                    }
 811   2                 if (ncount>=2)  ncount=0;
 812   2                   if (pjz==0x0b)
 813   2                    {  
 814   3                      ncount=0; errbj=0;pjz=0xff;
 815   3                      
 816   3                         rq[4]=(rqH<<4)|rqL;
 817   3                        if (rq[4]>0x23) {errbj=1;ecount++;}
 818   3                                                                   
 819   3                        if (errbj==0)                  
 820   3                           {
 821   4                             scount++;ncount=0;rqbj=scount;
 822   4                             }
 823   3                          else 
 824   3                          {
 825   4                          for (i=0;i<100;i++) errshow();
 826   4                            P0=0;P2=P2&0xf6;P2=P2|0x09;      
 827   4                           delay(200);
 828   4                          for (i=0;i<100;i++) errshow();
 829   4                            P0=0;P2=P2&0xf6;P2=P2|0x09;      
 830   4                           delay(200);
 831   4                          for (i=0;i<100;i++) errshow();     
 832   4                            if (ecount>2) break;                  
 833   4                          }  
 834   3                                             
 835   3                      }       
 836   2                  if (pjz==0x0e) {pjz=0xff;break; }     
 837   2      
 838   2                  }
 839   1      
 840   1      
 841   1      
 842   1                  ncount=0;  pjz=0xff;
 843   1                  rqH=rqL=26;ecount=0;
 844   1      
 845   1                  while (scount==5)  
 846   1                  {
 847   2                   clockshow(led[rqbj],led[rqH],led[rqL]);
 848   2                  if ((flag==0)&&(lcbj==0))
 849   2                  {
 850   3                   pjz=kbscan();
 851   3                      if ((lcbj==0)&&(pjz!=0xff))
 852   3                      {
 853   4                          while(flag==1)
 854   4                          {
 855   5                             P1=0x9f;
 856   5                             P2=P2&0x1f;
 857   5                         if  ((P1&0x9f)==0x9f) {flag=0; lcbj=0;}
 858   5      
 859   5                          }
 860   4                      }     
C51 COMPILER V7.06   LPRTPOS1                                                              01/08/2007 10:43:11 PAGE 15  

 861   3                   
 862   3                  }
 863   2                else {
 864   3                 P1=0x9f;
 865   3                 P2=P2&0x1f;
 866   3                 if  ((P1&0x9f)==0x9f) {flag=0; lcbj=0;}
 867   3                  }    
 868   2                          
 869   2                   if ((pjz<0x0a)&&(flag==0))
 870   2                    {         
 871   3                    if (ncount==0) {rqH=pjz;}
 872   3                    if (ncount==1) {rqL=pjz;}
 873   3                     ncount++;
 874   3                     pjz=0xff;
 875   3                    }
 876   2                 if (ncount>=2)  ncount=0;
 877   2                   if (pjz==0x0b)
 878   2                    {  
 879   3                      ncount=0; errbj=0;pjz=0xff;
 880   3                      
 881   3                         rq[5]=(rqH<<4)|rqL;
 882   3                        if (rq[5]>0x59) {errbj=1;ecount++;}
 883   3                                                                   
 884   3                        if (errbj==0)                  
 885   3                           {
 886   4                            // scount++;ncount=0;rqbj=scount;
 887   4                           /*向时钟芯片中写入暂不写入  thy*/
 888   4                            // year=(rq[0]>>4)*10+(rq[0]&0x0f);month=(rq[1]>>4)*10+(rq[1]&0x0f);day=(rq[2]>>4)*1
             -0+(rq[2]&0x0f);
 889   4                             time[4]=rq[3];
 890   4                                                 time[6]=rq[0];time[5]=rq[1];time[3]=rq[2];
 891   4                            // time[2]=(rq[4]>>4)*10+(rq[4]&0x0f);time[1]=(rq[5]>>4)*10+(rq[5]&0x0f);
 892   4                            time[2]=rq[4];time[1]=rq[5];
 893   4                            //  rq[4]=hour;rq[5]=min;
 894   4                             set_time(time);
 895   4                                 for (i=0;i<200;i++)  setpassok();
 896   4                                P0=0;P2=P2&0xf6;P2=P2|0x09;      
 897   4                                   delay(200);
 898   4                              for (i=0;i<200;i++)  setpassok();
 899   4                                 P0=0;P2=P2&0xf6;P2=P2|0x09;      
 900   4                                 delay(200);
 901   4                              for (i=0;i<200;i++)  setpassok();
 902   4                              break;
 903   4      
 904   4      
 905   4                             }
 906   3                          else 
 907   3                          {
 908   4                          for (i=0;i<100;i++) errshow();
 909   4                            P0=0;P2=P2&0xf6;P2=P2|0x09;      
 910   4                           delay(200);
 911   4                          for (i=0;i<100;i++) errshow();
 912   4                            P0=0;P2=P2&0xf6;P2=P2|0x09;      
 913   4                           delay(200);
 914   4                          for (i=0;i<100;i++) errshow();     
 915   4                            if (ecount>2) break;                  
 916   4                          }  
 917   3                                             
 918   3                      }       
 919   2                  if (pjz==0x0e) {pjz=0xff;break; }  
 920   2                                
 921   2          }
C51 COMPILER V7.06   LPRTPOS1                                                              01/08/2007 10:43:11 PAGE 16  

 922   1      
 923   1      }
 924          
 925          
 926          /*时钟设置*/
 927          /*STC89CXXX的EEPROM读写*/
 928          void noable(void)
 929          {
 930   1      ISP_CONTR=0x00;
 931   1      ISP_CMD=0x00;
 932   1      ISP_TRIG=0x00;
 933   1      EA=0;
 934   1      }
 935          
 936          void erase(UINT16 addr)
 937          {
 938   1      ISP_CONTR=0x81;
 939   1      ISP_CMD=0x03;
 940   1      ISP_ADDRH=(UINT8)(addr>>8);
 941   1      ISP_ADDRL=(UINT8)(addr&0x00ff);
 942   1      EA=0;
 943   1      ISP_TRIG=0x46;
 944   1      ISP_TRIG=0xB9;
 945   1      EA=1;
 946   1      noable();
 947   1      
 948   1      }
 949          void wwr(UINT16 addr,UINT8 dd)

⌨️ 快捷键说明

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