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

📄 temposc2.lst

📁 基于485的51单片机多机通讯程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 911   3                              ini_sbuf(M_main,answer,S_ANSW,0,0,0);
 912   3                              s_byte_nums=4;
 913   3                              TR_noans();
 914   3                              receive_p_in=0;
 915   3                      }
 916   2      
 917   2                      if(osc_l==1)
 918   2                      {
 919   3                              gate=1;         //给出横摆脉冲
 920   3                              osc_dir=0;              //左
 921   3                              osc_enable=0;           //开使能
 922   3                              osc_l=0;
C51 COMPILER V7.06   TEMPOSC2                                                              07/11/2005 13:44:54 PAGE 16  

 923   3                      }
 924   2      
 925   2                      if(osc_r==1)
 926   2                      {
 927   3                              gate=1;         //开8254门控信号
 928   3                              osc_dir=1;              //右
 929   3                              osc_enable=0;           //开使能
 930   3                              osc_r=0;
 931   3                      }
 932   2      
 933   2                      if(motor_stop==1)
 934   2                      {
 935   3                              gate=0;         //关横摆脉冲
 936   3                              osc_enable=1;
 937   3                              motor_stop=0;
 938   3                      }
 939   2      
 940   2                      if(urgent_stop==1)
 941   2                              goto BEGIN;
 942   2              }
 943   1              
 944   1              if(pp.k4==ON)
 945   1              {
 946   2                      const1=pp.a41;
 947   2                      c_t42_l=pp.t42_l*5;                             //pp.t42_l/10*1000/50
 948   2                      c_t42_r=pp.t42_r*5;
 949   2                      c_change=pp.t43;
 950   2                      
 951   2                      temp_out0=900000/pp.v41;                                //横摆脉冲, 时钟4M,4*60*0.01*1000000
 952   2                      static_out0=900000/start_v;
 953   2                      if(temp_out0>=static_out0)
 954   2                              delt_out0=temp_out0-static_out0;
 955   2                      else
 956   2                              delt_out0=static_out0-temp_out0;
 957   2      
 958   2                      temp_out1=pp.a41*80/3;                          //横摆半宽脉冲,时钟1K,(A41/10)/(v41/60)*1000
 959   2                      delt_out1=temp_out1;
 960   2                      
 961   2                      out0=static_out0;
 962   2                      out1=delt_out1/c_change;                                        
 963   2                      out2=2*out1;                                    //横摆整宽脉冲
 964   2                      COM=0X36;
 965   2                      COUNT0=out0%256;
 966   2                      COUNT0=out0/256;
 967   2                      COM=0X76;
 968   2                      COUNT1=out1%256;
 969   2                      COUNT1=out1/256;                                //半个摆宽
 970   2                      COM=0XB6;
 971   2                      COUNT2=out1%256;
 972   2                      COUNT2=out1/256;                                //整个摆宽
 973   2              }
 974   1              work=3;                                 //关8254门控信号
 975   1              nonce_sec=0;
 976   1              do
 977   1              {
 978   2                      if(start_osc==1)                //开始横摆
 979   2                      {
 980   3                              ini_sbuf(M_main,answer,S_ANSW,0,0,0);
 981   3                              s_byte_nums=4;
 982   3                              TR_noans();
 983   3                              osc_dir=0;              //方向——左
 984   3                              osc_enable=0;           //开横摆使能
C51 COMPILER V7.06   TEMPOSC2                                                              07/11/2005 13:44:54 PAGE 17  

 985   3                              CTCON=CTCON|0x08;       //CT1下降沿
 986   3                              IEN1=IEN1|0X02;         //允许CT1
 987   3                              sec_center=1;
 988   3                              sec_change=1;
 989   3                              temp_c_change=0;
 990   3                              share=1;
 991   3                              osc_ok=1;
 992   3                              osc_started=1;
 993   3                              start_osc=0;
 994   3                              gate=1;
 995   3                              osc_out=1;
 996   3                      }
 997   2      
 998   2                      if(in_sector==1&&new_sector==1&&osc_ok==0)
 999   2                      {
1000   3                                      c_t42_l=pp.x[nonce_sec][1]*5;                           //pp.t42_l/10*1000/50
1001   3                                      c_t42_r=pp.x[nonce_sec][2]*5;
1002   3                                      c_change=pp.x[nonce_sec][5];
1003   3                                      const1=pp.x[nonce_sec][4];
1004   3                                      temp_out0=900000/pp.x[nonce_sec][3];                            //横摆脉冲, 时钟4M,4*60*0.01*1000000
1005   3                                      static_out0=900000/start_v;
1006   3                                      if(temp_out0>=static_out0)
1007   3                                              delt_out0=temp_out0-static_out0;
1008   3                                      else
1009   3                                              delt_out0=static_out0-temp_out0;
1010   3                                      
1011   3                                      temp_out1=pp.x[nonce_sec][4]*80/3;
1012   3                                      delt_out1=temp_out1;
1013   3                                      
1014   3                                      out0=static_out0;
1015   3                                      out1=delt_out1/c_change;
1016   3                                      out2=2*out1;                                    //横摆整宽脉冲
1017   3                                      COM=0X36;
1018   3                                      COUNT0=out0%256;
1019   3                                      COUNT0=out0/256;
1020   3                                      COM=0X76;
1021   3                                      COUNT1=out1%256;
1022   3                                      COUNT1=out1/256;                                //半个摆宽
1023   3                                      COM=0XB6;
1024   3                                      COUNT2=out1%256;
1025   3                                      COUNT2=out1/256;                                //整个摆宽
1026   3                                      if(K4==ON&&osc_started==1)
1027   3                                      {
1028   4                                              osc_dir=0;              //方向——左
1029   4                                              osc_enable=0;           //开横摆使能
1030   4                                              CTCON=CTCON|0x08;       //CT1下降沿
1031   4                                              IEN1=IEN1|0X02;         //允许CT1
1032   4                                              osc_ok=1;
1033   4                                              sec_center=1;
1034   4                                              sec_change=1;
1035   4                                              temp_c_change=0;
1036   4                                              share=1;
1037   4                                              osc_add=0;
1038   4                                              osc_dec=0;
1039   4                                              gate=1;
1040   4                                              osc_out=1;
1041   4                                      }
1042   3                      }
1043   2                      if(urgent_stop==1)
1044   2                              goto BEGIN;
1045   2                              
1046   2      //              if((in_sector==0&&pp.k4==OFF||in_sector==1&&K4==OFF)&&center_excursion==1)      //未开自动横摆时的左右调整
C51 COMPILER V7.06   TEMPOSC2                                                              07/11/2005 13:44:54 PAGE 18  

1047   2                      if(osc_ok==0&&center_excursion==1)      //未开自动横摆时的左右调整
1048   2                      {
1049   3                              if(excursion_dir==0)
1050   3                                      osc_dir=0;              //左
1051   3                              else
1052   3                                      osc_dir=1;
1053   3                              CTCON=CTCON|0X02;
1054   3                              COM=0X76;
1055   3                              COUNT1=10;
1056   3                              COUNT1=0;
1057   3                              IEN1=IEN1|0X01;
1058   3                              gate=1;
1059   3                              osc_enable=0;           //开横摆使能
1060   3                              center_excursion=0;
1061   3                              center_change=1;
1062   3                      }
1063   2      
1064   2                      if(urgent_stop==1)
1065   2                              goto BEGIN;
1066   2              }while(decrease==0);
1067   1      /*
1068   1              while(decrease_ok==0)
1069   1              {
1070   1                      if(urgent_stop==1)
1071   1                              goto BEGIN;
1072   1              }
1073   1      */
1074   1              while(to_begin==0)
1075   1              {
1076   2                      if(urgent_stop==1)
1077   2                              goto BEGIN;
1078   2              }
1079   1              goto BEGIN;
1080   1      }
C51 COMPILER V7.06   TEMPOSC2                                                              07/11/2005 13:44:54 PAGE 19  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


