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

📄 main.lst

📁 基于485的51单片机多机通讯程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 222   1      }
 223          
 224          void readEEP_byte()
 225          {
 226   1              nums=0;
 227   1              readEEPbyte=1;
 228   1              SLA=0XA0;
 229   1              COMM=0xFF;
 230   1              start_i2a();
 231   1              while(readEEPbyte==1)
 232   1              {
 233   2                      if(urgent_stop==1)
 234   2                              readEEPbyte=0;
 235   2              }
 236   1      }
 237          
 238          void readEEP_page()
 239          {
 240   1              nums=0;
C51 COMPILER V7.06   MAIN                                                                  08/02/2005 14:14:21 PAGE 5   

 241   1              nums1=0;
 242   1              delt=2;
 243   1              point=&pp.pn;
 244   1              readEEPpage=1;
 245   1              get_SLA1();
 246   1              COMM=(mainDDR+times*128)/256;
 247   1              start_i2a();
 248   1              while(readEEPpage==1)
 249   1              {
 250   2                      if(urgent_stop==1)
 251   2                              readEEPpage=0;
 252   2              }
 253   1      }
 254          
 255          void writeEEP_byte()
 256          {
 257   1              nums=0;
 258   1              writeEEPbyte=1;
 259   1              SLA=0XA0;
 260   1              COMM=0XFF;
 261   1              start_i2a();
 262   1              while(writeEEPbyte==1)
 263   1              {
 264   2                      if(urgent_stop==1)
 265   2                              writeEEPbyte=0;
 266   2              }
 267   1      }
 268          
 269          void writeEEP_word()
 270          {
 271   1              nums=0;
 272   1              writeEEPword=1;
 273   1              start_i2a();
 274   1              while(writeEEPword==1)
 275   1              {
 276   2                      if(urgent_stop==1)
 277   2                              writeEEPword=0;
 278   2              }
 279   1      }
 280          
 281          void writeEEP_page(unsigned char t)                     //将指定专家参数复制到目的程序号下
 282          {
 283   1              nums=0;
 284   1              delt=2;
 285   1              writeEEPpage=1;
 286   1              get_SLA1();
 287   1              COMM=(mainDDR+t*128)/256;
 288   1              start_i2a();
 289   1              while(writeEEPpage==1)
 290   1              {
 291   2                      if(urgent_stop==1)
 292   2                              writeEEPpage=0;
 293   2              }
 294   1      }
 295          
 296          void save_prg()
 297          {
 298   1              savePRG=1;
 299   1              SLA=0XA0;
 300   1              COMM=0XFF;
 301   1              writeEEP_byte();
 302   1      }
