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

📄 current3.lst

📁 基于485的51单片机多机通讯程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 787   4                                      IB4=IMMH_ahf;
 788   4                                      UPD=0X00;
 789   4                              }
 790   3                      }
 791   2      /*
 792   2                      else
 793   2                      {
 794   2                              if(current_out==1)
 795   2                              {
 796   2                                      IM8=IBL;
 797   2                                      IM4=IBH;
 798   2                                      IB8=IBL;
 799   2                                      IB4=IBH;
C51 COMPILER V7.06   CURRENT3                                                              08/02/2005 11:16:30 PAGE 14  

 800   2                                      UPD=0X00;
 801   2                              }
 802   2                              else
 803   2                              {
 804   2                                      IM8=IML;
 805   2                                      IM4=IMH;
 806   2                                      IB8=IML;
 807   2                                      IB4=IMH;
 808   2                                      UPD=0X00;
 809   2                              }
 810   2                      }
 811   2      */
 812   2                      current_out=~current_out;
 813   2                      c_cm1=0;        
 814   2              }
 815   1              CML1=TML2+0XE2;         //峰值时间
 816   1              if(CML1<TML2)
 817   1                      CMH1=(TMH2+1)+0X04;
 818   1              else
 819   1                      CMH1=TMH2+0X04;
 820   1      }
 821          
 822          void CM2_int (void)   interrupt 13              //关水计时
 823          {
 824   1              CMI2=0;
 825   1              c_cm2++;
 826   1              if(c_cm2==240)
 827   1              {
 828   2                      con_water=1;                    //关水
 829   2                      IEN1=IEN1&0xDF;                 //禁止CM1
 830   2                      c_cm2=0;
 831   2              }
 832   1              CML2=TML2+0x24;
 833   1              if(CML2<TML2)
 834   1                      CMH2=TMH2+1+0xF4;
 835   1              else
 836   1                      CMH2=TMH2+0xF4;
 837   1      }
 838          
 839          main()
 840          {
 841   1              unsigned char k,k1,k2;
 842   1              unsigned int temp_delt_p,temp_delt_b;
 843   1              
 844   1              current_enable=0;
 845   1              TMOD=0x22;                      //定时器1,方式2;
 846   1              TL1=0XFD;                       //波特率9600
 847   1              TH1=0XFD;
 848   1              TR1=1;                          //启动定时器
 849   1              PCON=0X00;                      //SMOD=1
 850   1              TMOD=0x23;                      //定时器0,方式3,两个8位定时器;
 851   1              TR1=0;
 852   1              TF1=0;
 853   1              S0CON=0XF8;                     //串口方式3,SM2=0,REN=1,TB8=1,RB8=0,TI=0,RI=0
 854   1              IP0=0X98;                       //S0=1
 855   1              IP1=IP1|0X20;
 856   1              ES0=1;                          //开串口中断
 857   1              ET0=1;
 858   1              ET1=1;
 859   1              ES1=1;                          //I2C
 860   1              EAD=1;                          //AD中断允许
 861   1              EA=1;                           //中断总允许
C51 COMPILER V7.06   CURRENT3                                                              08/02/2005 11:16:30 PAGE 15  

 862   1              start_t2();
 863   1              
 864   1              urgent_stop=0;
 865   1              current_err=0;
 866   1              err_ok=0;
 867   1              err=0;
 868   1      BEGIN:  
 869   1              if(urgent_stop==1)
 870   1              {
 871   2                      urgent_stop=0;
 872   2                      err_ok=0;
 873   2      //              EX1=1;
 874   2                      EX0=1;
 875   2              }       
 876   1              IEN1=IEN1&0x40;
 877   1              COM=0X76;
 878   1              COUNT1=0;
 879   1              COUNT1=0;
 880   1              COM=0XB2;
 881   1              COUNT2=0;
 882   1              COUNT2=0;
 883   1              current_out=1;
 884   1              current_enable=0;
 885   1              con_hf=1;
 886   1              con_gas1=1;
 887   1              con_gas2=1;
 888   1              work=0;                         //等待状态      
 889   1              called=0;
 890   1              start=0;
 891   1              need_para=0;
 892   1              open_gas1=0;
 893   1              open_gas2=0;
 894   1              ignit_ok=0;
 895   1              decrease=0;
 896   1              igniting=0;
 897   1              pre_melt_ok=0;
 898   1              R_ANSW=0;
 899   1              S_ANSW=0;
 900   1              POINTER1=0;
 901   1              RSUM=0;
 902   1              POINTER0=0;
 903   1              SSUM=0;
 904   1              r_byte_nums=4;
 905   1              demand=0;
 906   1              overtime=0;
 907   1              resend=0;
 908   1              ans=0;
 909   1              receive_p_out=0;
 910   1              receive_p_in=0;
 911   1              edge=0;
 912   1              ad_v=0;
 913   1              ad_i=0;
 914   1              AD1=0;
 915   1              AD2=0;
 916   1              AD3=0;
 917   1              AD4=0;
 918   1              AD5=0;
 919   1              tab2=0;
 920   1              tab3=0;
 921   1              IM8=0;
 922   1              IM4=0;
 923   1              IB8=0;
C51 COMPILER V7.06   CURRENT3                                                              08/02/2005 11:16:30 PAGE 16  

 924   1              IB4=0;
 925   1              UPD=0;
 926   1              ahf_ok=0;
 927   1              ad_finish=0;
 928   1              i_slope_ok=0;
 929   1              nonce_sec=0;
 930   1              in_sector=0;
 931   1              new_sec=0;
 932   1              close_gas1=0;
 933   1              close_gas2=0;
 934   1              close_gas1_ok=0;
 935   1              close_gas2_ok=0;
 936   1              close_gas_ok=0;
 937   1              c_cm1=0;
 938   1              to_begin=0;
 939   1      
 940   1              PWMP=51;                        //产生采样保持脉冲,1K
 941   1              PWM0=128;
 942   1              PWM1=128;
 943   1              EX0=1;
 944   1              while(start==0)
 945   1              {
 946   2                      if(called==1)
 947   2                      {
 948   3                              ini_sbuf(M_main,infor,com_calling,S_ANSW,0,0,0);
 949   3                              s_byte_nums=6;
 950   3                              TR_noans();
 951   3                              called=0;
 952   3                      }
 953   2                      if(receive_p_out==1)
 954   2                      {
 955   3                              point=&pp.t01;
 956   3                              for(p_sec=0;p_sec<25;p_sec++)
 957   3                                      *(point+p_sec)=rbuffer[p_sec*2+2]*256+rbuffer[p_sec*2+3];
 958   3                              pp.syn_type=rbuffer[52];
 959   3                              
 960   3                              ini_sbuf(M_main,answer,OK,0,0,0,0);
 961   3                              s_byte_nums=4;
 962   3                              TR_noans();
 963   3                              demand=0;
 964   3                              receive_p_out=0;
 965   3                              
 966   3                      }
 967   2      
 968   2                      if(receive_p_in==1)
 969   2                      {
 970   3                              point=&pp.x[nonce_sec][0];
 971   3                              for(p_sec=0;p_sec<10;p_sec++)
 972   3                                      *(point+p_sec)=rbuffer[p_sec*2+3]*256+rbuffer[p_sec*2+4];
 973   3      
 974   3                              ini_sbuf(M_main,answer,OK,0,0,0,0);
 975   3                              s_byte_nums=4;
 976   3                              TR_noans();
 977   3                              demand=0;
 978   3                              receive_p_in=0;
 979   3                      }
 980   2      /*              
 981   2                      if(new_switch==1)
 982   2                      {
 983   2                              ini_sbuf(M_main,answer,S_ANSW,0,0,0,0);
 984   2                              s_byte_nums=4;
 985   2                              TR_noans();
C51 COMPILER V7.06   CURRENT3                                                              08/02/2005 11:16:30 PAGE 17  

 986   2                              new_switch=0;
 987   2                      }
 988   2      */
 989   2                      if(urgent_stop==1)
 990   2                              goto BEGIN;
 991   2              }
 992   1              EX1=1;
 993   1              n_pulse=pp.t14%256;
 994   1              n_base=pp.t15%256;
 995   1              if(pp.k1==PDC&&pp.syn_type==ON)
 996   1              {
 997   2                      CTCON=CTCON|0x02;
 998   2                      IEN1=IEN1|0x01;
 999   2              }
1000   1      
1001   1              work=3;                                 //进入焊接过程
1002   1              IEN1=IEN1&0xBF;                         //禁止CM2,停水计时
1003   1              CML1=TML2+0XE2;         //峰值时间
1004   1              if(CML1<TML2)
1005   1                      CMH1=(TMH2+1)+0X04;
1006   1              else
1007   1                      CMH1=TMH2+0X04;
1008   1              CML2=TML2+0x24;
1009   1              if(CML2<TML2)
1010   1                      CMH2=TMH2+1+0xF4;
1011   1              else
1012   1                      CMH2=TMH2+0xF4;
1013   1              delt1=(pp.t13*1000000)/(pp.i14-pp.i12);
1014   1              if(delt1%256>=200)
1015   1                      delt1=delt1/256+1;
1016   1              else
1017   1                      delt1=delt1/256;
1018   1              
1019   1              if(YOUHU==1)
1020   1              {
1021   2                      while(igniting==0)
1022   2                      {
1023   3                              if(urgent_stop==1)
1024   3                                      goto BEGIN;
1025   3                              if(open_gas1==1)
1026   3                              {
1027   4                                      ini_sbuf(M_main,answer,S_ANSW,0,0,0,0);
1028   4                                      s_byte_nums=4;
1029   4                                      TR_noans();
1030   4                                      con_gas1=0;             //开气1
1031   4                                      con_water=0;            //开水
1032   4                                      open_gas1=0;
1033   4                              }
1034   3                              if(open_gas2==1)
1035   3                              {
1036   4                                      ini_sbuf(M_main,answer,S_ANSW,0,0,0,0);
1037   4                                      s_byte_nums=4;
1038   4                                      TR_noans();
1039   4                                      con_gas2=0;             //开气2
1040   4                                      con_water=0;            //开水
1041   4                                      open_gas2=0;
1042   4                              }
1043   3                              if(resend==1)
1044   3                              {
1045   4                                      ini_sbuf(M_main,answer,S_ANSW,0,0,0,0);
1046   4                                      s_byte_nums=4;
1047   4                                      TR_noans();
C51 COMPILER V7.06   CURRENT3                                                              08/02/2005 11:16:30 PAGE 18  

1048   4                                      resend=0;
1049   4                              }

⌨️ 快捷键说明

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