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

📄 tools.lst

📁 个人学习参考!禁止使用到产品上! 任何人不得公开发布!
💻 LST
📖 第 1 页 / 共 3 页
字号:
 313   2                      Command=Command<<1;
 314   2              }
 315   1              LcdStop();
 316   1      }
 317          //-----***-16近制数据转化为BCD-***-----//
 318          unsigned char HexToBcd(unsigned char Bytedata)
 319          {
 320   1              unsigned char ii,Byte;                                  /*定义减数i,被减数j,相减蚀锡k,余数h*/
 321   1              ii=0;
 322   1              while(Bytedata>=0x0a)
 323   1              {
 324   2                      Bytedata=Bytedata-0x0a;
 325   2                      ii=ii+1;
 326   2              }
 327   1          Byte=16*ii+Bytedata;
 328   1              return Byte;    
 329   1      }
 330          //-----***-BCD数据转化为16近制-***-----//
 331          unsigned char BcdToHex(unsigned char Bytedata)
 332          {
 333   1              unsigned char i,j,Byte;                                 /*定义减数i,被减数j,相减蚀锡k,余数h*/
 334   1              i=Bytedata & 0xf0;
 335   1              j=Bytedata & 0x0f;
 336   1              Byte=10*(i>>4)+j;
 337   1              return Byte;
 338   1      }
 339          //-----***-通过485发送一个字节-***-----//
 340          void SeriesSentByte(unsigned char Byte)
 341          {
 342   1          unsigned char idata i,j,k;
 343   1          k=Byte;     
 344   1              DIR=0;                                                                              /*创建一个停止位*/
 345   1              for(i=0;i<8;i++)
 346   1          {
 347   2             if(k & 0x80)
 348   2             {                                                                                                            //bytedata和0x80作AND逻辑运算等于0x80---*/
 349   3                      j++;
 350   3                      if(j==2)
 351   3                  {
 352   4                     j=0;
 353   4                  }                                                                                                                                       //即表示位7等于1则条件成立---*/
 354   3             }
 355   2             k <<=1;  
 356   2          }                                                                               //禁止串口中断*/    
 357   1          if(j==0)
 358   1          {
 359   2              TB8=0;     
 360   2          }
 361   1          else
 362   1          {
C51 COMPILER V7.10   TOOLS                                                                 02/03/2005 10:45:41 PAGE 7   

 363   2              TB8=1;
 364   2          }
 365   1              SBUF=Byte;                                                                      /*发送数据*/
 366   1              while(TI!=1);                                                                   /*等待发送完毕*/
 367   1              TI=0;                                                                           /*发送中断标志清零*/
 368   1              DIR=1;
 369   1      }
 370          void ToDay(unsigned char Day)
 371          {
 372   1          unsigned char data i;
 373   1          for(i=0x1f;i<Day;i++)
 374   1          {                                                               
 375   2              if(IIcByteStar==0)
 376   2              {
 377   3                  IIcByteStar=0xc0;
 378   3              }
 379   2              IIcByteStar=IIcByteStar-16;
 380   2          }
 381   1      }
 382          void ClerBuf(void)
 383          {
 384   1              unsigned char data i;
 385   1          //清除接收缓存      
 386   1              TimeSendFg=0;
 387   1              for(i=0;i<60;i++)
 388   1              {
 389   2                      ComDataBuf[i]=0;
 390   2              }       
 391   1      }
 392          void ClerData(void)
 393          {
 394   1              unsigned char i,j;
 395   1              //清除IIC
 396   1              EA=0;
 397   1              for(i=0;i<255;i++)
 398   1          {
 399   2             IicByteWrite(0xa0,i,0x00);           //
 400   2          }
 401   1          //编程初始密码:123456
 402   1          j=0x56;
 403   1              for(i=0;i<3;i++)
 404   1              {
 405   2                      IicByteWrite(0xa0,0x4c+i,j);
 406   2                      j=j-0x22;
 407   2              }
 408   1          //清零初始密码:123456
 409   1              j=0x56;
 410   1              for(i=0;i<3;i++)
 411   1              {
 412   2                  IicByteWrite(0xa0,0x50+i,j);
 413   2                  j=j-0x22;
 414   2              }
 415   1          //默认时段08:00---21:00峰段21:00---08:00谷段(分-时)
 416   1          IicByteWrite(0xa0,0x80,0x02);
 417   1          IicByteWrite(0xa0,0x82,0x08);
 418   1          IicByteWrite(0xa0,0x83,0x04);
 419   1          IicByteWrite(0xa0,0x85,0x21);
 420   1          //时段数目默认值:2
 421   1          IicByteWrite(0xa0,0xa5,2);
 422   1          //液晶显示时间设置默认值:10s
 423   1          IicByteWrite(0xa0,0x62,10);
 424   1          //清零次数2
C51 COMPILER V7.10   TOOLS                                                                 02/03/2005 10:45:41 PAGE 8   

 425   1          IicByteWrite(0xa0,0x6a,0x02);
 426   1          EA=1;
 427   1      }
 428          //-----***-数据提取-***-----//
 429          void DataPickup(void)
 430          {
 431   1          unsigned char idata i,j;
 432   1              EA=0;
 433   1          j=0x00;
 434   1          for(i=0;i<4;i++)
 435   1          {
 436   2              SumPulseData[i]=IicByteRead(0xa0,j);
 437   2              FengPulseData[i]=IicByteRead(0xa0,j+4);
 438   2              PingPulseData[i]=IicByteRead(0xa0,j+8);
 439   2              GuPulseData[i]=IicByteRead(0xa0,j+12);
 440   2              j++;
 441   2          }
 442   1              IicMuchByteRead(0xa0,0x34,3);
 443   1              for(i=0;i<3;i++)
 444   1              {
 445   2                      ReverseTime[i]=IIcBuf[i];
 446   2              }
 447   1              LcdShowTime=IicByteRead(0xa0,0x62);
 448   1              LcdShowBit[1]=IicByteRead(0xa0,0x63);
 449   1              LcdShowBit[0]=IicByteRead(0xa0,0x64);   
 450   1              MataStData=IicByteRead(0xa0,0x65);      
 451   1              PulseData=IicByteRead(0xa0,0x70);
 452   1              EA=1;
 453   1      }
 454          //-----***-数据保存-***-----//
 455          void DataSave(void)
 456          {
 457   1          EA=0;
 458   1      
 459   1              EA=1;
 460   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1208    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1      17
   IDATA SIZE       =   ----       5
   BIT SIZE         =   ----       3
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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