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

📄 ii.lst

📁 完整的电波钟源码,采用MSC51单片机,C语言编写的高质量程序!
💻 LST
📖 第 1 页 / 共 2 页
字号:
 317          {
 318   1      MCLK=0;
 319   1      
 320   1      }
 321          //===============================================
 322          void MCLKOff(void)
 323          {
 324   1      MCLK=1;
 325   1      }
 326          //===============================================
 327          void ReadTemperaturePreesureAD(void)
 328          {
 329   1      long uiSumADValue;
 330   1       uiSumADValue = 0;
 331   1      IIC_XCLR_HIGH();
 332   1      MCLKOn();
 333   1      SysDelay2ms(1);
 334   1      
 335   1      D1 = IIC_ReadPressureAD();
 336   1      uiSumADValue += D1;
 337   1      D1 = IIC_ReadPressureAD();
 338   1      uiSumADValue += D1;
 339   1      D1 = IIC_ReadPressureAD();
 340   1      uiSumADValue += D1;
 341   1      D1 = IIC_ReadPressureAD();
 342   1      uiSumADValue += D1;
 343   1      D1 = uiSumADValue >>2;
 344   1      
 345   1      D2 = IIC_ReadTempretureAD();
 346   1      uiSumADValue =0;// D2;
 347   1      D2 = IIC_ReadTempretureAD();
 348   1      uiSumADValue += D2;
 349   1      D2 = IIC_ReadTempretureAD();
 350   1      uiSumADValue += D2;
 351   1      D2 = IIC_ReadTempretureAD();
 352   1      uiSumADValue += D2;
 353   1      D2 = uiSumADValue/3 ;//>>2;
 354   1      
 355   1      SDA=0;
 356   1      SCL=0;
 357   1      MCLKOff();
 358   1      IIC_XCLR_LOW();
 359   1      }
 360          //===============================================
 361          unsigned int IIC_ReadTempretureAD(void)
