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

📄 mmm.lst

📁 矿工定位系统单端
💻 LST
📖 第 1 页 / 共 5 页
字号:
 689   2                                      SerBuffer[2] = 0;
 690   2                                      break;
 691   2      
 692   2                case 0x82:                              //red RED
 693   2                      if ( SerBuffer[3] == 1) {LED_RED  = 1;}
 694   2                                      else if( SerBuffer[3] == 0) { LED_RED  = 0;};    
 695   2      
 696   2                                      SerBuffer[1] = 0;
 697   2                                      SerBuffer[2] = 0;
 698   2                                      break;
 699   2      
 700   2      
 701   2                case 0x83:                              //Transfer Record
 702   2                              //      Status = TransferRecord(SerBuffer[3],SerBuffer[4]);
 703   2                              //      SerBuffer[1] = Status;
 704   2                                  recordint.chrX[1]=SerBuffer[4];
 705   2                                  recordint.chrX[0]=SerBuffer[5];
 706   2                      
 707   2                                  TransferRecord(SerBuffer[3],recordint.intX);
 708   2                                      SerBuffer[1] =0;
 709   2                                      SerBuffer[2] =16;
 710   2                                      
 711   2                     
 712   2                      
 713   2                      
 714   2                                      break;
 715   2      
 716   2                case 0x85:                              //Config FeeRate
 717   2                     for(i=0;i<8;i++)
 718   2                                 Call_id[i]= SerBuffer[i+4]; 
 719   2                                      SerBuffer[1] = 0;
 720   2                                      SerBuffer[2] = 0;
 721   2                                      break;
 722   2      
 723   2                case 0x86:                              //return ocuppy or vacance
 724   2                              
 725   2                                      SerBuffer[2] = 0;
 726   2                                      break;
 727   2      
 728   2                case 0x87:                              //Set Meter Number
 729   2                                      //MeterNum.chrX[3] = SerBuffer[3]; 
 730   2                              //      MeterNum.chrX[2] = SerBuffer[4]; 
 731   2                              //      MeterNum.chrX[1] = SerBuffer[5]; 
 732   2                              //      MeterNum.chrX[0] = SerBuffer[6]; 
 733   2                                      SetPosNum(&SerBuffer[3]); //add
