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

📄 recframe.lst

📁 用于GPRS远程电力抄表系统中采集器端的程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 121   4                                                              rcout=1;
 122   4                                                          dl=1;
 123   4                                                              break;
 124   4                                                      case 5:
 125   4                                                              burst=1;
 126   4                                                              dl=1;
 127   4                                                              break;  
 128   4                                                      case 11:
 129   4                                                              fc_flag=0x50;
 130   4                                                              dl=1;
 131   4                                                              break;
 132   4                                                      case 12:
 133   4                                                              fc_flag=0x70;
 134   4                                                              dl=1;
 135   4                                                              break;
 136   4                                                      case 13:
 137   4                                                              sday=1;
 138   4                                                              dl=0;
 139   4                                                              break;
 140   4                                                      case 14:
 141   4                                                              fc_flag=0x60;
 142   4                                                              dl=0;
 143   4                                                              break;
 144   4                                                      case 22:
 145   4                                                              stime=1;
 146   4                                                              dl=1;
 147   4                                                              break;
 148   4                                                      case 23:
 149   4                                                              fc_flag=0x30;
 150   4                                                              dl=1;
 151   4                                                              break;
 152   4                                                      case 16:     //抄表一次轮询结束命令
 153   4                                                              cycend=1;
 154   4                                                              dl=1;
 155   4                                                              break;
 156   4      /*                                              case 18:
 157   4                                                          gburst=1;
 158   4                                                              dl=2;
 159   4                                                              break;
 160   4      */                                              case 19:
 161   4                                                              alarm_ac=1;
 162   4                                                              dl=0;
 163   4                                                              break;
 164   4                                                      default:
 165   4                                                              RecCount=0;
 166   4                                  RecState=RS_WAIT;
 167   4                                                              break;
 168   4                                              }
 169   3      
 170   3                                      }
 171   2      
 172   2                                  if(count==7) //第7个字节为数据域长度字节
 173   2                                  {
 174   3                                              DataLen=ch;
 175   3                                              if(fc_flag==0x80)
 176   3                                              {
 177   4                                                      RecState++;
 178   4                                                      count=0;
 179   4                                                      break;
C51 COMPILER V7.50   RECFRAME                                                              07/19/2006 10:05:15 PAGE 4   

 180   4                                              }
 181   3      
 182   3                                              if(DataLen==dl)
 183   3                                              {
 184   4                                                      RecState++;
 185   4                                                      count=0;
 186   4                                                      
 187   4                                              if(DataLen==0) //如果数据长度为0,进入接收校验和状态
 188   4                                                              RecState++;
 189   4                                              }
 190   3                                              else
 191   3                                              {
 192   4                                                      RecCount=0;
 193   4                              RecState=RS_WAIT;
 194   4                                                      break;
 195   4                                              }
 196   3                              }       
 197   2                                      break;
 198   2      
 199   2                              case RS_DATA:
 200   2                                      count++;
 201   2                                  if(count==DataLen) 
 202   2                                              RecState++;
 203   2                                      break;
 204   2      
 205   2                              case RS_CHECK:
 206   2                                      cs=0;
 207   2                                      for(i=RecCount;i>1;i--)
 208   2                                          cs+=RecBuf[i-2];
 209   2                                      if(cs!=RecBuf[RecCount-1])                       //校验和不正确,返回到等待状态
 210   2                                  {
 211   3                                              RecCount=0;
 212   3                          RecState=RS_WAIT;
 213   3                                              break;
 214   3                                      }
 215   2                                  else  
 216   2                                              RecState++;
 217   2                                      break;
 218   2      
 219   2                              case RS_END:
 220   2                      RecState=RS_WAIT;
 221   2                                      if(ch==FRAME_END_CHAR) //如果帧结束字符正确,置接收结束标识位
 222   2                                  {
 223   3                                              r_end=1;
 224   3                                              s_end=0;
 225   3                                              delay_10ms=0;
 226   3                                              RecCount=0;
 227   3                                      }
 228   2                                      else
 229   2                                              RecCount=0;
 230   2                                      break;
 231   2                      }
 232   1                      
 233   1      }
 234          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    464    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =    120    ----
   PDATA SIZE       =   ----    ----
C51 COMPILER V7.50   RECFRAME                                                              07/19/2006 10:05:15 PAGE 5   

   DATA SIZE        =      9    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      5    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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