K4 . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0000H  1
osc_out. . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C6H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
osc_ok . . . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0001H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
P4 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C0H  1
resend . . . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0002H  1
c_decrease . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0000H  1
P5 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C4H  1
err_ok . . . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0003H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
sec_change . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0004H  1
excursion_dir. . . . . . . . . . . . .  PUBLIC   DATA   BIT      0005H  1
CMH0 . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C9H  1
out0 . . . . . . . . . . . . . . . . .  PUBLIC   XDATA  U_LONG   0000H  4
CMI0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CCH  1
out1 . . . . . . . . . . . . . . . . .  PUBLIC   XDATA  U_LONG   0004H  4
out2 . . . . . . . . . . . . . . . . .  PUBLIC   XDATA  U_LONG   0008H  4
FF . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0001H  1
p_sec. . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0002H  1
CML0 . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A9H  1
IEN1 . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00E8H  1
osc_change . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0006H  1
CTI0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C8H  1
osc_enable . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C4H  1
CTI1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C9H  1
osc_l. . . . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0007H  1
delt_out0. . . . . . . . . . . . . . .  PUBLIC   DATA   U_INT    0003H  2
share. . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0005H  1
delt_out1. . . . . . . . . . . . . . .  PUBLIC   DATA   U_INT    0006H  2
P1_6 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0096H  1
P1_7 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0097H  1
osc_r. . . . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0008H  1
EX0_INT. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
EX1_INT. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  get_err. . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
PROGRAM. . . . . . . . . . . . . . . .  TYPEDEF  -----  STRUCT   -----  148
  k4 . . . . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0000H  2
  syn_type . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0002H  2
  t41. . . . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0004H  2
  t41_sd . . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0006H  2
  t42_l. . . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0008H  2
  t42_r. . . . . . . . . . . . . . . .  MEMBER   -----  U_INT    000AH  2
  v41. . . . . . . . . . . . . . . . .  MEMBER   -----  U_INT    000CH  2
  a41. . . . . . . . . . . . . . . . .  MEMBER   -----  U_INT    000EH  2
  dc41 . . . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0010H  2
  da41 . . . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0012H  2
  t43. . . . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0014H  2
  t43_sd . . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0016H  2
  t17. . . . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0018H  2
  sec_num. . . . . . . . . . . . . . .  MEMBER   -----  U_INT    001AH  2
  x. . . . . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    001CH  120
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
TMH2 . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00EDH  1
TI . . . . . . . 

⌨️ 快捷键说明

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