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

📄 keyb.lst

📁 用3310显示温度与数字钟
💻 LST
📖 第 1 页 / 共 2 页
字号:
 312   3                }
 313   2               }
 314   1               else
 315   1              {
 316   2           LPH7366_write_str(6,4,(shi+16));
 317   2               LPH7366_write_str(6,5,(ge+16));
 318   2              }
 319   1      
 320   1           if(second_flag==1)
 321   1           LPH7366_write_str(6,6,26);  //:
 322   1               else
 323   1           LPH7366_write_str(6,6,0);  // 
 324   1      
 325   1                data_tick(i.second);   //second
 326   1                if(flash3==1)
 327   1               {
 328   2                if(second_flag==1)
 329   2            {
 330   3                 LPH7366_write_str(6,7,(shi+16));
 331   3                 LPH7366_write_str(6,8,(ge+16));
 332   3                }
 333   2                else
 334   2            { 
 335   3                 LPH7366_write_str(6,7,60);  //55
 336   3                 LPH7366_write_str(6,8,60);
 337   3                }
 338   2               }
 339   1               else
 340   1               {
 341   2                LPH7366_write_str(6,7,(shi+16));
 342   2                LPH7366_write_str(6,8,(ge+16));
 343   2               }
 344   1      }
 345          
 346          /***************************温度切换显示函数***************************/
 347          /*函数原型:void temp_set_display(unsigned char option_i)
 348          /*函数功能:温度切换显示
 349          /*输入参数:无
 350          /*输出参数:无
 351          /*调用模块:temp_set_option_display(),LPH7366_write_str()
 352          /*建立时间:2005/11/18
 353          /*作者:丁霄
 354          /**********************************************************************/
 355          void temp_set_display(unsigned char option_i)
 356          {
 357   1        if(option_i==1)  //TH
 358   1       { 
 359   2         temp_set_option_display(temp_TH);
 360   2         LPH7366_write_str(3,6,52);  //显示T
 361   2         LPH7366_write_str(3,7,40);  //显示H
 362   2       }
 363   1      
 364   1       if(option_i==2)  //TL
C51 COMPILER V7.06   KEYB                                                                  05/11/2008 18:49:27 PAGE 7   

 365   1       {  
 366   2         temp_set_option_display(temp_TL);
 367   2         LPH7366_write_str(3,6,52);  //显示T
 368   2         LPH7366_write_str(3,7,44);  //显示L
 369   2       }
 370   1      }
 371          
 372          
 373          /***************************温度切换显示子函数函数*********************/
 374          /*函数原型:void temp_set_option_display(signed char option_i)
 375          /*函数功能:温度切换显示子函数
 376          /*输入参数:无
 377          /*输出参数:无
 378          /*调用模块:temp_data_turn(),LPH7366_write_str(),
 379          /*建立时间:2005/11/21
 380          /*作者:丁霄
 381          /**********************************************************************/
 382          void temp_set_option_display(signed char temp)
 383          {
 384   1           if(temp>0)   //正值
 385   1           T_sign=0;
 386   1      
 387   1            else   //负值
 388   1           { 
 389   2           T_sign=1;
 390   2               temp_TLTH_dis=temp*(-1);
 391   2           }
 392   1      
 393   1           if(T_sign==1)  //负值
 394   1           temp_data_turn(temp_TLTH_dis); //转换温度数值
 395   1           else  //正值
 396   1           temp_data_turn(temp); //转换温度数值
 397   1      
 398   1           temp_display(); 
 399   1      
 400   1           data_tick(local_time.hour);
 401   1           LPH7366_write_str(6,1,(shi+16));
 402   1               LPH7366_write_str(6,2,(ge+16));
 403   1      
 404   1           if(second_flag==1)
 405   1           LPH7366_write_str(6,3,26);  //:
 406   1               else
 407   1           LPH7366_write_str(6,3,0);  // 
 408   1      
 409   1           data_tick(local_time.minute);
 410   1           LPH7366_write_str(6,4,(shi+16));
 411   1               LPH7366_write_str(6,5,(ge+16));
 412   1      
 413   1           if(second_flag==1)
 414   1           LPH7366_write_str(6,6,26);  //:
 415   1               else
 416   1           LPH7366_write_str(6,6,0);  // 
 417   1      
 418   1               data_tick(local_time.second);
 419   1           LPH7366_write_str(6,7,(shi+16));
 420   1               LPH7366_write_str(6,8,(ge+16));  
 421   1      }
 422          
 423          /***************************时间调整函数************************/
 424          /*函数原型:void key_time_setdone(struct time *i)
 425          /*函数功能:时间调整
 426          /*输入参数:无
C51 COMPILER V7.06   KEYB                                                                  05/11/2008 18:49:27 PAGE 8   

 427          /*输出参数:无
 428          /*调用模块:无
 429          /*建立时间:2005/11/23
 430          /*作者:丁霄
 431          /***************************************************************/
 432          void key_time_setdone(struct time *i)
 433          {
 434   1        unsigned char set_i=1;  //设置计数器
 435   1        
 436   1         while(1)
 437   1        {
 438   2          keyB();
 439   2      
 440   2              if(key==1&&key_flag)  //+
 441   2              {
 442   3            key_flag=0;
 443   3                if(set_i==1)
 444   3            {
 445   4                 i->hour++;
 446   4                 if(i->hour==24)
 447   4                 i->hour=0;
 448   4                }
 449   3      
 450   3                if(set_i==2)
 451   3            {
 452   4                 i->minute++;
 453   4                 if(i->minute==60)
 454   4                 i->minute=0;
 455   4                }
 456   3      
 457   3                if(set_i==3)
 458   3            {
 459   4                 i->second++;
 460   4                 if(i->second==60)
 461   4                 i->second=0;
 462   4                }
 463   3              }
 464   2      
 465   2              if(key==2&&key_flag)  //-
 466   2              {
 467   3                key_flag=0;
 468   3                 if(set_i==1)
 469   3            {
 470   4                 i->hour--;
 471   4                 if(i->hour==0xff)
 472   4                 i->hour=23;
 473   4                }
 474   3      
 475   3                if(set_i==2)
 476   3            {
 477   4                 i->minute--;
 478   4                 if(i->minute==0xff)
 479   4                 i->minute=59;
 480   4                }
 481   3      
 482   3                if(set_i==3)
 483   3            {
 484   4                 i->second--;
 485   4                 if(i->second==0xff)
 486   4                 i->second=59;
 487   4                }
 488   3              }
C51 COMPILER V7.06   KEYB                                                                  05/11/2008 18:49:27 PAGE 9   

 489   2      
 490   2              if(key==3&&key_flag)  //设置位调整
 491   2              {
 492   3                key_flag=0;
 493   3            set_i++;
 494   3                if(set_i==4)
 495   3                set_i=1;
 496   3              }
 497   2      
 498   2              if(key==4&&key_flag)  //背光
 499   2              {
 500   3            key_flag=0;
 501   3            BLACK_LIGHT=~BLACK_LIGHT;
 502   3              }
 503   2      
 504   2              if(key==5&&key_flag)  //跳出
 505   2              {
 506   3                key_flag=0;
 507   3            break;
 508   3              }
 509   2      
 510   2              if(key==0)
 511   2              {
 512   3               key_flag=1;
 513   3              }
 514   2              flash=1;
 515   2              flash_co(set_i);
 516   2              time_set_display(key_option_i);
 517   2        }
 518   1      }
 519          
 520          /***************************温度调整函数************************/
 521          /*函数原型:void key_temp_setdone(unsigned char i)
 522          /*函数功能:温度调整
 523          /*输入参数:无
 524          /*输出参数:无
 525          /*调用模块:keyB(),temp_set_display()
 526          /*建立时间:2005/11/23
 527          /*作者:丁霄
 528          /***************************************************************/
 529          void key_temp_setdone(signed char *i)
 530          {
 531   1          while(1)
 532   1        {
 533   2          keyB();
 534   2      
 535   2              if(key==1&&key_flag)  //+  温度设置在-55~125C
 536   2              {
 537   3             key_flag=0;
 538   3                 (*i)++;
 539   3                 if((*i)>125)
 540   3                 (*i)=-55;
 541   3              }
 542   2      
 543   2              if(key==2&&key_flag)  //-
 544   2              {
 545   3                key_flag=0;
 546   3                 (*i)--;
 547   3                 if((*i)<-55)
 548   3                 (*i)=125;
 549   3              }
 550   2      
C51 COMPILER V7.06   KEYB                                                                  05/11/2008 18:49:27 PAGE 10  

 551   2              if(key==4&&key_flag)  //背光
 552   2              {
 553   3            key_flag=0;
 554   3            BLACK_LIGHT=~BLACK_LIGHT;
 555   3              }
 556   2      
 557   2              if(key==5&&key_flag)  //跳出
 558   2              {
 559   3                key_flag=0;
 560   3            break;
 561   3              }
 562   2      
 563   2              if(key==0||key==3)
 564   2              {
 565   3               key_flag=1;
 566   3              }
 567   2              temp_set_display(key_option_i);
 568   2        }
 569   1      }
 570          
 571          /********************************闪烁控制函数******************************/
 572          /*函数原型:void flash_co(unsigned char set_i)
 573          /*函数功能:闪烁控制
 574          /*输入参数:无
 575          /*输出参数:无
 576          /*调用模块:无
 577          /*建立时间:2005/10/27
 578          /*作者:丁霄
 579          /**************************************************************************/
 580          void flash_co(unsigned char set_i)
 581          {
 582   1         if(flash==1)
 583   1       { if(set_i==1)   //第1个标志位闪烁
 584   2        {
 585   3          flash1=1;
 586   3              flash2=0;
 587   3              flash3=0;
 588   3        }
 589   2      
 590   2         if(set_i==2)  //第2个标志位闪烁
 591   2        {
 592   3          flash1=0;
 593   3              flash2=1;
 594   3              flash3=0;
 595   3        }
 596   2      
 597   2         if(set_i==3)  //第3个标志位闪烁
 598   2        {
 599   3          flash1=0;
 600   3              flash2=0;
 601   3              flash3=1;
 602   3        }
 603   2       }
 604   1        else 
 605   1       {
 606   2        if(set_i==0)
 607   2        {
 608   3         flash1=0;
 609   3         flash2=0;
 610   3         flash3=0;
 611   3        }
 612   2       }
C51 COMPILER V7.06   KEYB                                                                  05/11/2008 18:49:27 PAGE 11  

 613   1      }
 614          
 615          
 616          


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


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

⌨️ 快捷键说明

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