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

📄 main.lst

📁 可编程光纤延迟线的开发系统!对仪器的开发很有帮助!
💻 LST
📖 第 1 页 / 共 2 页
字号:
 185   2                      Flag_TimeOver = 0;
 186   2              }       
 187   1              
 188   1      }
 189          
 190          /*  超时处理函数*/
 191          void TimeOverDeal(void)
 192          {
 193   1              ClearR_bufR_data();
 194   1              
 195   1              FLag_StartRec = 0;
 196   1              gCount = 0;
 197   1              
 198   1              SBUF = TIMEOVER;                        //回送超时响应字节
 199   1              while ( TI ==0 );
 200   1              TI =0 ;         
 201   1      }
 202          
 203          /*  校验错误处理函数*/
 204          void CheckErrorDeal(void)
 205          {
 206   1              ClearR_bufR_data();     
 207   1              
 208   1              SBUF = CHECKERROR;                      //回送校验错误响应字节
 209   1              while ( TI ==0 );
 210   1              TI =0 ; 
 211   1              
 212   1      }
 213          
 214          /*  接收正确处理函数*/
 215          void RecRightDeal(void)
 216          {
 217   1              unsigned char xdata i,j,k;
 218   1              unsigned long xdata tmp;
 219   1              unsigned char xdata D1,D2,D3 = 0;
 220   1              ClearR_bufR_data();
 221   1      
 222   1              TCount = 0;
 223   1      
 224   1              /* 产生开关控制信号*/
 225   1              tmp = RecData;
 226   1              if (tmp/V_2_19 == 1)
 227   1              {
 228   2                      D3 = D3 + 0x08;         
 229   2                      tmp = tmp%V_2_19;
 230   2              }
 231   1              else if (tmp/V_2_18 == 1)
 232   1              {
 233   2                      D3 = D3 + 0x04;         
 234   2                      tmp = tmp%V_2_18;
 235   2              }
 236   1              else if (tmp/V_2_17 == 1)
 237   1              {
 238   2                      D3 = D3 + 0x02;         
 239   2                      tmp = tmp%V_2_17;
 240   2              }       
C51 COMPILER V7.02b   MAIN                                                                 01/18/2005 21:41:19 PAGE 5   

 241   1              else if (tmp/V_2_16 == 1)
 242   1              {
 243   2                      D3 = D3 + 0x01;         
 244   2                      tmp = tmp%V_2_16;
 245   2              }       
 246   1              else if (tmp/V_2_15 == 1)
 247   1              {
 248   2                      D2 = D2 + 0x80;         
 249   2                      tmp = tmp%V_2_15;
 250   2              }       
 251   1              else if (tmp/V_2_14 == 1)
 252   1              {
 253   2                      D2 = D2 + 0x40;         
 254   2                      tmp = tmp%V_2_14;
 255   2              }
 256   1              else if (tmp/V_2_13 == 1)
 257   1              {
 258   2                      D2 = D2 + 0x20;         
 259   2                      tmp = tmp%V_2_13;
 260   2              }
 261   1              else if (tmp/V_2_12 == 1)
 262   1              {
 263   2                      D2 = D2 + 0x10;         
 264   2                      tmp = tmp%V_2_12;
 265   2              }
 266   1              else if (tmp/V_2_11 == 1)
 267   1              {
 268   2                      D2 = D2 + 0x08;         
 269   2                      tmp = tmp%V_2_11;
 270   2              }
 271   1              else if (tmp/V_2_10 == 1)
 272   1              {
 273   2                      D2 = D2 + 0x04;         
 274   2                      tmp = tmp%V_2_10;
 275   2              }
 276   1              else if (tmp/V_2_9 == 1)
 277   1              {
 278   2                      D2 = D2 + 0x02;         
 279   2                      tmp = tmp%V_2_9;
 280   2              }
 281   1              else if (tmp/V_2_8 == 1)
 282   1              {
 283   2                      D2 = D2 + 0x01;         
 284   2                      tmp = tmp%V_2_8;
 285   2              }
 286   1              else if (tmp/V_2_7 == 1)
 287   1              {
 288   2                      D1 = D1 + 0x80;         
 289   2                      tmp = tmp%V_2_7;
 290   2              }
 291   1              else if (tmp/V_2_6 == 1)
 292   1              {
 293   2                      D1 = D1 + 0x40;         
 294   2                      tmp = tmp%V_2_6;
 295   2              }
 296   1              else if (tmp/V_2_5 == 1)
 297   1              {
 298   2                      D1 = D1 + 0x20;         
 299   2                      tmp = tmp%V_2_5;
 300   2              }
 301   1              else if (tmp/V_2_4 == 1)
 302   1              {
C51 COMPILER V7.02b   MAIN                                                                 01/18/2005 21:41:19 PAGE 6   

 303   2                      D1 = D1 + 0x10;         
 304   2                      tmp = tmp%V_2_4;
 305   2              }
 306   1              else if (tmp/V_2_3 == 1)
 307   1              {
 308   2                      D1 = D1 + 0x08;         
 309   2                      tmp = tmp%V_2_3;
 310   2              }
 311   1              else if (tmp/V_2_2 == 1)
 312   1              {
 313   2                      D1 = D1 + 0x04;         
 314   2                      tmp = tmp%V_2_2;
 315   2              }
 316   1              else if (tmp/V_2_1 == 1)
 317   1              {
 318   2                      D1 = D1 + 0x02;         
 319   2                      tmp = tmp%V_2_1;
 320   2              }
 321   1              else if (tmp/V_2_0 == 1)
 322   1              {
 323   2                      D1 = D1 + 0x01;                 
 324   2              }
 325   1      
 326   1              P1_0 = 1;                                                 // 使能开关控制信号输出
 327   1      
 328   1              /* 写20位开关控制信号,D3取前4位 */
 329   1              KAIGUAN1 = D1;
 330   1              KAIGUAN2 = D2;
 331   1              KAIGUAN3 = D3;
 332   1              
 333   1              Time0Sel = 1;
 334   1              /* Timer0 */
 335   1              PT0 = 1;
 336   1              TH0 = -500000/256;                                 //500ms, 开关控制脉冲宽度
 337   1              TL0 = -500000%256;
 338   1              /* 启动定时器0,计算超时*/              
 339   1              ET0 = 1;                                        
 340   1              TR0 = 1;
 341   1              
 342   1      
 343   1              // 延时几百毫秒
 344   1              for (i=0;i++;i<1000)
 345   1                      for (j=0;j++;j<3000)
 346   1                      {
 347   2                              k=0;
 348   2                      }
 349   1              
 350   1              SBUF = RECRIGHT;                                        //回送接收正确响应字节
 351   1              while ( TI ==0 );
 352   1              TI =0 ;                 
 353   1      }
 354          
 355          
 356          
 357          
 358          
 359          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1889    ----
   CONSTANT SIZE    =   ----    ----
C51 COMPILER V7.02b   MAIN                                                                 01/18/2005 21:41:19 PAGE 7   

   XDATA SIZE       =     31      14
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
   EDATA SIZE       =   ----    ----
   HDATA SIZE       =   ----    ----
   XDATA CONST SIZE =   ----    ----
   FAR CONST SIZE   =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  1 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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