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

📄 mmm.lst

📁 矿工定位系统单端
💻 LST
📖 第 1 页 / 共 5 页
字号:
 722   2                                      break;
 723   2      
 724   2                case 0x85:                              //Config FeeRate
 725   2                     for(i=0;i<8;i++)
 726   2                                 Call_id[i]= SerBuffer[i+4]; 
 727   2                                      SerBuffer[1] = 0;
 728   2                                      SerBuffer[2] = 0;
 729   2                                      break;
 730   2      
 731   2                case 0x86:                              //return ocuppy or vacance
 732   2                              
 733   2                                      SerBuffer[2] = 0;
C51 COMPILER V7.05   MMM                                                                   01/30/2003 18:32:34 PAGE 13  

 734   2                                      break;
 735   2      
 736   2                case 0x87:                              //Set Meter Number
 737   2                                      //MeterNum.chrX[3] = SerBuffer[3]; 
 738   2                              //      MeterNum.chrX[2] = SerBuffer[4]; 
 739   2                              //      MeterNum.chrX[1] = SerBuffer[5]; 
 740   2                              //      MeterNum.chrX[0] = SerBuffer[6]; 
 741   2                                      SetPosNum(&SerBuffer[3]); //add
 742   2                                      SerBuffer[1] = 0;
 743   2                                      SerBuffer[2] = 0;
 744   2                                      break;
 745   2            case 0x90:
 746   2                      SerBuffer[1] = 0;
 747   2                                      SerBuffer[2] = 0;
 748   2                                      break;
 749   2            case 0x91:
 750   2                      SerBuffer[1] = 0;
 751   2                                      SerBuffer[2] = 0;
 752   2                                      break;
 753   2            case 0x92:
 754   2                      SerBuffer[1] = 0;
 755   2                                      SerBuffer[2] = 0;
 756   2                                      break;
 757   2            case 0x93:
 758   2                      SerBuffer[1] = 0;
 759   2                                      SerBuffer[2] = 0;
 760   2                                      break;
 761   2      
 762   2      
 763   2                default:
 764   2                                      SerBuffer[1] = 250;  //command error
 765   2                                      SerBuffer[2] = 0;
 766   2                                  break;
 767   2              };  
 768   1                               
 769   1      }
 770          /********************************************************************8*/
 771          void Check_call(void)
 772          {
 773   1         unsigned char idata i,tt;
 774   1         for(i=0;i<8;i++)
 775   1         {
 776   2          if((Call_id[i]>0)&&(Call_id[i]<201))
 777   2              {   
 778   3                 tt=Find(Call_id[i],1);
 779   3                 if(!tt)Find(Call_id[i],1);
 780   3              }
 781   2         }
 782   1      }
 783          void voice(unsigned char x)
 784          {
 785   1        switch(x)
 786   1       {
 787   2         case 1:
 788   2          SOND1=1;
 789   2           SOND2=0;
 790   2           SOND3=0;
 791   2         break;
 792   2         case 2:
 793   2          SOND1=0;
 794   2           SOND2=1;
 795   2           SOND3=0;
C51 COMPILER V7.05   MMM                                                                   01/30/2003 18:32:34 PAGE 14  

 796   2         break;
 797   2         case 3:
 798   2         SOND1=0;
 799   2           SOND2=0;
 800   2           SOND3=1;
 801   2         break;
 802   2         default :
 803   2         SOND1=0;
 804   2           SOND2=0;
 805   2           SOND3=0;
 806   2         break;
 807   2       }
 808   1       Delay100ms(150);
 809   1           SOND1=0;
 810   1           SOND2=0;
 811   1           SOND3=0;
 812   1      }
 813          //*****************************************************************************8
 814          bit Ch4_test(void)
 815          {
 816   1         unsigned char idata i,ms[5];
 817   1         unsigned int idata x;
 818   1       
 819   1        switch(ch4state)
 820   1        {
 821   2          case 0:
 822   2                  CH4POW=1;
 823   2              for(i=0;i<3;i++) //求平均值
 824   2              { x=x+read1543(8);
 825   3               }
 826   2                x=x/3;
 827   2              if(x>=Z_PORT)
 828   2                {  x=x-Z_PORT;
 829   3                  
 830   3                          sprintf(ms," %03d",x);
 831   3                  SendStr_MAX7219(ms);
 832   3                  if(x>=MID_LIMT) ch4state=1;
 833   3                    }  //is +
 834   2              else
 835   2                {  x=Z_PORT-x;
 836   3                           sprintf(ms,"-%03d",x);
 837   3                   SendStr_MAX7219(ms);
 838   3                    }//-
 839   2               
 840   2          break;
 841   2          case 1:
 842   2                  CH4POW=1;
 843   2                voice(1);
 844   2                 for(i=0;i<3;i++) //求平均值
 845   2               { 
 846   3                        x=x+read1543(8);
 847   3               }
 848   2               x=x/3;
 849   2                  if(x>=HIGH_LIMT){ch4state=2;CH4POW=0;CH4_DELAY=0;}
 850   2                      if(x<MID_LIMT)ch4state=0;
 851   2                      sprintf(ms," %03d",x);
 852   2              SendStr_MAX7219(ms);
 853   2                       return 1;
 854   2          break;
 855   2          case 2:
 856   2                CH4POW=0;
 857   2                  voice(2);
C51 COMPILER V7.05   MMM                                                                   01/30/2003 18:32:34 PAGE 15  

 858   2              if(CH4_DELAY>2) { CH4POW=1;ch4state=1;}
 859   2              sprintf(ms,"hhhh");
 860   2          SendStr_MAX7219(ms);
 861   2        
 862   2               return 1;
 863   2          break;
 864   2          default :
 865   2           ch4state=0;
 866   2          break;
 867   2       
 868   2        }
 869   1      }
 870          //**************************************************************************
 871          void main(void)
 872          {
 873   1           unsigned int  xx=0;
 874   1      
 875   1           unsigned char data i=0,j,ttt,uuu;
 876   1               unsigned long idata yyy=0;
 877   1         P0=0;
 878   1        
 879   1         TX_EN=0;
 880   1         CH4POW=1;
 881   1         rest_delay=0;
 882   1         En485 = RECV;
 883   1         //Delay100ms(1);
 884   1         TX_EN=1;
 885   1         init_com();
 886   1         InitREG();
 887   1         UartInit();
 888   1         Test_led=!Test_led;
 889   1        Delay100ms(1);
 890   1         Comm_Off();
 891   1         PWR_UP=1;
 892   1         Test_led=!Test_led;
 893   1         EA=1;
 894   1        //  Ch4_test();
 895   1         Init_X25045(0x00);
 896   1        /* ByteWrite_Check (22,0X34);
 897   1        if( ByteRead_Check (22)==0x34)//测试25045
 898   1        {   Test_led=!Test_led;
 899   1            Delay100ms(10); 
 900   1               Test_led=!Test_led;
 901   1        }*/
 902   1      
 903   1         if((ByteRead_Check(20)==0x00)||(ByteRead_Check(20)==0xff))ADDR=0XD2;
 904   1        else
 905   1         ADDR=ByteRead_Check(20);
 906   1        // ADDR=0xd2;
 907   1        if(ADDR%2)
 908   1         {
 909   2          CS=0;
 910   2         }
 911   1        else
 912   1         {
 913   2           CS=1;
 914   2          }
 915   1        for(i=0;i<4;i++)//clear
 916   1         {
 917   2           for(j=0;j<16;j++)
 918   2              RemainRec[i][j]=0;
 919   2         }
C51 COMPILER V7.05   MMM                                                                   01/30/2003 18:32:34 PAGE 16  

 920   1         Watch_dog();
 921   1         for(i=0;i<8;i++)Call_id[i]=0;
 922   1        Ch4_test();
 923   1      
 924   1        while(1)
 925   1         {
 926   2         
 927   2           TX_EN=1;
 928   2               Watch_dog();
 929   2        if(rest_delay>750)while(1);
 930   2       
 931   2         if (Cmdok)             //通讯
 932   2              { rest_delay=0;
 933   3                  Watch_dog();
 934   3              Cmdok = FALSE;
 935   3                      Waring=0;                    //报警清掉
 936   3                      RecvReady = FALSE;
 937   3                      SendReady = FALSE;
 938   3                      cmd_execution();
 939   3                      SendReady = TRUE ;   //发起始字
 940   3                      TI = 1;
 941   3           
 942   3          }
 943   2         CH4_DELAY++;
 944   2         for(i=1;i<201;i++)
 945   2         { 
 946   3           if(i%10==0){Check_call();Ch4_test();}
 947   3           if(rest_delay>750)while(1);
 948   3           Watch_dog(); 
 949   3          if (Cmdok)            //通讯
 950   3               {rest_delay=0;
 951   4              Cmdok = FALSE;
 952   4                      RecvReady = FALSE;
 953   4                      SendReady = FALSE;
 954   4                      cmd_execution();
 955   4                      SendReady = TRUE ;   //发起始字
 956   4                      TI = 1;
 957   4             Test_led=!Test_led;
 958   4           }
 959   3                Watch_dog(); 
 960   3               //ttt=Find(i);
 961   3               ttt=0;
 962   3            if(ttt==0)
 963   3                { 
 964   4            
 965   4                 

⌨️ 快捷键说明

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