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

📄 wsd2.lst

📁 湿度采集模块
💻 LST
📖 第 1 页 / 共 3 页
字号:
 204   1              while (i>0) i--;                                         
 205   1      }                                                                
 206          /*************读一位*****************/
 207          bit tmrbit (void)                                                        
 208          {                                                                
 209   1              unsigned int i;                                          
 210   1              bit dat;                                                 
*** ERROR C141 IN LINE 210 OF WSD2.C: syntax error near '30'
 211   1              TMDAT = 0; i++;                                          
*** ERROR C202 IN LINE 211 OF WSD2.C: 'TMDAT': undefined identifier
 212   1              TMDAT = 1; i++; i++;            //微量延时                       
*** ERROR C202 IN LINE 212 OF WSD2.C: 'TMDAT': undefined identifier
 213   1              dat = TMDAT;                                                     
*** ERROR C202 IN LINE 213 OF WSD2.C: 'TMDAT': undefined identifier
 214   1              i = 8; while (i>0) i--;         // 延时                          
 215   1              return (dat);                                            
 216   1      }                                                                
 217          /************** 读一个字节****************/
 218          unsigned char tmrbyte (void)                                     
 219          {                                                                        
 220   1              unsigned char i,j,dat;                                           
*** ERROR C141 IN LINE 220 OF WSD2.C: syntax error near '30'
 221   1              dat = 0;                                                         
 222   1              for (i=1;i<=8;i++)                                               
*** ERROR C231 IN LINE 222 OF WSD2.C: 'i': redefinition
*** ERROR C231 IN LINE 222 OF WSD2.C: 'i': redefinition
 223   1              {                                                                
 224   1                      j = tmrbit ();                                           
*** ERROR C231 IN LINE 224 OF WSD2.C: 'j': redefinition
 225   1                      dat = (j << 7) | (dat >> 1);                             
 226   1              }                                                                
 227                  return (dat);                                    
*** ERROR C141 IN LINE 227 OF WSD2.C: syntax error near 'return'
*** ERROR C141 IN LINE 227 OF WSD2.C: syntax error near '30'
 228          }                                                                
 229          /************写一个字节****************/
C51 COMPILER V7.20   WSD2                                                                  11/03/2004 13:33:32 PAGE 5   

 230          void tmwbyte (unsigned char dat)                                 
