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

📄 yj.lst

📁 本程序采用的是keilc51编程器
💻 LST
📖 第 1 页 / 共 2 页
字号:
 159   5                                      {
 160   6                                                      //SendDat(cRcv_Data1[i]);
 161   6                                              } 
 162   5                                              if(cRcv_Data1[iRcv_Nmb_Max-7]==0x20)
 163   5                                              {
 164   6                                                command=0x20;                 //receive正确的命令
 165   6                                              }
 166   5                                      }
 167   4                                      else
 168   4                                      {
 169   5                                              cRcv_Stat1=0;
 170   5                                              
 171   5                                      }
 172   4                  
 173   4                      }
 174   3                      else 
 175   3                      {
 176   4                        if(iRcv_Nmb1>50)
 177   4                        {
 178   5                          cRcv_Stat1=0;
 179   5                                             
C51 COMPILER V8.02   YJ                                                                    06/20/2007 13:39:50 PAGE 4   

 180   5                                }  
 181   4                        iRcv_Nmb1++;   //帧数据
 182   4                      }
 183   3                      break;
 184   3                      
 185   3                  default:
 186   3                     cRcv_Stat1=0;
 187   3                     break;
 188   3                                              
 189   3                  }   
 190   2                        
 191   2                         RI=0;  
 192   2              }    
 193   1      }
 194          
 195          void PutOutData()
 196          {
 197   1              SendDat(DataPack.lHead[0]);//前导   00000000
 198   1                      SendDat(DataPack.lHead[1]);
 199   1                      SendDat(DataPack.lHead[2]);
 200   1                      SendDat(DataPack.lHead[3]);
 201   1                      
 202   1                      SendDat(DataPack.iStart[0]);     //起始位  02A6
 203   1                      SendDat(DataPack.iStart[1]);
 204   1      
 205   1                      SendDat(DataPack.cLength[0]);    //长度    000b
 206   1              SendDat(DataPack.cLength[1]);
 207   1      
 208   1                      
 209   1                      SendDat(DataPack.iDestNum[0]);        //目的站编号,    2    4000
 210   1              SendDat(DataPack.iDestNum[1]);
 211   1                      
 212   1                      SendDat(DataPack.iSourceNum[0]);      //源站编号                2    0001
 213   1              SendDat(DataPack.iSourceNum[1]);
 214   1                      
 215   1                      SendDat(DataPack.cPackageType);      //包类型=2Bh      1    21
 216   1              SendDat(DataPack.cPackageCtrl);      //包控制要求       1    00
 217   1              
 218   1                      SendDat(DataPack.iCmdSequenceNum[0]); //应答序列编号 2     0000
 219   1                      SendDat(DataPack.iCmdSequenceNum[1]);
 220   1      
 221   1                      
 222   1                
 223   1      
 224   1      //传送数据
 225   1      ////////////////////////////////////////////////////////////////////////////////////////////
 226   1              SendDat(DataPack.cTData[0]);        //温度数据,2个字节   先送高位 后送低位   
 227   1              SendDat(DataPack.cTData[1]);
 228   1                 
 229   1                  SendDat(DataPack.cHData);           //湿度数据,1个字节
 230   1      ////////////////////////////////////////////////////////////////////////////////////////////       
 231   1               
 232   1              
 233   1                  
 234   1                      SendDat(DataPack.iFcs[0]);        //校验FCS 1234
 235   1                      SendDat(DataPack.iFcs[1]);
 236   1      
 237   1                      SendDat(DataPack.iEnd[0]);        //结束符 0D0A
 238   1                      SendDat(DataPack.iEnd[1]); 
 239   1                        
 240   1      }
 241          
C51 COMPILER V8.02   YJ                                                                    06/20/2007 13:39:50 PAGE 5   

 242          void main()
 243          {       
 244   1                  uint  TemperatureData;
 245   1                      uchar TemperatureMSB;
 246   1                      uchar TemperatureLSB;
 247   1                      uchar ADValue;
 248   1              
 249   1                  LED = 0;   //初始化LED口
 250   1                      
 251   1                      InitRXD();//初始化串行口并开启中断 
 252   1                      InitT0();//初始化定时器0
 253   1                                         
 254   1                      DataPack.lHead[0]=0x00;  //前导   00000000
 255   1                      DataPack.lHead[1]=0x00;
 256   1                      DataPack.lHead[2]=0x00;
 257   1                      DataPack.lHead[3]=0x00;
 258   1                      
 259   1                      DataPack.iStart[0]=0x02;         //起始位    02A6
 260   1                      DataPack.iStart[1]=0xA6;
 261   1      
 262   1                      DataPack.cLength[0]=0x00;        //长度    000b
 263   1              DataPack.cLength[1]=0x0b;
 264   1                      
 265   1                      DataPack.iDestNum[0]=0x40;        //目的站编号,        2    4000
 266   1              DataPack.iDestNum[1]=0x00;
 267   1                      
 268   1                      DataPack.iSourceNum[0]=0x00;      //源站编号            2    0001
 269   1              DataPack.iSourceNum[1]=0x01;
 270   1                      
 271   1                      DataPack.cPackageType=0x21;      //包类型=2Bh  1    21
 272   1              DataPack.cPackageCtrl=0x00;      //包控制要求   1    00
 273   1              
 274   1                      DataPack.iCmdSequenceNum[0]=0x00; //应答序列编号 2     0000
 275   1                      DataPack.iCmdSequenceNum[1]=0x00;
 276   1      
 277   1              
 278   1                  
 279   1                      DataPack.iFcs[0]=0x12;        //校验FCS 1234
 280   1                      DataPack.iFcs[1]=0x34;
 281   1      
 282   1                      DataPack.iEnd[0]=0x0D;        //结束符 0D0A
 283   1                      DataPack.iEnd[1]=0x0A; 
 284   1      
 285   1              while(1)
 286   1              {         
 287   2                 
 288   2                 ADValue = ADConv();//得到湿度数据
 289   2                 
 290   2                 TemperatureData=ReadTemperature();//得到温度数据
 291   2                 TemperatureLSB=TemperatureData&0xFF;
 292   2                 TemperatureMSB=(TemperatureData>>8)&0xFF;
 293   2      
 294   2                 DataPack.cTData[0]=TemperatureMSB;        //温度数据,2个字节.   先送高位,后送低位   
 295   2             DataPack.cTData[1]=TemperatureLSB;
 296   2                 
 297   2                 DataPack.cHData=ADValue;           //湿度数据,1个字节
 298   2                 
 299   2                 if( command==0x20 ) 
 300   2             
 301   2                    {
 302   3                            PutOutData();  
 303   3                                command=0;
C51 COMPILER V8.02   YJ                                                                    06/20/2007 13:39:50 PAGE 6   

 304   3                        }   
 305   2      
 306   2               
 307   2              }
 308   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    952    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     35      65
   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 + -