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

📄 test.lst

📁 此程序用于恒温箱控制
💻 LST
📖 第 1 页 / 共 2 页
字号:
 201   1              AUXR=0x01; //ALE IS common 
 202   1      }
 203           
 204          void Clear_rcv_buff()
 205          {
 206   1              uchar i;
 207   1              for(i=0;i<BUFF_LEN;i++) rcv_buff[i]=0;
 208   1                      rcv_point=0;///add,03-8-22
 209   1      }
 210          void putunchar (uchar c)///mod,03-8-22,自定义printf///mod,03-9-9可能更可靠
 211          {
 212   1               TI = 0; 
 213   1               ES=0;///add,03-8-22,最后一次使用完需ES=1
 214   1               SBUF = c;
 215   1               while (!TI);
 216   1                ES=1;
 217   1      }
 218          void int_0() interrupt 0 using 3 
 219            {
 220   1           EX0=0;
 221   1           ctrcool_bit=1;
 222   1           P22=1;
*** ERROR C202 IN LINE 222 OF TEST.C: 'P22': undefined identifier
 223   1        
 224   1        }
 225          void int_1() interrupt 2 using 3 
 226            {
 227   1           EX1=0;
 228   1        //  cool2_bit=1;
 229   1          
 230   1        }  
 231          void T0_int() interrupt 1 using 2
 232          {       TR0=0;
 233   1              TH0=TH0+0x4c;//TL0=0xe0; // T0=5ms
 234   1              t50ms++;
 235   1               
 236   1              if(t50ms>=20)
 237   1              {
C51 COMPILER V7.07   TEST                                                                  04/18/2005 16:58:05 PAGE 5   

 238   2                      t50ms=0;
 239   2                      t1s1++;
 240   2                      t1s2++;
 241   2               
 242   2                       
 243   2                       
 244   2              }
 245   1               
 246   1              TR0=1;
 247   1      }
 248          void UART() interrupt 4 using 1
 249          {
 250   1              uchar   i;
 251   1              if(TI) TI=0;
 252   1              if(RI)
 253   1              {
 254   2                      RI=0;           
 255   2                              if(rcv_point < BUFF_LEN )
 256   2                              {
 257   3                                      rcv_buff[rcv_point]=SBUF;
 258   3                                      rcv_point++;                    
 259   3                              }
 260   2                              else
 261   2                              {
 262   3                                      for(i=0;i<(BUFF_LEN-1);i++) rcv_buff[i]=rcv_buff[i+1];
 263   3                                              rcv_buff[BUFF_LEN-1]=SBUF;              
 264   3                              }
 265   2                                                      
 266   2                               
 267   2                               if(rcv_buff[rcv_point-1]=='#') 
 268   2                               {
 269   3                               
 270   3                                       data_bit=1;    
 271   3                              }               
 272   2              }
 273   1      }
 274          void x9318(bit ud, uchar dat)
 275            {
 276   1          CS=0;
 277   1          if(ud) UD=1;//为UP
 278   1           else  UD=0;//为DOWN
 279   1            
 280   1              for(;dat>0;dat--) 
 281   1              {
 282   2                INC=1;
 283   2                delay(1);
 284   2                INC=0;
 285   2                 delay(1);
 286   2               } 
 287   1               INC=1;
 288   1               delay(1);
 289   1                CS=1;
 290   1                      
 291   1        }
 292          void delay(uint dat)
 293           { 
 294   1        
 295   1               uchar i;
 296   1              while(dat--)
 297   1              {
 298   2                      WDT=1;
 299   2                      for(i=0;i<120;i++)
C51 COMPILER V7.07   TEST                                                                  04/18/2005 16:58:05 PAGE 6   

 300   2                      {;}
 301   2              }
 302   1        
 303   1       }
 304          uchar rcv_serch(uchar *serch)
 305          {
 306   1              uchar i,j,k,lenth;
 307   1              lenth=strlen(serch);
 308   1              for(i=0;i<(BUFF_LEN-lenth);i++)
 309   1              {
 310   2                      k=0;
 311   2                      for(j=0;j<lenth;j++)
 312   2                      {
 313   3                              if(rcv_buff[i+j]==serch[j]) k=k+1;
 314   3                      }
 315   2                      if(k==lenth) return i;
 316   2              }
 317   1              i=BUFF_LEN+2;
 318   1              return i;
 319   1      }        
 320          void  rcv_data() 
 321            {     
 322   1              uchar i,k,temp;    
 323   1               uint j;
 324   1              delay(1000);
 325   1               WDT=1;
 326   1              REST_DOG();
 327   1              data_bit=0;
 328   1              i=rcv_serch("H");         
 329   1              if(i>BUFF_LEN) {       Clear_rcv_buff() ;    return;    }
 330   1              ES=0;
 331   1              temp=rcv_buff[i+1];     
 332   1              pr[k]=0;        
 333   1                   putunchar (temp); 
 334   1                  tem_value1=temp;             
 335   1                  write_7416T( 0,0x02,tem_value1 );
 336   1                 write_7416T( 0,0x03,tem_value1+6);
 337   1                  Byte_Write(0,1,temp);       
 338   1                   j=read_7416(0x00);
 339   1                 if(j>tem_value1)
 340   1                 {
 341   2                   ctrcool_bit=1;P22=1;ctrheat_bit=0;            
*** ERROR C202 IN LINE 341 OF TEST.C: 'P22': undefined identifier
 342   2                 }
 343   1                 else 
 344   1                 {
 345   2                      ctrheat_bit=1;ctrcool_bit=0;P22=0;EX0=0;
*** ERROR C202 IN LINE 345 OF TEST.C: 'P22': undefined identifier
 346   2                 }
 347   1                  x9318(0, 100); 
 348   1                   heat_value=0;
 349   1               putunchar ('K');
 350   1                ES=1;         
 351   1               Clear_rcv_buff(); 
 352   1       }
 353          void reset_5045()
 354            { 
 355   1              uchar i;
 356   1              for(i=0;i<9;i++)
 357   1               {
 358   2               Byte_Write(0,i,0);     
 359   2               }      
C51 COMPILER V7.07   TEST                                                                  04/18/2005 16:58:05 PAGE 7   

 360   1               Byte_Write(0,10,10);   
 361   1                x9318(0,100);
 362   1         }    
 363          
 364          
 365          /*====================================================================================================
 366             PID计算部分
 367          =====================================================================================================*/
 368          
 369          /*uchar  PIDCalc( PID *pp, uint NextPoint )
 370          {
 371              int  dError,
 372                      Error;
 373               unsigned long pid_value;
 374                  Error = pp->SetPoint -  NextPoint;          // 偏差
 375                  pp->SumError += Error;                      // 积分
 376                  dError =  Error-pp->LastError ;     // 当前微分
 377                   
 378                  pp->LastError = Error;
 379                  pid_value=100*(pp->Proportion * Error+ pp->Integral * pp->SumError 
 380                           + pp->Derivative * dError )/5600;
 381                    if( pid_value <0)   pid_value=0;
 382                     if(pid_value >95) pid_value=96;
 383                   return (uchar)pid_value;
 384               
 385          }/*
 386          
 387          /*====================================================================================================
 388             Initialize PID Structure
 389          =====================================================================================================*/
 390          
 391          /*void PIDInit (PID *pp)
 392          {
 393              memset ( pp,0,sizeof(PID));
 394          }*/
 395          
 396          /*====================================================================================================
 397              Main Program
 398          =====================================================================================================*/
 399          
 400           
 401          
 402           
 403           
 404           
 405           

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

⌨️ 快捷键说明

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