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

📄 main.lst

📁 单片机at89s52,模数ad7705采集压力,数码管显示驱动ch452,用于测试油箱盖气密性等
💻 LST
📖 第 1 页 / 共 3 页
字号:
 235   3                              {
 236   4                                      temp=value_buf[i-1];
 237   4                                      value_buf[i-1]=value_buf[i];
 238   4                                      value_buf[i]=temp;
 239   4                              }
 240   3                      }
C51 COMPILER V7.01  MAIN                                                                   05/26/2009 13:59:49 PAGE 5   

 241   2              }
 242   1      
 243   1              return value_buf[(FILTER_N-1)/2];
 244   1      }
 245          void dispdata(bit dispflag)
 246          {
 247   1              uint temp;
 248   1              if(dispflag)
 249   1              {
 250   2              voltage=2.5*(data_out/65536.0);     
 251   2              delay1(100);
 252   2      
 253   2              temp=(uint)(voltage*1000);
 254   2              displaybuf[0]=(uchar)voltage;
 255   2              displaybuf[1]=(temp%1000)/100; 
 256   2              displaybuf[2]=((temp%1000)%100)/10;
 257   2              displaybuf[3]=((temp%1000)%100)%10;
 258   2      
 259   2              CH452_Write(CH452_DIG0 | displaycode[displaybuf[0]]|0x80);
 260   2              CH452_Write(CH452_DIG1 | displaycode[displaybuf[1]]);
 261   2              CH452_Write(CH452_DIG2 | displaycode[displaybuf[2]]);
 262   2              CH452_Write(CH452_DIG3 | displaycode[displaybuf[3]]);           
 263   2              }
 264   1              else
 265   1              {
 266   2          CH452_Write(CH452_DIG0 | displaycode[17]);  
 267   2          CH452_Write(CH452_DIG1 | displaycode[17]);   
 268   2          CH452_Write(CH452_DIG2 | displaycode[17]);   
 269   2          CH452_Write(CH452_DIG3 | displaycode[17]); 
 270   2          delay1(100);
 271   2              }
 272   1      }
 273          void main()
 274          {
 275   1              unsigned char fsm_key=0;
 276   1              unsigned char kbd_col;
 277   1              unsigned char kbd_row;
 278   1              unsigned char key_val;
 279   1              
 280   1              TMOD=0x11;
 281   1              TCON=0x15;
 282   1              IE=0x82;
 283   1      
 284   1              P0=0xff;
 285   1              P1=0x00;
 286   1              P2=0x00;
 287   1      
 288   1              CH452_Write(CH452_RESET);
 289   1          delay1(30);  
 290   1          CH452_Write(CH452_SYSON2);  
 291   1          CH452_Write(CH452_DIG0 | displaycode[17]);  
 292   1          CH452_Write(CH452_DIG1 | displaycode[17]);   
 293   1          CH452_Write(CH452_DIG2 | displaycode[17]);   
 294   1          CH452_Write(CH452_DIG3 | displaycode[17]);   
 295   1          delay1(100); 
 296   1      
 297   1              MX7705_Init();   
 298   1              while(1)
 299   1              {
 300   2                      if(Timerout)
 301   2                      {
 302   3                              Timerout=0;
C51 COMPILER V7.01  MAIN                                                                   05/26/2009 13:59:49 PAGE 6   

 303   3                              switch(fsm_key)
 304   3                              {
 305   4                              case 0:
 306   4                                      fsm_key=FSM_WAIT_PRESS;
 307   4                                      break;
 308   4                              case 1:
 309   4                                      if(keypress)
 310   4                                      {
 311   5                                              key_val=0;
 312   5                                              kbd_col=0;
 313   5                                              if(!PBTN)
 314   5                                              {
 315   6                                                      PBTN=1;
 316   6                                                      kbd_col=1;
 317   6                                                      fsm_key=FSM_VERFY1;
 318   6                                              } else if(!NBTN)
 319   5                                              {
 320   6                                                      NBTN=1;
 321   6                                                      kbd_col=2;
 322   6                                                      fsm_key=FSM_VERFY1;
 323   6                                              } else if(!RSTBTN)
 324   5                                              {
 325   6                                                      RSTBTN=1;
 326   6                                                      kbd_col=3;
 327   6                                                      fsm_key=FSM_VERFY1;
 328   6                                              }
 329   5                                              else
 330   5                                              {
 331   6                                                      fsm_key=FSM_INIT;
 332   6                                              }
 333   5                                      }
 334   4                                      break;
 335   4                              case 2:
 336   4                                      if(!PBTN)
 337   4                                      {
 338   5                                              fsm_key=FSM_VERFY2;
 339   5                                      }
 340   4                                      else if(!NBTN)
 341   4                                      {
 342   5                                              fsm_key=FSM_VERFY2;
 343   5                                      }
 344   4                                      else if(!RSTBTN)
 345   4                                      {
 346   5                                              fsm_key=FSM_VERFY2;
 347   5                                      }
 348   4                                      else
 349   4                                      {
 350   5                                              fsm_key=FSM_INIT;
 351   5                                      }
 352   4                                      break;                                  
 353   4                              case 3:
 354   4                                      if(!PBTN)
 355   4                                      {
 356   5                                              key_val=kbd_col;
 357   5                                              if(!alarm&&!pmode&&!nmode)
 358   5                                              {
 359   6                                                      pmode=1;
 360   6                                                      istep=0;
 361   6                                              }
 362   5                                      }
 363   4                                      else if(!NBTN)
 364   4                                      {
C51 COMPILER V7.01  MAIN                                                                   05/26/2009 13:59:49 PAGE 7   

 365   5                                              key_val=kbd_col;
 366   5                                              if(!alarm&&!nmode&&!pmode)
 367   5                                              {
 368   6                                                      nmode=1;
 369   6                                                      istep=0;
 370   6                                              }
 371   5                                      }
 372   4                                      else if(!RSTBTN)
 373   4                                      {
 374   5                                              key_val=kbd_col;
 375   5                                              if(!rstmode) rstmode=1;
 376   5                                      }
 377   4                                      fsm_key=FSM_WAIT_RELEASE;
 378   4                                      break;
 379   4                              case 4:
 380   4                                      if(!keypress)
 381   4                                      {
 382   5                                              fsm_key=FSM_INIT;
 383   5                                      }
 384   4                                      break;
 385   4                              default:
 386   4                                      fsm_key=FSM_INIT;
 387   4                                      break;
 388   4                              }
 389   3                      }
 390   2                      
 391   2                      data_out=filter2(); 
 392   2                      if(!RSTBTN)   
 393   2                      {   
 394   3                      if(disp_updata)
 395   3                          {
 396   4                                      disp_updata=0;  
 397   4                                      dispdata(1);
 398   4                              }
 399   3                      }
 400   2                      
 401   2                      if(istep==0)
 402   2                      {
 403   3                              keepcnt=20;
 404   3                              itimeover=600;
 405   3                              keepok=0;
 406   3                              btimeover=0;
 407   3                              if(pmode)
 408   3                              {
 409   4                                      istep=1;
 410   4                              }
 411   3                              
 412   3                              if(nmode)
 413   3                              {
 414   4                                      istep=7;
 415   4                              }
 416   3      
 417   3                      }
 418   2                      else if(istep==1)
 419   2                      {
 420   3      
 421   3                              vHigh=0;
 422   3                              vLow=1;
 423   3                              vDir=0;
 424   3                              lOk=0;
 425   3                              lErr=0;
 426   3                              buzzer=0;
C51 COMPILER V7.01  MAIN                                                                   05/26/2009 13:59:49 PAGE 8   

 427   3                              if(keepok)
 428   3                              {
 429   4                                      if(data_out>PP3_63k)
 430   4                                      {
 431   5                                              keepcnt=600;
 432   5                                              keepok=0;
 433   5                                              itimeover=600;
 434   5                                              btimeover=0;
 435   5                                              istep=2;
 436   5                                      }
 437   4                                      if(btimeover)
 438   4                                      {
 439   5                                              itimeover=600;
 440   5                                              btimeover=0;
 441   5                                              istep=10;
 442   5                                      }
 443   4                              }
 444   3                      }
 445   2                      else if(istep==2)
 446   2                      {
 447   3                              vHigh=0;
 448   3                              vLow=0;
 449   3                              vDir=0;
 450   3                              lOk=0;
 451   3                              lErr=0;
 452   3                              buzzer=0;
 453   3                              if(keepok)
 454   3                              {
 455   4                                      if(data_out>PP3_04k)
 456   4                                      {
 457   5                                              keepcnt=20;
 458   5                                              keepok=0;
 459   5                                              itimeover=600;
 460   5                                              btimeover=0;
 461   5                                              istep=3;
 462   5                                      }
 463   4                                      else
 464   4                                      {
 465   5                                              if((data_out<PP3_04k)||(data_out>PP3_63k))
 466   5                                              {
 467   6                                                      istep=10;
 468   6                                              }
 469   5                                      }
 470   4                                      if(btimeover)
 471   4                                      {
 472   5                                              btimeover=0;
 473   5                                              itimeover=600;
 474   5                                              istep=10;
 475   5                                      }
 476   4                              }

⌨️ 快捷键说明

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