C51 COMPILER V7.06   MAIN                                                                  08/02/2005 14:14:21 PAGE 6   

 303          
 304          void TR_noans()
 305          {
 306   1              noans_ok=0;
 307   1              TB8=1;
 308   1              POINTER0=0;
 309   1              SSUM=0;
 310   1              send=1;
 311   1              c_t1=0;
 312   1              TR1=1;
 313   1              while(POINTER0<s_byte_nums);
 314   1              TR1=0;
 315   1              noans_ok=1;
 316   1      }
 317          
 318          void TR_ans()
 319          {
 320   1              REN=0;
 321   1              ans=1;
 322   1              POINTER1=0;
 323   1              RSUM=0;
 324   1              TB8=1;
 325   1              POINTER0=0;
 326   1              SSUM=0;
 327   1              send=1;
 328   1              c_t1=0;
 329   1              TR1=1;
 330   1              while(POINTER0<s_byte_nums);
 331   1              TR1=0;
 332   1      
 333   1              REN=1;
 334   1              send=0;
 335   1              c_t1=0;
 336   1              TR1=1;
 337   1              while(POINTER1<r_byte_nums&&overtime==0);
 338   1              TR1=0;
 339   1              POINTER1=0;
 340   1              RSUM=0;
 341   1              c_t1=0;
 342   1              if(overtime==1)
 343   1              {
 344   2                      if(wait_ans==1)
 345   2                      {
 346   3                              err=3;
 347   3                              main_err=1;
 348   3                      }
 349   2                      c_t1=0;
 350   2              }
 351   1              ans=0;
 352   1              REN=0;
 353   1      }
 354          /*
 355          void answer_judge()
 356          {
 357                  unsigned char c_err;
 358                  c_err=0;
 359          resend: if(R_ANSW!=OK)
 360                  {
 361                          c_err++;
 362                          if(c_err<3)
 363                          {
 364                                  TR_ans();
C51 COMPILER V7.06   MAIN                                                                  08/02/2005 14:14:21 PAGE 7   

 365                                  goto resend;
 366                          }
 367                          else
 368                          {
 369                                  err=3;
 370                                  main_err=1;
 371          //                      stop=0;
 372                          }
 373                  }
 374                  else
 375                          R_ANSW=0;
 376          
 377          }
 378          */
 379          void get_secondDDR()
 380          {
 381   1              switch(p_name)
 382   1              {
 383   2                      case T01:       secondDDR=2;break;
 384   2                      case T02:       secondDDR=4;break;
 385   2                      case GAS2:      secondDDR=6;break;
 386   2                      case T03:       secondDDR=8;break;
 387   2                      case T04:       secondDDR=10;break;
 388   2                      case K1:        secondDDR=12;break;
 389   2                      case Ignit:     secondDDR=14;break;
 390   2                      case I11:       secondDDR=16;break;
 391   2                      case T12:       secondDDR=18;break;
 392   2                      case I12:       secondDDR=20;break;
 393   2                      case T13:       secondDDR=22;break;
 394   2                      case T13_SD:    secondDDR=24;break;
 395   2                      case T14:       secondDDR=26;break;
 396   2                      case I14:       secondDDR=28;break;
 397   2                      case T15:       secondDDR=30;break;
 398   2                      case I15:       secondDDR=32;break;
 399   2                      case DI:        secondDDR=34;break;
 400   2                      case AHF:       secondDDR=36;break;
 401   2                      case I16:       secondDDR=38;break;
 402   2                      case F:         secondDDR=40;break;
 403   2                      case T16:       secondDDR=42;break;
 404   2                      case N11:       secondDDR=44;break;
 405   2                      case N11_SD:    secondDDR=46;break;
 406   2                      case T17:       secondDDR=48;break;
 407   2                      case I17:       secondDDR=50;break;
 408   2                      case K2:        secondDDR=52;break;
 409   2                      case RN:        secondDDR=54;break;
 410   2                      case D:         secondDDR=56;break;
 411   2                      case K21:       secondDDR=58;break;
 412   2                      case V21_P:     secondDDR=60;break;
 413   2                      case V21_B:     secondDDR=62;break;
 414   2                      case T21:       secondDDR=64;break;
 415   2                      case T21_SD:    secondDDR=66;break;
 416   2                      case DV21:      secondDDR=68;break;
 417   2                      case B  :       secondDDR=70;break;
 418   2                      case K3:        secondDDR=72;break;
 419   2                      case K31:       secondDDR=74;break;
 420   2                      case WN:        secondDDR=76;break;
 421   2                      case T31:       secondDDR=78;break;
 422   2                      case T31_SD:    secondDDR=80;break;
 423   2                      case T32:       secondDDR=82;break;
 424   2                      case T32_SD:    secondDDR=84;break;
 425   2                      case V31_P:     secondDDR=86;break;
 426   2                      case V31_B:     secondDDR=88;break;
C51 COMPILER V7.06   MAIN                                                                  08/02/2005 14:14:21 PAGE 8   

 427   2                      case DV31:      secondDDR=90;break;
 428   2                      case T33:       secondDDR=92;break;
 429   2                      case T33_SD:    secondDDR=94;break;
 430   2                      case V32:       secondDDR=96;break;
 431   2                      case T34:       secondDDR=98;break;
 432   2                      case K4:        secondDDR=100;break;
 433   2                      case Syn_type:  secondDDR=102;break;
 434   2                      case T41:       secondDDR=104;break;
 435   2                      case T41_SD:    secondDDR=106;break;
 436   2                      case T42_L:     secondDDR=108;break;
 437   2                      case T42_R:     secondDDR=110;break;
 438   2                      case V41:       secondDDR=112;break;
 439   2                      case A41:       secondDDR=114;break;
 440   2                      case DC41:      secondDDR=116;break;
 441   2                      case DA41:      secondDDR=118;break;
 442   2                      case T43:       secondDDR=120;break;
 443   2                      case T43_SD:    secondDDR=122;break;
 444   2                      case K5:        secondDDR=124;break;
 445   2                      case PGJ:       secondDDR=126;break;
 446   2                      case H51:       secondDDR=128;break;
 447   2                      case T51:       secondDDR=130;break;
 448   2                      case T51_SD:    secondDDR=132;break;
 449   2                      case T52:       secondDDR=134;break;
 450   2                      case T52_SD:    secondDDR=136;break;

⌨️ 快捷键说明

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