C51 COMPILER V7.05   MMM                                                                   04/11/2005 02:18:28 PAGE 13  

 734   2                                      SerBuffer[1] = 0;
 735   2                                      SerBuffer[2] = 0;
 736   2                                      break;
 737   2            case 0x90:
 738   2                      SerBuffer[1] = 0;
 739   2                                      SerBuffer[2] = 0;
 740   2                                      break;
 741   2            case 0x91:
 742   2                      SerBuffer[1] = 0;
 743   2                                      SerBuffer[2] = 0;
 744   2                                      break;
 745   2            case 0x92:
 746   2                      SerBuffer[1] = 0;
 747   2                                      SerBuffer[2] = 0;
 748   2                                      
 749   2                                      break;
 750   2            case 0x93:
 751   2                      SerBuffer[1] = 0;
 752   2                                      SerBuffer[2] = 0;
 753   2                                      break;
 754   2      
 755   2      
 756   2                default:
 757   2                                      SerBuffer[1] = 250;  //command error
 758   2                                      SerBuffer[2] = 0;
 759   2                                  break;
 760   2              };  
 761   1                               
 762   1      }
 763          /********************************************************************8*/
 764          void Check_call(void)
 765          {
 766   1         unsigned char idata i,tt;
 767   1         for(i=0;i<8;i++)
 768   1         {
 769   2          if((Call_id[i]>0)&&(Call_id[i]<201))
 770   2              {   
 771   3                 tt=Find(Call_id[i],1);
 772   3                 if(!tt)Find(Call_id[i],1);
 773   3              }
 774   2         }
 775   1      }
 776          //**************************************************************************
 777          void main(void)
 778          {
 779   1           unsigned int  xx=0;//,bcc;
 780   1      
 781   1           unsigned char idata i=0,j,ttt,uuu;
 782   1               unsigned long idata yyy=0;
 783   1      
 784   1         TX_EN=0;
 785   1         /* SerBuffer[0]=0x01;
 786   1       SerBuffer[1]=0x92;
 787   1       SerBuffer[2]=0x0;
 788   1          bcc=cal_crc3964(SerBuffer, 3);*/
 789   1         
 790   1      
 791   1         rest_delay=0;
 792   1         En485 = RECV;
 793   1         //Delay100ms(1);
 794   1         TX_EN=1;
 795   1         init_com();
C51 COMPILER V7.05   MMM                                                                   04/11/2005 02:18:28 PAGE 14  

 796   1         InitREG();
 797   1         UartInit();
 798   1         Test_led=!Test_led;
 799   1         Delay100ms(1);  
 800   1         Comm_Off();
 801   1         PWR_UP=1;
 802   1         Test_led=!Test_led;
 803   1         EA=1;
 804   1         Init_X25045(0x00);
 805   1        /* ByteWrite_Check (22,0X34);
 806   1        if( ByteRead_Check (22)==0x34)//测试25045
 807   1        {   Test_led=!Test_led;
 808   1            Delay100ms(10); 
 809   1               Test_led=!Test_led;
 810   1        }*/
 811   1      
 812   1         if((ByteRead_Check(20)==0x00)||(ByteRead_Check(20)==0xff))ADDR=0XD2;
 813   1        else
 814   1         ADDR=ByteRead_Check(20);
 815   1        // ADDR=0xd2;
 816   1        if(ADDR%2)
 817   1         {
 818   2          CS=0;
 819   2         }
 820   1        else
 821   1         {
 822   2           CS=1;
 823   2          }
 824   1         CS=1;
 825   1        for(i=0;i<4;i++)//clear
 826   1         {
 827   2           for(j=0;j<16;j++)
 828   2              RemainRec[i][j]=0;
 829   2         }
 830   1         Watch_dog();
 831   1         for(i=0;i<8;i++)Call_id[i]=0;
 832   1      
 833   1        while(1)
 834   1         {
 835   2           /*init_com();
 836   2         InitREG();
 837   2         UartInit(); */
 838   2           TX_EN=1;
 839   2               Watch_dog();
 840   2        if(rest_delay>750)while(1);
 841   2       
 842   2         if (Cmdok)             //通讯
 843   2              { 
 844   3                 
 845   3                  rest_delay=0;
 846   3                  Watch_dog();
 847   3              Cmdok = FALSE;
 848   3                      Waring=0;                    //报警清掉
 849   3                      RecvReady = FALSE;
 850   3                      SendReady = FALSE;
 851   3                      cmd_execution();
 852   3                      SendReady = TRUE ;   //发起始字
 853   3                      TI = 1;
 854   3           
 855   3          }
 856   2       
 857   2         for(i=1;i<201;i++)
C51 COMPILER V7.05   MMM                                                                   04/11/2005 02:18:28 PAGE 15  

 858   2         { 
 859   3           if((i==1)||(i==150)||(i==50)||(i==100))Check_call();
 860   3           if(rest_delay>750)while(1);
 861   3           Watch_dog(); 
 862   3          if (Cmdok)            //通讯
 863   3               {
 864   4                  
 865   4                
 866   4              rest_delay=0;
 867   4              Cmdok = FALSE;
 868   4                      RecvReady = FALSE;
 869   4                      SendReady = FALSE;
 870   4                      cmd_execution();
 871   4                      SendReady = TRUE ;   //发起始字
 872   4                      TI = 1;
 873   4             Test_led=!Test_led;
 874   4           }
 875   3                Watch_dog(); 
 876   3               //ttt=Find(i);
 877   3               ttt=0;
 878   3            if(ttt==0)
 879   3                { 
 880   4            
 881   4                 
 882   4                  ttt=Find(i,0);
 883   4                
 884   4             if(ttt)
 885   4                  {
 886   5                        Card_id[i]=4;//循环监测的次数
 887   5                       if((i%4)==0)
 888   5                {
 889   6                         if(ttt==0x01)
 890   6                        {
 891   7                                 uuu=RemainRec[i/64][(i%64)/4];
 892   7                                 uuu=uuu|0x01;
 893   7                                 uuu=uuu&0xfd;
 894   7                     RemainRec[i/64][(i%64)/4]=uuu;
 895   7                                }
 896   6                         if(ttt==0x02)
 897   6                           {
 898   7                                 uuu=RemainRec[i/64][(i%64)/4];
 899   7                                 uuu=uuu|0x02;
 900   7                                 uuu=uuu&0xfe;
 901   7                     RemainRec[i/64][(i%64)/4]=uuu;
 902   7                               }
 903   6                        }
 904   5                       if((i%4)==1)
 905   5                {
 906   6                         if(ttt==0x01)
 907   6                        {
 908   7                                 uuu=RemainRec[i/64][(i%64)/4];
 909   7                                 uuu=uuu|0x04;
 910   7                                 uuu=uuu&0xf7;
 911   7                     RemainRec[i/64][(i%64)/4]=uuu;
 912   7                                }
 913   6                         if(ttt==0x02)
 914   6                           {
 915   7                                 uuu=RemainRec[i/64][(i%64)/4];
 916   7                                 uuu=uuu|0x08;
 917   7                                 uuu=uuu&0xfb;
 918   7                     RemainRec[i/64][(i%64)/4]=uuu;
 919   7                               }
C51 COMPILER V7.05   MMM                                                                   04/11/2005 02:18:28 PAGE 16  

 920   6                        }
 921   5                       if((i%4)==2)

⌨️ 快捷键说明

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