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

📄 crc.lst

📁 ASC 信号机控制程序,国内最先进的信号机控制程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V6.02  CRC                                                                    09/28/2006 21:46:50 PAGE 5   

 241   6                                                      }
 242   5                                                    }else{
 243   5                                                       if(transparence_valid==1&&REVSTATUS==0){
 244   6                                                                      transparence_valid=0;
 245   6                                                                      transparence=0;
 246   6                                                                      valid_data=0;
 247   6                                                                      valid_data_num=0;                         
             -                                                                 }
 248   5                                                                                               }
 249   4      
 250   4                         break;
 251   4                 case 3:check_transparence();
 252   4                         if(transparence_valid==0){
 253   5                             valid_data=valid_data+(testbit<<(7-valid_data_num));
 254   5                             if(++valid_data_num==8){
 255   6                                  if(valid_data==0xcc/*cc*/){
 256   7                                          //transparence=0;
 257   7                                          REVSTATUS=4;
 258   7                                          valid_data=0;
 259   7                                          valid_data_num=0;
 260   7                                          checkdata[2]=0xcc/*cc*/;
 261   7                                                       }else{
 262   7                                              transparence=0;
 263   7                                              REVSTATUS=0;
 264   7                                              valid_data=0;
 265   7                                              valid_data_num=0;
 266   7                                                             }
 267   6                                                     }
 268   5                                                   }else{
 269   5                                              if(transparence_valid==1&&REVSTATUS==0){
 270   6                                                                         transparence_valid=0;
 271   6                                                                         transparence=0;
 272   6                                                                         valid_data=0;
 273   6                                                                         valid_data_num=0;
 274   6                                                                                      }
 275   5                                                         }
 276   4                         break;
 277   4                  case 4:check_transparence();
 278   4                         if(transparence_valid==0){
 279   5                             valid_data=valid_data+(testbit<<(7-valid_data_num));
 280   5                             if(++valid_data_num==8){
 281   6                                  if(valid_data==0xc1){
 282   7                                          //transparence=0;
 283   7                                          REVSTATUS=5;
 284   7                                          valid_data=0;
 285   7                                          valid_data_num=0;
 286   7                                          checkdata[3]=0xc1;
 287   7                                                       }else{
 288   7                                              transparence=0;
 289   7                                              REVSTATUS=0;
 290   7                                              valid_data=4;
 291   7                                              valid_data_num=0;
 292   7                                                             }
 293   6                                                     }
 294   5                                                   }else{
 295   5                                              if(transparence_valid==1&&REVSTATUS==0){
 296   6                                                                         transparence_valid=0;
 297   6                                                                         transparence=0;
 298   6                                                                         valid_data=0;
 299   6                                                                         valid_data_num=0;
 300   6                                                                                      }
 301   5                                                         }
C51 COMPILER V6.02  CRC                                                                    09/28/2006 21:46:50 PAGE 6   

 302   4                         break;
 303   4                  case 5:check_transparence();
 304   4                         if(transparence_valid==0){
 305   5                             valid_data=valid_data+(testbit<<(7-valid_data_num));
 306   5                             if(++valid_data_num==8){
 307   6                                         checkdata[data_num]=valid_data;
 308   6                                         data_num++;
 309   6                                         REVSTATUS=6;
 310   6                                       //  transparence=0;
 311   6                                         valid_data=0;
 312   6                                         valid_data_num=0;
 313   6                                                    }
 314   5                                                   }else{
 315   5                                              if(transparence_valid==1&&REVSTATUS==0){
 316   6                                                                         transparence_valid=0;
 317   6                                                                         transparence=0;
 318   6                                                                         valid_data=0;
 319   6                                                                         valid_data_num=0;
 320   6                                                                                      }
 321   5                                                         }
 322   4                         break;
 323   4                  case 6:check_transparence();
 324   4                         if(transparence_valid==0){
 325   5                             valid_data=valid_data+(testbit<<(7-valid_data_num));
 326   5                             if(++valid_data_num==8){
 327   6                                         checkdata[data_num]=valid_data;
 328   6                                         data_num++;
 329   6                                         REVSTATUS=6;
 330   6                                         //transparence=0;
 331   6                                         valid_data=0;
 332   6                                         valid_data_num=0;
 333   6                                                    }
 334   5                                                   }else if(transparence_valid==1 && transparence==0 && REVSTATU
             -S!=0){
 335   5      					          transparence_valid=0;
 336   5                                                             break;
 337   5      				   	       }else{{
 338   6                                              if(transparence_valid==1&&REVSTATUS==0){
 339   7                                                              transparence_valid=0;
 340   7                                                              transparence=0;
 341   7                                                              valid_data=0;
 342   7                                                              p=&checkdata[0];
 343   7                                                              check_write=cal_crc(p,(data_num-2));
 344   7                                                              check_temp=(checkdata[data_num-2]<<8)+checkdata[da
             -ta_num-1];
 345   7                                                              data_num=4;
 346   7                                WatchDog =!WatchDog;
 347   7                               if(check_write==check_temp){ //CRC校验相等
 348   8      
 349   8                                            //  EA=0;
 350   8                                              receive_flag=checkdata[4]; //主要标志
 351   8                                              second_flag=checkdata[5];  //付标志
 352   8                                              com_receive_deal();
 353   8                                               valid_data_num=0;
 354   8      
 355   8                                                           }
 356   7      
 357   7               }
 358   6                          }
 359   5      
 360   5                         break; }
 361   4                         break;