*** ERROR C141 IN LINE 230 OF WSD2.C: syntax error near '30'
 231          {                                                                
 232   1              unsigned int i;                                          
 233   1              unsigned char j;                                         
 234   1              bit testb;                                               
 235   1              for (j=1;j<=8;j++)                                       
 236   1              {                                                                
 237   2                      testb = dat & 0x01;                              
 238   2                      dat = dat >> 1;                                  
 239   2                      if (testb)                                       
 240   2                      {                                                
 241   3                              TMDAT = 0;                           // 写0      
*** ERROR C202 IN LINE 241 OF WSD2.C: 'TMDAT': undefined identifier
 242   3                              i++; i++;                                
 243   3                              TMDAT = 1;                               
*** ERROR C202 IN LINE 243 OF WSD2.C: 'TMDAT': undefined identifier
 244   3                              i = 8; while (i>0) i--;                  
 245   3                      }                                                        
 246   2                      else                                                     
 247   2                      {                                                        
 248   3                              TMDAT = 0;                           // 写0  
*** ERROR C202 IN LINE 248 OF WSD2.C: 'TMDAT': undefined identifier
 249   3                              i = 8; while (i>0) i--;                  
 250   3                              TMDAT = 1;                               
*** ERROR C202 IN LINE 250 OF WSD2.C: 'TMDAT': undefined identifier
 251   3                              i++; i++;                                
 252   3                      }                                                        
 253   2              }                                                                
 254   1      }                                                                
 255          /*************发送ds1820 开始转换*****************/
 256          void tmstart (void)                                              
 257          {                                                                
 258   1              tmreset ();             //复位                           
 259   1              //tmpre ();             //等待存在脉冲                   
 260   1              dmsec (1);              //延时                                   
 261   1              tmwbyte (0xcc);         //跳过序列号命令,对所有器件有效  
 262   1              tmwbyte (0x44);         //发转换命令 44H,                
 263   1      }                                                                
 264          /****************读取温度*******************/
 265          void tmrtemp ()                                                          
 266          {                                                                        
 267   1              uchar i,j;                                                       
 268   1              uchar a,b;                                                       
 269   1              for(j=0;j<4;j++)                                                 
 270   1              {                                                
 271   2                      tmreset();              //复位                           
 272   2                      dmsec(1);               //延时                   
 273   2                      tmwbyte(0x55);  //发送ROM匹配命令        
 274   2                      for(i=0;i<8;i++)                                 
 275   2                      {                                                        
 276   3                              tmwbyte(SN[j][i]);      //发送64位序列号 
 277   3                      }                                                       //
 278   2                      tmwbyte (0xbe);         //发送读取命令           
 279   2                      a = tmrbyte ();         //连续读取两位温度       
 280   2                      b = tmrbyte ();  
 281   2                      wdz=b|a;                                        
 282   2              if((wdz>>15)==1)
 283   2              {wdz=~wdz;}
 284   2              wdz=((0x0ff0&wdz)>>4)*10+((0x0f&wdz)*6/10);
 285   2              if(wdz>1260){wdz=0;}
 286   2              TMP[j]=wdz;
C51 COMPILER V7.20   WSD2                                                                  11/03/2004 13:33:32 PAGE 6   

 287   2              }                                                                
 288   1      }                                                                                                                                                                                                
 289          /*-------------------------------*/
 290          uchar RDSDZ(void)
 291          {uchar i=0,z=0;
 292   1      static uchar a,S1,S2,S3;
 293   1      while(z<100)
 294   1       {
 295   2       if(plz<SDTAB[i]){i++;}
 296   2       else{z=101;}
 297   2       }
 298   1      a++;
 299   1      if(a>4){a=1;}
 300   1      switch(a)
 301   1           {
 302   2            case 1: S1=i;     break;  // 
 303   2            case 2: S2=i;     break;  // 
 304   2                case 3: S3=i;     break;  // 
 305   2                default: 
 306   2                SOUT=((S1+S2+S3)/3);     
 307   2                break;  // 
 308   2           }
 309   1      return SOUT;
 310   1      }
 311          //-----------------------------
 312          void AJ(void)
 313          {uchar a,b,c;
 314   1       uint Collect;
 315   1       static uint Coll,Collect1;
 316   1       if(K1=1,K1==0)
 317   1         {
 318   2        db1=0;         //关闭小数点
 319   2        while(~K1)
 320   2        {
 321   3         if(K4=1,K4==0){db1=1;d25045(2);x0=0;}
 322   3         else x0=1;
 323   3         }
 324   2              b++;
 325   2              if(b>6){b=1;}
 326   2              switch(b)
 327   2             {
 328   3                case 1:  a=xs1[0];               break;
 329   3                case 2:  a=xs1[1];               break;
 330   3                    case 3:  a=xs1[2];               break;
 331   3                        case 4:  a=xs1[3];c=xs1[6];      break;
 332   3                case 5:  a=xs1[4];c=xs1[7];      break;
 333   3                        case 6:  a=xs1[5];               break;
 334   3             }
 335   2              delay1(300);
 336   2         }
 337   1       if(x0==1)
 338   1        {
 339   2        if(K2=1,K2==0)
 340   2         {
 341   3         a++;
 342   3         x0=1;
 343   3         delay1(80);
 344   3         }
 345   2        if(K3=1,K3==0)
 346   2         {
 347   3         a--;
 348   3         x0=1;
C51 COMPILER V7.20   WSD2                                                                  11/03/2004 13:33:32 PAGE 7   

 349   3         delay1(80);
 350   3         }
 351   2        if(K4=1,K4==0)
 352   2         {
 353   3         c=~c;
 354   3         delay1(80);
 355   3         }
 356   2         if(b==1)
 357   2         {
 358   3          if(a>100){a=0;}
 359   3          TAB[0]=10;
 360   3          TAB[1]=a/100;
 361   3          TAB[2]=a%100/10;
 362   3          TAB[3]=a%100%10;
 363   3              xs1[0]=a;    //湿度上线
 364   3         }
 365   2         if(b==2) 
 366   2          {
 367   3              if(a>100){a=0;}
 368   3              TAB[0]=12;
 369   3              TAB[1]=a/100;
 370   3          TAB[2]=a%100/10;
 371   3          TAB[3]=a%100%10;
 372   3              xs1[1]=a;   //湿度下线
 373   3              }
 374   2         if(b==3) 
 375   2          {
 376   3              if(a>20){a=0;}
 377   3              TAB[0]=13;
 378   3              TAB[1]=14;
 379   3          TAB[2]=a%100/10;
 380   3          TAB[3]=a%100%10;
 381   3              xs1[2]=a;
 382   3              }
 383   2              if(b==4) 
 384   2          {
 385   3              if(a>125){a=0;}
 386   3              TAB[4]=10;
 387   3              if(c==0){TAB[5]=11;if(a>55){a=0;}}
 388   3              else TAB[5]=a/100;
 389   3          TAB[6]=a%100/10;
 390   3          TAB[7]=a%100%10;
 391   3              xs1[3]=a;      //温度上线
 392   3          xs1[6]=c;
 393   3              }
 394   2              if(b==5) 
 395   2          {
 396   3              if(a>125){a=0;}
 397   3              TAB[4]=12;
 398   3              if(c==0){TAB[5]=11;if(a>55){a=0;}}
 399   3              else TAB[5]=a/100;
 400   3          TAB[6]=a%100/10;
 401   3          TAB[7]=a%100%10;
 402   3              xs1[4]=a;     //温度下线

⌨️ 快捷键说明

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