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

📄 osc2.lst

📁 基于485的51单片机多机通讯程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 907   3                              gate=0;         //关横摆脉冲
 908   3                              osc_enable=1;
 909   3                              motor_stop=0;
 910   3                      }
 911   2      
 912   2                      if(urgent_stop==1)
 913   2                              goto BEGIN;
 914   2              }
 915   1              
 916   1              if(pp.k4==ON)
 917   1              {
 918   2                      const1=pp.a41;
 919   2                      c_t42_l=pp.t42_l*5;                             //pp.t42_l/10*1000/50
 920   2                      c_t42_r=pp.t42_r*5;
 921   2                      c_change=pp.t43%256;
 922   2                      
C51 COMPILER V7.06   OSC2                                                                  09/21/2005 09:00:12 PAGE 16  

 923   2                      temp_out0=900000/pp.v41;                                //横摆脉冲, 时钟4M,4*60*0.01*1000000
 924   2                      static_out0=900000/start_v;
 925   2                      if(temp_out0>=static_out0)
 926   2                              delt_out0=temp_out0-static_out0;
 927   2                      else
 928   2                              delt_out0=static_out0-temp_out0;
 929   2      
 930   2                      temp_out1=pp.a41*80/3;                          //横摆半宽脉冲
 931   2                      delt_out1=temp_out1;
 932   2                      
 933   2                      out0=static_out0;
 934   2                      out1=delt_out1/c_change;                                        
 935   2                      out2=2*out1;                                    //横摆整宽脉冲
 936   2                      COM=0X36;
 937   2                      COUNT0=out0%256;
 938   2                      COUNT0=out0/256;
 939   2                      COM=0X76;
 940   2                      COUNT1=out1%256;
 941   2                      COUNT1=out1/256;                                //半个摆宽
 942   2                      COM=0XB6;
 943   2                      COUNT2=out1%256;
 944   2                      COUNT2=out1/256;                                //整个摆宽
 945   2              }
 946   1              work=3;                                 //关8254门控信号
 947   1              nonce_sec=0;
 948   1              do
 949   1              {
 950   2                      if(start_osc==1)                //开始横摆
 951   2                      {
 952   3                              ini_sbuf(M_main,answer,S_ANSW,0,0,0);
 953   3                              s_byte_nums=4;
 954   3                              TR_noans();
 955   3                              osc_dir=0;              //方向——左
 956   3                              osc_enable=0;           //开横摆使能
 957   3                              CTCON=CTCON|0x08;       //CT1下降沿
 958   3                              IEN1=IEN1|0X02;         //允许CT1
 959   3                              sec_center=1;
 960   3                              sec_change=1;
 961   3                              temp_c_change=0;
 962   3                              share=1;
 963   3                              osc_ok=1;
 964   3                              osc_started=1;
 965   3                              start_osc=0;
 966   3                              gate=1;
 967   3                              osc_out=1;
 968   3                      }
 969   2      
 970   2                      if(in_sector==1&&new_sector==1&&osc_ok==0)
 971   2                      {
 972   3                                      c_t42_l=pp.x[nonce_sec][1]*5;                           //pp.t42_l/10*1000/50
 973   3                                      c_t42_r=pp.x[nonce_sec][2]*5;
 974   3                                      c_change=pp.x[nonce_sec][5]%256;
 975   3                                      const1=pp.x[nonce_sec][4];
 976   3                                      temp_out0=900000/pp.x[nonce_sec][3];                            //横摆脉冲, 时钟4M,4*60*0.01*1000000
 977   3                                      static_out0=900000/start_v;
 978   3                                      if(temp_out0>=static_out0)
 979   3                                              delt_out0=temp_out0-static_out0;
 980   3                                      else
 981   3                                              delt_out0=static_out0-temp_out0;
 982   3                                      
 983   3                                      temp_out1=pp.x[nonce_sec][4]*80/3;
 984   3                                      delt_out1=temp_out1;
C51 COMPILER V7.06   OSC2                                                                  09/21/2005 09:00:12 PAGE 17  

 985   3                                      
 986   3                                      out0=static_out0;
 987   3                                      out1=delt_out1/c_change;
 988   3                                      out2=2*out1;                                    //横摆整宽脉冲
 989   3                                      COM=0X36;
 990   3                                      COUNT0=out0%256;
 991   3                                      COUNT0=out0/256;
 992   3                                      COM=0X76;
 993   3                                      COUNT1=out1%256;
 994   3                                      COUNT1=out1/256;                                //半个摆宽
 995   3                                      COM=0XB6;
 996   3                                      COUNT2=out1%256;
 997   3                                      COUNT2=out1/256;                                //整个摆宽
 998   3                                      if(K4==ON&&osc_started==1)
 999   3                                      {
1000   4                                              osc_dir=0;              //方向——左
1001   4                                              osc_enable=0;           //开横摆使能
1002   4                                              CTCON=CTCON|0x08;       //CT1下降沿
1003   4                                              IEN1=IEN1|0X02;         //允许CT1
1004   4                                              osc_ok=1;
1005   4                                              sec_center=1;
1006   4                                              sec_change=1;
1007   4                                              temp_c_change=0;
1008   4                                              share=1;
1009   4                                              osc_add=0;
1010   4                                              osc_dec=0;
1011   4                                              gate=1;
1012   4                                              osc_out=1;
1013   4                                      }
1014   3                      }
1015   2                      if(urgent_stop==1)
1016   2                              goto BEGIN;
1017   2                      if(osc_ok==0&&center_excursion==1)      //未开自动横摆时的左右调整
1018   2                      {
1019   3                              if(excursion_dir==0)
1020   3                                      osc_dir=0;              //左
1021   3                              else
1022   3                                      osc_dir=1;
1023   3                              CTCON=CTCON|0X02;
1024   3                              COM=0X76;
1025   3                              COUNT1=10;
1026   3                              COUNT1=0;
1027   3                              IEN1=IEN1|0X01;
1028   3                              gate=1;
1029   3                              osc_enable=0;           //开横摆使能
1030   3                              center_excursion=0;
1031   3                              center_change=1;
1032   3                      }
1033   2      
1034   2                      if(urgent_stop==1)
1035   2                              goto BEGIN;
1036   2              }while(decrease==0);
1037   1              
1038   1              while(to_begin==0)
1039   1              {
1040   2                      if(urgent_stop==1)
1041   2                              goto BEGIN;
1042   2              }
1043   1              goto BEGIN;
1044   1      }
C51 COMPILER V7.06   OSC2                                                                  09/21/2005 09:00:12 PAGE 18  

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 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
c_t42. . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0008H  1
temp_c_decrease. . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0009H  1
C51 COMPILER V7.06   OSC2                                                                  09/21/2005 09:00:12 PAGE 19  

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


TML2 . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00ECH  1
sec_center . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0009H  1
osc_started. . . . . . . . . . . . . .  PUBLIC   DATA   BIT      000AH  1
temp_out0. . . . . . . . . . . . . . .  PUBLIC   XDATA  U_LONG   000CH  4
gate . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C1H  1
temp_out1. . . . . . . . . . . . . . .  PUBLIC   XDATA  U_LONG   0010H  4
need_para. . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      000BH  1
decreased. . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      000CH  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  BEGIN. . . . . . . . . . . . . . . .  LABEL    CODE   LABEL    -----  -----
TR_noans . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0003H  -----
send . . . . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      000DH  1
out0_decrease. . . . . . . . . . . . .  PUBLIC   XDATA  U_LONG   0014H  4
start_i2 . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  time . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0006H  2
out1_decrease. . . . . . . . . . . . .  PUBLIC   XDATA  U_LONG   0018H  4
point. . . . . . . . . . . . . . . . .  PUBLIC   DATA   PTR      000AH  3
COMM . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000DH  1
c_change . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000EH  1
r_byte_nums. . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000FH  1
s_byte_nums. . . . . . . . . . . . . .  PUBLIC   DA

⌨️ 快捷键说明

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