C51 COMPILER V7.06   II                                                                    09/11/2008 17:46:03 PAGE 7   

 362          {
 363   1      unsigned char ucData;
 364   1      unsigned int wADT;
 365   1      
 366   1      //do{
 367   1      IIC_Start();
 368   1      IIC_WriteByte(0xEE);
 369   1      Test_Ack();
*** WARNING C209 IN LINE 369 OF II.C: '_Test_Ack': too few actual parameters
 370   1      // }
 371   1      //while(!(Test_Ack()==0)); 
 372   1      IIC_WriteByte(0xff);
 373   1      Test_Ack();
*** WARNING C209 IN LINE 373 OF II.C: '_Test_Ack': too few actual parameters
 374   1      IIC_WriteByte(0xE8);//(0xd0);//0xE8);
 375   1      Test_Ack();
*** WARNING C209 IN LINE 375 OF II.C: '_Test_Ack': too few actual parameters
 376   1      IIC_Stop();
 377   1      SysDelay2ms(20);
 378   1      
 379   1      IIC_Start();
 380   1      IIC_WriteByte(0xEE);
 381   1      Test_Ack();
*** WARNING C209 IN LINE 381 OF II.C: '_Test_Ack': too few actual parameters
 382   1      IIC_WriteByte(0xFD);
 383   1      Test_Ack();
*** WARNING C209 IN LINE 383 OF II.C: '_Test_Ack': too few actual parameters
 384   1      IIC_Start();
 385   1      IIC_WriteByte(0xEF);
 386   1      Test_Ack();
*** WARNING C209 IN LINE 386 OF II.C: '_Test_Ack': too few actual parameters
 387   1      
 388   1      ucData = IIC_ReadByte();
 389   1      IIC_ACK();
 390   1      // UartSend(CCC);
 391   1      wADT = ucData;
 392   1      wADT <<= 8;
 393   1      
 394   1      ucData = IIC_ReadByte();
 395   1      IIC_NoAck();
 396   1      IIC_Stop();
 397   1      wADT |= ucData;
 398   1      //UartSend(DD);
 399   1      return wADT;
 400   1      }
 401          //===============================================
 402          unsigned int IIC_ReadPressureAD(void)
 403          {
 404   1      unsigned char ucData;
 405   1      unsigned int wADp;
 406   1      //do{
 407   1      IIC_Start();
 408   1      IIC_WriteByte(0xEE);
 409   1      //Test_Ack();
 410   1       // }
 411   1      //while(!(Test_Ack()==0));
 412   1      //do{
 413   1      IIC_WriteByte(0xff);
 414   1       //Test_Ack();
 415   1      //  }
 416   1      //while(!(Test_Ack()==0)); 
 417   1      //do{
C51 COMPILER V7.06   II                                                                    09/11/2008 17:46:03 PAGE 8   

 418   1      IIC_WriteByte(0xF0);
 419   1      //Test_Ack();
 420   1       // }
 421   1      //while(!(Test_Ack()==0)); 
 422   1      IIC_Stop();
 423   1      SysDelay2ms(20);
 424   1      
 425   1      //do{
 426   1      IIC_Start();
 427   1      IIC_WriteByte(0xEE);
 428   1      Test_Ack();
*** WARNING C209 IN LINE 428 OF II.C: '_Test_Ack': too few actual parameters
 429   1      // }
 430   1      //while(!(Test_Ack()==0)); 
 431   1      //do{
 432   1      IIC_WriteByte(0xFD);
 433   1      Test_Ack();
*** WARNING C209 IN LINE 433 OF II.C: '_Test_Ack': too few actual parameters
 434   1       // }
 435   1      //while(!(Test_Ack()==0)); 
 436   1      //do{
 437   1      IIC_Start();
 438   1      IIC_WriteByte(0xEF);
 439   1      Test_Ack();
*** WARNING C209 IN LINE 439 OF II.C: '_Test_Ack': too few actual parameters
 440   1      //  }
 441   1      //while(!(Test_Ack()==0)); 
 442   1      ucData = IIC_ReadByte();
 443   1      IIC_ACK();
 444   1      wADp = ucData;
 445   1      wADp <<=8;
 446   1      //UartSend(AA);
 447   1      
 448   1      ucData = IIC_ReadByte();
 449   1      IIC_NoAck();
 450   1      IIC_Stop();
 451   1      wADp |= ucData;
 452   1      
 453   1      //UartSend(BB);
 454   1      
 455   1      return wADp;
 456   1      
 457   1      }
 458          //===============================================
 459          unsigned char IIC_ReadByte(void)
 460          {
 461   1      unsigned char ucValue;
 462   1      unsigned char ucIndex;
 463   1      
 464   1      IIC_SDA_HIGH();
 465   1      SysDelay(DELAY10US);
 466   1      for ( ucIndex = 0; ucIndex < 8; ucIndex++ )
 467   1      {
 468   2      ucValue <<= 1;
 469   2      IIC_SCL_LOW();
 470   2      SysDelay(DELAY10US);
 471   2      IIC_SCL_HIGH();
 472   2      SysDelay(DELAY10US);
 473   2      if(SDA)
 474   2      ucValue |=1;
 475   2      SysDelay(DELAY10US);
 476   2      
C51 COMPILER V7.06   II                                                                    09/11/2008 17:46:03 PAGE 9   

 477   2      IIC_SCL_LOW();
 478   2      SysDelay(DELAY10US);
 479   2      
 480   2      }
 481   1      return ucValue;
 482   1      }
 483          //===============================================
 484          void IIC_WriteByte( unsigned char ucData )
 485          {
 486   1      unsigned char i;
 487   1      for( i = 0; i < 8; i++ )
 488   1      {
 489   2      IIC_SCL_LOW();
 490   2      SysDelay(DELAY10US);
 491   2      if((ucData & 0x80) == 0x80)
 492   2      {
 493   3      IIC_SDA_HIGH();
 494   3      SysDelay(DELAY10US);
 495   3      }
 496   2      else
 497   2      {
 498   3      IIC_SDA_LOW();
 499   3      SysDelay(DELAY10US);
 500   3      }
 501   2      
 502   2      
 503   2      IIC_SCL_HIGH();
 504   2      SysDelay(DELAY10US);
 505   2      ucData <<= 1;
 506   2      IIC_SCL_LOW();
 507   2      }
 508   1      
 509   1      IIC_SDA_HIGH();
 510   1      SysDelay(DELAY10US);
 511   1      IIC_SCL_LOW();
 512   1      SysDelay(DELAY10US);
 513   1      IIC_SCL_HIGH();
 514   1      SysDelay(DELAY10US);
 515   1      IIC_SCL_LOW();
 516   1      SysDelay(DELAY10US);
 517   1      }
 518          //===============================================
 519          void IIC_Start(void)
 520          {
 521   1      IIC_SDA_HIGH();
 522   1      SysDelay(DELAY10US);
 523   1      IIC_SCL_HIGH();
 524   1      SysDelay(DELAY10US);
 525   1      IIC_SDA_LOW();
 526   1      SysDelay(DELAY10US);
 527   1      
 528   1      IIC_SCL_LOW();
 529   1      SysDelay(DELAY10US);
 530   1      
 531   1      }
 532          //===============================================
 533          void IIC_Stop(void)
 534          {
 535   1       IIC_SCL_LOW();
 536   1      SysDelay(DELAY10US);
 537   1      IIC_SDA_LOW();
 538   1      SysDelay(DELAY10US);
C51 COMPILER V7.06   II                                                                    09/11/2008 17:46:03 PAGE 10  

 539   1      IIC_SCL_HIGH();
 540   1      SysDelay(DELAY10US);
 541   1      IIC_SDA_HIGH();
 542   1      SysDelay(DELAY10US);
 543   1      
 544   1      }
 545          //===============================================
 546          void IIC_ACK(void)
 547          {
 548   1      IIC_SDA_LOW();
 549   1      SysDelay(DELAY10US);
 550   1      IIC_SCL_HIGH();
 551   1      SysDelay(DELAY10US);
 552   1      IIC_SCL_LOW();
 553   1      SysDelay(DELAY10US);
 554   1      }
 555          //===============================================
 556          void IIC_NoAck(void)
 557          {
 558   1      IIC_SDA_HIGH();
 559   1      SysDelay(DELAY10US);
 560   1      IIC_SCL_HIGH();
 561   1      SysDelay(DELAY10US);
 562   1      IIC_SCL_LOW();
 563   1      SysDelay(DELAY10US);
 564   1      }
 565          //===============================================
 566          void IIC_SDA_HIGH(void)
 567          {
 568   1      SDA=1;
 569   1      }
 570          //===============================================
 571          //===============================================
 572          void IIC_SDA_LOW(void)
 573          {
 574   1      SDA=0;
 575   1      }
 576          //===============================================
 577          //===============================================
 578          void IIC_SCL_HIGH(void)
 579          {
 580   1      SCL=1;
 581   1      }
 582          //===============================================
 583          //===============================================
 584          void IIC_SCL_LOW(void)
 585          {
 586   1      SCL=0;
 587   1      }
 588          //===============================================
 589          void IIC_XCLR_LOW(void)
 590          {
 591   1      XCLR=0;
 592   1      }
 593          //===============================================
 594          //===============================================
 595          void IIC_XCLR_HIGH(void)
 596          {
 597   1      XCLR=1;
 598   1      }
 599          //===============================================
 600          void SysDelay2ms( unsigned int t)
C51 COMPILER V7.06   II                                                                    09/11/2008 17:46:03 PAGE 11  

 601          {
 602   1      /*unsigned int i,j;
 603   1      while(t--)
 604   1      {for (i =0; i < 125; i++);
 605   1      for (i = 0; j < 1500; j++);
 606   1      }*/
 607   1              START_TIMER1;
 608   1         DelayMs(t);
 609   1         STOP_TIMER1;
 610   1      }
 611          //===============================================
 612          
 613          //===============================================
 614          //===============================================
 615          void SysDelay(unsigned int t)
 616          {
 617   1      //t*=10;
 618   1      while(t--);
 619   1      }
 620          //===============================================
 621          //===============================================


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2643    ----
   CONSTANT SIZE    =    320    ----
   XDATA SIZE       =     38    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     16      25
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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