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

📄 bpqmb.lst

📁 rs485、八位扫描显示、按键、数字编码器
💻 LST
📖 第 1 页 / 共 5 页
字号:
 781   2      }
 782   1      else
 783   1      {switch(ndsp)
 784   2              {case 0: set_data++;
 785   3              break;
 786   3           case 1: set_data+=10;
 787   3              break;
 788   3              case 2: set_data+=100;
 789   3              break;
 790   3              case 3: set_data+=1000;
 791   3              }
 792   2      switch(temp)
 793   2       {
 794   3      case 0:num=s_ovc[ture_ud-1][ud_con];
 795   3                      if(set_data>num)set_data=num;
 796   3      break;
 797   3      case 1:
 798   3              if(set_data>9999)set_data=9999;
 799   3       }
C51 COMPILER V7.50   BPQMB                                                                 12/26/2006 17:28:03 PAGE 14  

 800   2       }
 801   1      }
 802          void enter_up()
 803          {uchar num;
 804   1      switch(st_con)
 805   1              {
 806   2              case 0: if(on_off)
 807   2                              {inc_dec=1;
 808   3                              con_num=4;
 809   3                              }
 810   2                      /*      else
 811   2                              {
 812   2                              inc_dec=0;
 813   2                              menu_con=0;
 814   2                              if(cmenu<4)cmenu++;
 815   2                              else cmenu=0;}*/
 816   2                              break;
 817   2              case 1:if(menu_con<4)menu_con++;
 818   2                              else menu_con=0;
 819   2                              cmenu=0;
 820   2                              ud_con=0;
 821   2                              break;
 822   2              case 2:switch(menu_con)
 823   2                                      {case 0:if(cmenu<21)cmenu++;else cmenu=0;
 824   3                                      break;
 825   3                                       case 1:if(cmenu<15)cmenu++;
 826   3                                       else cmenu=0;gz_txd();set_send=1;
 827   3                                       break;
 828   3                                       case 2:if(cmenu<2)cmenu++;
 829   3                                      else cmenu=0;
 830   3                                       break;
 831   3                                      break;
 832   3                                       case 3:ud_con=0;
 833   3                                       if(cmenu<10)cmenu++;else cmenu=0;
 834   3                                      break;
 835   3                                       case 4: admin_txd();if(cmenu<3)cmenu++;
 836   3                                                                      else cmenu=0;   /*本项为管理项*/
 837   3                                      }
 838   2                                      break;
 839   2              case 3: set_send=1;
 840   2                                                      if(ud_con<cm_o[cmenu])ud_con++;
 841   2                                                    else ud_con=0;
 842   2                                    rd_txd(1);
 843   2                      break;
 844   2              case 4:switch(menu_con)
 845   2                              {case 1:if(pass)set_data=1;break;
 846   3                              case 2: add(1);
 847   3                                      break;
 848   3                              case 3:         if(pass)
 849   3                                              switch(cmenu)
 850   3                                              {case 0:add(0);break;/*删除后开机不设*/
 851   4                                              case 2:
 852   4                                              case 3:add(1);
 853   4                                                              break;
 854   4                                              case 9:add(1);
 855   4                                                              if(set_data>f9_o[ud_con])set_data=f9_o[ud_con];
 856   4                                                              break;
 857   4                                              case 10:add(1);
 858   4                                                              if(set_data>fa_o[ud_con])set_data=fa_o[ud_con];
 859   4                                              break;
 860   4                                              default:num=s_opp[ture_ud-1][ud_con]&0x80;
 861   4                                                              if(!on_off||!num)
C51 COMPILER V7.50   BPQMB                                                                 12/26/2006 17:28:03 PAGE 15  

 862   4                                                              add(0);
 863   4                                              }
 864   3                              break;
 865   3                              case 4:if(!on_off)switch(cmenu)
 866   3                                              {case 0:if(pass&&(set_data<6))add(1);
 867   4                                              else set_data=0;
 868   4                                              break;
 869   4                                               case 1:if(passd)add(1);
 870   4                                              break;
 871   4                                              case 2:if(passd)add(1);
 872   4                                              break;
 873   4                                              case 3:if(passf)add(1);
 874   4                                              }
 875   3                              }
 876   2              }
 877   1      }
 878          /*down**************down*****************down******down*/
 879          void sub(uchar temp)
 880          {uchar num;
 881   1      if((!cmenu)&&(menu_con==3))
 882   1      { switch(ndsp)
 883   2      {case 0:num=set_data&0xf;
 884   3                if(num>0)num--;else num=s_ov[ud_con]&0xf;
 885   3                set_data&=0xf0;
 886   3                set_data|=num;
 887   3                break;
 888   3       case 1:num=set_data&0xf0;
 889   3                if(num>0)num-=0x10;else num=s_ov[ud_con]&0xf0;
 890   3                set_data&=0xf;
 891   3                set_data|=num;
 892   3      }
 893   2      }
 894   1      else
 895   1      {switch(ndsp)
 896   2              {case 0: if(set_data>0)set_data--;else set_data=0;
 897   3              break;
 898   3           case 1: if(set_data>=10)set_data-=10;else set_data=0;
 899   3              break;
 900   3              case 2: if(set_data>=100)set_data-=100;else set_data=0;
 901   3              break;
 902   3              case 3: if(set_data>=1000)set_data-=1000;else set_data=0;
 903   3              }
 904   2      if(temp==0)
 905   2       {temp=s_opp[ture_ud-1][ud_con]&0xf;
 906   3      if(temp>8)temp&=0x7;
 907   3              if(set_data<temp)set_data=temp;
 908   3       }
 909   2      }
 910   1      }
 911          void enter_down()
 912          {
 913   1      uchar num;
 914   1      switch(st_con)
 915   1              {
 916   2              case 0:if(on_off)
 917   2                              {inc_dec=1;
 918   3                              con_num=5;
 919   3                              }
 920   2                              else
 921   2                           /*   {inc_dec=0;
 922   2                              menu_con=0;
 923   2                              if(cmenu>0)cmenu--;
C51 COMPILER V7.50   BPQMB                                                                 12/26/2006 17:28:03 PAGE 16  

 924   2                              else cmenu=4;}*/
 925   2                              break;
 926   2              case 1:if(menu_con>0)menu_con--;
 927   2                              else menu_con=4;
 928   2                             cmenu=0;
 929   2                              ud_con=0;
 930   2                              break;
 931   2              case 2:switch(menu_con)
 932   2                                      {case 0:if(cmenu>0)cmenu--;else cmenu=21;
 933   3                                      break;
 934   3                                       case 1:if(cmenu>0)cmenu--;
 935   3                                       else cmenu=15;gz_txd();set_send=1;
 936   3                                      break;
 937   3                                      case 2:if(cmenu>0)cmenu--;
 938   3                                                      else cmenu=2;
 939   3                                                      break;
 940   3                                       case 3:if(cmenu>0)cmenu--;
 941   3                                              else cmenu=10;
 942   3                                              ud_con=0;
 943   3                                      break;
 944   3                                       case 4:admin_txd();if(cmenu>0)cmenu--;
 945   3                                                                              else cmenu=3;   /*本项为管理项*/
 946   3                                      }
 947   2                                      break;
 948   2              case 3: set_send=1;
 949   2                      if(ud_con>0)ud_con--;
 950   2                                      else ud_con=cm_o[cmenu];
 951   2                           rd_txd(1);
 952   2                      break;
 953   2              case 4:switch(menu_con)
 954   2                              {case 1:set_data=0;break;
 955   3                              case 2:sub(1);
 956   3                                              break;
 957   3                              case 3:        if(pass)
 958   3                                              switch(cmenu)
 959   3                                              {case 0:sub(0);break;
 960   4                                              case 2:
 961   4                                              case 3:
 962   4                          case 9:
 963   4                                              case 10:sub(1);
 964   4                                              break;
 965   4                                              default:num=s_opp[ture_ud-1][ud_con]&0x80;
 966   4                                                              if(!on_off||!num)
 967   4                                                              sub(0);
 968   4                                              }
 969   3                              break;
 970   3                              case 4:         if(!on_off) switch(cmenu)
 971   3                                                              {case 0:if(pass&&(set_data>0))sub(1);
 972   4                                                                      else set_data=6;
 973   4                                                                      break;
 974   4                                                               case 1:if(passd)sub(1);
 975   4                                                                      break;
 976   4                                                               case 2:if(passd)sub(1);
 977   4                                                               break;
 978   4                                                               case 3:if(passf)sub(1);
 979   4                                                              }
 980   3                              }
 981   2              }
 982   1      }
 983          /*接收处理******************接收处理******************接收处理*/
 984          rxd_exe()
 985          {
C51 COMPILER V7.50   BPQMB                                                                 12/26/2006 17:28:03 PAGE 17  

 986   1      uchar temp,i;
 987   1      uint num;
 988   1      rxded=0;
 989   1              temp=rxd[1];
 990   1              num=rxd[2]<<8;
 991   1              num&=0xff00;
 992   1              num|=rxd[3];
 993   1              switch(temp)
 994   1              {case 0:if(st_con!=4)set_data=num;break;
 995   2              case 1:pv_zu=num;break;
 996   2              case 2:pv_fu=num;
 997   2              }
 998   1              if(set_data>9999)set_data=0;  /*数值滤波,消除闪烁*/
 999   1              if(k_abs){k_abs=0;zu_data=pv_zu;fu_data=pv_fu;}
1000   1              else {if(((zu_data-pv_zu)<50)||((pv_zu-zu_data)<50))pv1_zu=zu_data=pv_zu;
1001   2                       else
1002   2                           {if(((pv1_zu-pv_zu)<50)||((pv_zu-pv1_zu)<50))pv1_zu=zu_data=pv_zu;
1003   3                           else pv1_zu=pv_zu;
1004   3                           }
1005   2                    if(((fu_data-pv_fu)<50)||((pv_fu-fu_data)<50))pv1_fu=fu_data=pv_fu;
1006   2                      else
1007   2                          { if(((pv1_fu-pv_fu)<50)||((pv_fu-pv1_fu)<50))pv1_fu=fu_data=pv_fu;
1008   3                           else pv1_fu=pv_fu;
1009   3                          }
1010   2                   }
1011   1              i=rxd[0];
1012   1              switch(i)
1013   1                      {case 0:on_off=0;temp=P3;
1014   2                      error=0;
1015   2                                      temp&=0xf;
1016   2                                      P3=temp;
1017   2                       break;
1018   2                       case 1:on_off=1;temp=P3;
1019   2                       error=0;
1020   2                                      temp&=0xf;
1021   2                                      temp|=0x30;
1022   2                                      P3=temp;
1023   2                       break;
1024   2                       case 2:on_off=1;temp=P3;
1025   2                                      error=0;
1026   2                                      temp&=0xf;
1027   2                                      temp|=0x50;
1028   2                                      P3=temp;
1029   2                       break;
1030   2                       case 3:on_off=0;temp=P3;
1031   2                                      error=1;
1032   2                                      temp&=0xf;
1033   2                                      temp|=0x80;
1034   2                                      P3=temp;
1035   2                                      break;
1036   2                      case 0x5a:set_send=0;
1037   2                      }
1038   1      if(ncall_dsp)ncall_dsp--;
1039   1      }
1040          
1041          /*main**************main*************main***********main*/
1042          main()
1043          {

⌨️ 快捷键说明

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