C51 COMPILER V6.02  CRC                                                                    09/28/2006 21:46:50 PAGE 7   

 362   4                  default:break;
 363   4                                  }
 364   3                              }
 365   2                  if(++tail>500)tail=0;
 366   2                  //if(head==0)tail=0;
 367   2                           }
 368   1      }
 369          void comm() interrupt 4 using 1
 370          {
 371   1        if(RI==1){
 372   2           RI=0;
 373   2           EA=0;
 374   2           RX_BUF[head]=SBUF;
 375   2           if(++head>500)head=0;
 376   2           comm_state=0;//有接收
 377   2           EA=1;
 378   2      
 379   2                  }
 380   1      
 381   1       }
C51 COMPILER V6.02  CRC                                                                    09/28/2006 21:46:50 PAGE 8   

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


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
com_receive_deal . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
transparence_valid . . . . . . . . . .  PUBLIC   XDATA  U_INT    0000H  2
testbit. . . . . . . . . . . . . . . .  PUBLIC   XDATA  U_CHAR   0002H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
transparence . . . . . . . . . . . . .  PUBLIC   XDATA  U_CHAR   0003H  1
valid_data . . . . . . . . . . . . . .  PUBLIC   XDATA  U_CHAR   0004H  1
check_write. . . . . . . . . . . . . .  PUBLIC   XDATA  U_INT    0005H  2
head . . . . . . . . . . . . . . . . .  PUBLIC   XDATA  U_INT    0007H  2
WatchDog . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0093H  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
check_temp . . . . . . . . . . . . . .  PUBLIC   XDATA  U_INT    0009H  2
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
checkdata. . . . . . . . . . . . . . .  PUBLIC   XDATA  ARRAY    000BH  512
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
_cal_crc . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  ptr. . . . . . . . . . . . . . . . .  AUTO     XDATA  PTR      0000H  3
  len. . . . . . . . . . . . . . . . .  AUTO     XDATA  U_INT    0003H  2
  i. . . . . . . . . . . . . . . . . .  AUTO     XDATA  U_CHAR   0005H  1
  crc. . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0004H  2
tail . . . . . . . . . . . . . . . . .  PUBLIC   XDATA  U_INT    020BH  2
comm . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
SBUF . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0099H  1
h_address. . . . . . . . . . . . . . .  EXTERN   XDATA  U_CHAR   -----  1
comm_state . . . . . . . . . . . . . .  EXTERN   XDATA  U_INT    -----  2
watch_dog. . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0093H  1
l_address. . . . . . . . . . . . . . .  EXTERN   XDATA  U_CHAR   -----  1
checktemp. . . . . . . . . . . . . . .  PUBLIC   XDATA  U_INT    020DH  2
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
crc_main . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  AUTO     XDATA  U_CHAR   0000H  1
  p. . . . . . . . . . . . . . . . . .  * REG *  DATA   PTR      0001H  3
valid_data_num . . . . . . . . . . . .  PUBLIC   XDATA  U_CHAR   020FH  1
beginbit . . . . . . . . . . . . . . .  PUBLIC   XDATA  U_CHAR   0210H  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
data_num . . . . . . . . . . . . . . .  PUBLIC   XDATA  U_INT    0211H  2
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
C51 COMPILER V6.02  CRC                                                                    09/28/2006 21:46:50 PAGE 9   

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


P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
REVSTATUS. . . . . . . . . . . . . . .  PUBLIC   XDATA  U_CHAR   0213H  1
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
receive_flag . . . . . . . . . . . . .  PUBLIC   XDATA  U_CHAR   0214H  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
RX_BUF . . . . . . . . . . . . . . . .  PUBLIC   XDATA  ARRAY    0215H  512
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
check_frame. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
check_transparence . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
second_flag. . . . . . . . . . . . . .  PUBLIC   XDATA  U_CHAR   0415H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1989    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   1046       7
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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