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

📄 avc1.lst

📁 基于485的51单片机多机通讯程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 717   1              ad_finish=1;                    //AD转换及处理完成标志
 718   1              pulse_base=0;                   //峰、基值标志 0-基值、1-峰值
 719   1              stop_avc=0;
 720   1              decrease=0;
 721   1              lift=0;
 722   1              ask_lift_ok=0;
 723   1              lift_ok=0;
 724   1              lift_complete=0;
 725   1              to_begin=0;
 726   1      
 727   1              need_para=0;
 728   1              POINTER0=0;
 729   1              SSUM=0;
 730   1              S_ANSW=0;
 731   1              POINTER1=0;
 732   1              RSUM=0;
 733   1              ans=0;
 734   1      //      R_ANSW=0;
C51 COMPILER V7.06   AVC1                                                                  06/16/2005 14:51:25 PAGE 13  

 735   1              send=0;
 736   1              resend=0;
 737   1              r_byte_nums=4;
 738   1              demand=0;
 739   1      
 740   1              avc=0;
 741   1              avc_up=0;
 742   1              avc_down=0;
 743   1              motor_stop=0;
 744   1      
 745   1      
 746   1              PWMP=12;                                        //采样保持脉冲,2K
 747   1              PWM0=127;
 748   1              COM=0X36;                                       //弧长点动速度,1K
 749   1              COUNT0=4000%256;
 750   1              COUNT0=4000/256;                                //弧长采样脉冲,1K
 751   1              CML0=TML2+0X20;
 752   1              if(CML0<TML2)
 753   1                      CMH0=TMH2+1+0X4E;
 754   1              else
 755   1                      CMH0=TMH2+0X4E;                         //20ms
 756   1              EX1=1;
 757   1              EX0=1;
 758   1              while(start==0)                                 //等待过程中,接受点名和参数
 759   1              {
 760   2                      if(called==1)
 761   2                      {
 762   3                              ini_sbuf(M_main,infor,S_ANSW,cross_machine,0,0);
 763   3                              s_byte_nums=get_byte_nums(infor);
 764   3                              TR_noans();
 765   3                              called=0;
 766   3                      }
 767   2      
 768   2                      if(receive_p_out==1)
 769   2                      {
 770   3                              point=&pp.k5;
 771   3                              for(p_sec=0;p_sec<14;p_sec++)
 772   3                                      *(point+p_sec)=rbuffer[p_sec*2+2]*256+rbuffer[p_sec*2+3];
 773   3                              ini_sbuf(M_main,answer,S_ANSW,0,0,0);
 774   3                              s_byte_nums=4;
 775   3                              TR_noans();
 776   3      //                      demand=0;
 777   3                              receive_p_out=0;
 778   3                      }
 779   2      
 780   2                      if(receive_p_in==1)
 781   2                      {
 782   3                              point=&pp.x[nonce_sec][0];
 783   3                              for(p_sec=0;p_sec<4;p_sec++)
 784   3                                      *(point+p_sec)=rbuffer[p_sec*2+3]*256+rbuffer[p_sec*2+4];
 785   3                              ini_sbuf(M_main,answer,S_ANSW,0,0,0);
 786   3                              s_byte_nums=4;
 787   3                              TR_noans();
 788   3      //                      demand=0;
 789   3                              receive_p_in=0;
 790   3                      }
 791   2      
 792   2                      if(avc_up==1)
 793   2                      {
 794   3                              avc_dir=1;              //方向——上
 795   3                              avc_enable=0;           //使能
 796   3                              gate=1;
C51 COMPILER V7.06   AVC1                                                                  06/16/2005 14:51:25 PAGE 14  

 797   3                              avc_up=0;
 798   3                      }
 799   2                      if(avc_down==1)
 800   2                      {
 801   3                              avc_dir=0;              //方向——下
 802   3                              avc_enable=0;
 803   3                              gate=1;
 804   3                              avc_down=0;
 805   3                      }
 806   2                      if(motor_stop==1)
 807   2                      {
 808   3                              gate=0;                 //关8254门控信号
 809   3                              avc_enable=1;                   //关弧长使能
 810   3                              motor_stop=0;
 811   3                      }
 812   2                      if(urgent_stop==1)
 813   2                              goto BEGIN;
 814   2              }
 815   1      
 816   1              temp_u51_p=pp.u51_p;
 817   1              temp_u51_b=pp.u51_b;
 818   1      
 819   1              if(pp.k5==OFF)
 820   1              {
 821   2                      COM=0X76;
 822   2                      COUNT1=10;
 823   2                      COUNT1=0;
 824   2              }
 825   1              if(pp.k1==DC)
 826   1                      temp_avc=temp_u51_p;
 827   1              work=3;
 828   1              do
 829   1              {
 830   2                      if(start_avc==1)                        //开始弧长
 831   2                      {
 832   3                              ini_sbuf(M_main,answer,S_ANSW,0,0,0);
 833   3                              s_byte_nums=4;
 834   3                              TR_noans();
 835   3                              temp_voltage=0;
 836   3                              externel_voltage=1;
 837   3                              c_sample=0;
 838   3                              CTCON=CTCON&0X3F;
 839   3                              if(pp.k1==PDC)
 840   3                              {
 841   4                                      if(pp.avc_type==SP||pp.avc_type==SPB)
 842   4                                      {
 843   5                                              pulse_base=0;
 844   5                                              CTCON=CTCON|0X40;       //CT3上升沿
 845   5                                      }
 846   4                                      else
 847   4                                      {
 848   5                                              pulse_base=1;
 849   5                                              CTCON=CTCON|0X80;       //CT3下降沿
 850   5                                      }
 851   4                                      IEN1=IEN1|0X08;                 //允许CT3
 852   4                              }
 853   3                              if(pp.k1==DC)
 854   3                              {
 855   4                                      avc_ok=1;
 856   4                                      c_sample=0;
 857   4                                      CTCON=CTCON|0x20;       //CT2下降沿
 858   4                                      IEN1=IEN1|0X04;         //允许CT2,采样保持脉冲
C51 COMPILER V7.06   AVC1                                                                  06/16/2005 14:51:25 PAGE 15  

 859   4                              }
 860   3      
 861   3                              start_avc=0;
 862   3                      }
 863   2      
 864   2                      if(urgent_stop==1)
 865   2                                      goto BEGIN;
 866   2      
 867   2                      if(avc_ok==1&&need_para==1)             //显示弧压
 868   2                      {
 869   3                              U51=AD5;
 870   3                              ini_sbuf(M_main,parameter1,0,0,0,0);
 871   3                              sbuffer[2]=U51/256;
 872   3                              sbuffer[3]=U51%256;
 873   3                              s_byte_nums=5;
 874   3                              TR_noans();
 875   3                              need_para=0;
 876   3                      }
 877   2      
 878   2                      if(urgent_stop==1)
 879   2                                      goto BEGIN;
 880   2      
 881   2                      if(avc_up==1)
 882   2                      {
 883   3                              if(pp.k5==OFF)
 884   3                              {
 885   4                                      avc_dir=1;              //方向——上
 886   4                                      avc_enable=0;           //使能
 887   4                                      CTCON=CTCON|0X02;
 888   4                                      IEN1=IEN1|0X01;
 889   4                                      gate=1;
 890   4                              }
 891   3                              else
 892   3                              {
 893   4                                      if(in_sector==1)
 894   4                                      {
 895   5                                              temp_u51_p=temp_u51_p+pp.x[nonce_sector][29];
 896   5                                              temp_u51_b=temp_u51_b+pp.x[nonce_sector][29];
 897   5                                      }
 898   4                                      else
 899   4                                      {
 900   5                                              temp_u51_p=temp_u51_p+pp.du51;
 901   5                                              temp_u51_b=temp_u51_b+pp.du51;
 902   5                                      }
 903   4                                      if(pp.k1==DC)
 904   4                                              temp_avc=temp_u51_p;
 905   4                              }
 906   3                              avc_up=0;
 907   3                      }
 908   2      
 909   2                      if(urgent_stop==1)
 910   2                                      goto BEGIN;
 911   2      
 912   2                      if(avc_down==1)
 913   2                      {
 914   3                              if(pp.k5==OFF)
 915   3                              {
 916   4                                      avc_dir=0;              //方向——上
 917   4                                      avc_enable=0;           //使能
 918   4                                      CTCON=CTCON|0X02;
 919   4                                      IEN1=IEN1|0X01;
 920   4                                      gate=1;
C51 COMPILER V7.06   AVC1                                                                  06/16/2005 14:51:25 PAGE 16  

 921   4                              }
 922   3                              else
 923   3                              {
 924   4                                      if(in_sector==1)
 925   4                                      {
 926   5                                              temp_u51_p=temp_u51_p-pp.x[nonce_sector][29];
 927   5                                              temp_u51_b=temp_u51_b-pp.x[nonce_sector][29];
 928   5                                      }
 929   4                                      else
 930   4                                      {
 931   5                                              temp_u51_p=temp_u51_p-pp.du51;
 932   5                                              temp_u51_b=temp_u51_b-pp.du51;
 933   5                                      }
 934   4                                      if(pp.k1==DC)
 935   4                                              temp_avc=temp_u51_p;
 936   4                              }
 937   3                              avc_down=0;
 938   3                      }
 939   2      
 940   2                      if(urgent_stop==1)
 941   2                                      goto BEGIN;
 942   2      
 943   2                      if(sector==1)                           //进入新区间
 944   2                      {
 945   3                              if(avc_ok==1)
 946   3                              {
 947   4                                      temp_u51_p=pp.x[nonce_sector][26];
 948   4                                      temp_u51_b=pp.x[nonce_sector][27];
 949   4                              }
 950   3                              sector=0;
 951   3                      }
 952   2      
 953   2                      if(urgent_stop==1)
 954   2                                      goto BEGIN;
 955   2      
 956   2                      if(avc_ok==1&&stop_avc==1)
 957   2                      {
 958   3                              ini_sbuf(M_main,answer,S_ANSW,0,0,0);

⌨️ 快捷键说明

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