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

📄 index.lst

📁 1602+ds1302时钟显示+ds18b20温度报警
💻 LST
📖 第 1 页 / 共 3 页
字号:
 272   3              lcd_pos(0x40);
 273   3              i=0;
 274   3              while(dis2[i]!='\0')
 275   3              {
 276   4                lcd_wdat(dis2[i]);
 277   4                    i++;
 278   4              }
 279   3                      lcd_pos(0x0a);
 280   3                      }
 281   2                      m=0;
 282   2                      keyon=0;
 283   2                      keytype=4;
 284   2                      while(1)
 285   2                        {
 286   3                          Display2(); ///OFF,ON
 287   3                              seting();        ///ADD,DEC
 288   3                              if (out==1)
 289   3                              {
 290   4                                lcd_init();
 291   4                                delay(10);
 292   4                                strcpy(dis1,"10-11 19:57:00 2\0");
 293   4                        strcpy(dis2,"NOW TEMP: 000.0 \0");
 294   4                                break;
 295   4                                }
 296   3                              delay(1000);                                        
 297   3                        }
 298   2                      delay(200);
 299   2                                      while(SET==0);
 300   2               }
 301   1      }
 302          void  Too_cold ()
 303          {   unsigned char i;
C51 COMPILER V7.50   INDEX                                                                 10/02/2008 21:03:27 PAGE 6   

 304   1          unsigned char  m;
 305   1          lcd_init();
 306   1              delay(100);                //初始化LCD 
 307   1          lcd_pos(0);                //设置显示位置为第一行的第1个字符
 308   1           m = 0;
 309   1          while(cdis3[m] != '\0')
 310   1           {                         //显示字符
 311   2             lcd_wdat(cdis3[m]);
 312   2             m++;
 313   2           }
 314   1      
 315   1          lcd_pos(0x40);             //设置显示位置为第二行第1个字符
 316   1           m = 0;
 317   1          while(cdis5[m] != '\0')
 318   1           {
 319   2             lcd_wdat(cdis5[m]);      //显示字符
 320   2             m++;
 321   2           }
 322   1               for(m=0;m<5;m++)
 323   1              {
 324   2              BLUE=0;
 325   2              SPEAKER=0;
 326   2              delay(10000);
 327   2              SPEAKER=1;
 328   2              BLUE=1;
 329   2              delay(10000);
 330   2              SPEAKER=0;
 331   2              }  
 332   1                      if(SET==0)      /////////////////////////进入报警温度设定
 333   1                {
 334   2                  out=0;
 335   2                  delay(300);
 336   2                      while(SET==0);
 337   2                      strcpy(dis1,"ALARM-H: ON  35 \0");
 338   2                      strcpy(dis2,"ALARM-L: ON  18 \0");
 339   2                      lcd_init2();
 340   2                      delay(50);
 341   2                      lcd_pos(0);
 342   2              i=0;
 343   2              while(dis1[i]!='\0')
 344   2              {
 345   3                lcd_wdat(dis1[i]);
 346   3                i++;
 347   3              }
 348   2              lcd_pos(0x40);
 349   2              i=0;
 350   2              while(dis2[i]!='\0')
 351   2              {
 352   3                lcd_wdat(dis2[i]);
 353   3                    i++;
 354   3              }
 355   2                      lcd_pos(0x0a);//光标显示在高温开关位置
 356   2                      if(SET==0)
 357   2                      {       
 358   3                      lcd_pos(0);
 359   3              i=0;
 360   3              while(dis1[i]!='\0')
 361   3              {
 362   4                lcd_wdat(dis1[i]);
 363   4                i++;
 364   4              }
 365   3              lcd_pos(0x40);
C51 COMPILER V7.50   INDEX                                                                 10/02/2008 21:03:27 PAGE 7   

 366   3              i=0;
 367   3              while(dis2[i]!='\0')
 368   3              {
 369   4                lcd_wdat(dis2[i]);
 370   4                    i++;
 371   4              }
 372   3                      lcd_pos(0x0a);
 373   3                      }
 374   2                      m=0;
 375   2                      keyon=0;
 376   2                      keytype=4;
 377   2                      while(1)
 378   2                        {
 379   3                          Display2(); ///OFF,ON
 380   3                              seting();        ///ADD,DEC
 381   3                              if (out==1)
 382   3                              {
 383   4                                lcd_init();
 384   4                                delay(10);
 385   4                                strcpy(dis1,"10-11 19:57:00 2\0");
 386   4                        strcpy(dis2,"NOW TEMP: 000.0 \0");
 387   4                                break;
 388   4                                }
 389   3                              delay(1000);                                        
 390   3                        }
 391   2                      delay(200);
 392   2                                      while(SET==0);
 393   2               }
 394   1      }
 395          ////////////////////////////////时间设置显示///////////////////////////////////////
 396          
 397          void Display3()
 398          {
 399   1        unsigned char i;
 400   1      
 401   1        dis1[12]=code_switch(((int)year)/10);
 402   1        dis1[13]=code_switch(((int)year)%10);
 403   1      
 404   1        dis2[0]=code_switch(((int)month)/10);
 405   1        dis2[1]=code_switch(((int)month)%10);
 406   1      
 407   1        dis2[3]=code_switch(((int)date)/10);
 408   1        dis2[4]=code_switch(((int)date)%10);
 409   1      
 410   1        dis2[6]=code_switch(((int)hour)/10);
 411   1        dis2[7]=code_switch(((int)hour)%10);
 412   1      
 413   1        dis2[9]=code_switch(((int)minute)/10);
 414   1        dis2[10]=code_switch(((int)minute)%10);
 415   1      
 416   1        dis2[12]=code_switch(((int)second)/10);
 417   1        dis2[13]=code_switch(((int)second)%10);
 418   1      
 419   1        dis2[15]=code_switch((int)week);
 420   1      
 421   1        lcd_pos(0);
 422   1        i=0;
 423   1        while(dis1[i]!='\0')
 424   1        {
 425   2          lcd_wdat(dis1[i]);
 426   2          i++;
 427   2        }
C51 COMPILER V7.50   INDEX                                                                 10/02/2008 21:03:27 PAGE 8   

 428   1        lcd_pos(0x40);
 429   1        i=0;
 430   1        while(dis2[i]!='\0')
 431   1        {
 432   2          lcd_wdat(dis2[i]);
 433   2          i++;
 434   2        }
 435   1        switch (m)
 436   1        {
 437   2        case 0: lcd_pos(0x0d);break;
 438   2        case 1: lcd_pos(0x41);break;
 439   2        case 2: lcd_pos(0x44);break;
 440   2        case 3: lcd_pos(0x47);break;
 441   2        case 4: lcd_pos(0x4a);break;
 442   2        case 5: lcd_pos(0x4d);break;
 443   2        case 6: lcd_pos(0x4f);break;
 444   2        }
 445   1      }
 446          
 447          /////////////////////////////时间设置显示结束///////////////////////////////////
 448          ///////////////////////////////时间设置///////////////////////////////////////
 449          
 450           void seting2()
 451          {
 452   1         if(SET2==1&&NEXT==1&&REDUCE==1&&ADD==1&&SET==1);       //无键盘按下
 453   1         else                                          /////有键盘按下时
 454   1          {
 455   2                keyon=1;
 456   2                if(SET2==0)keytype=0;
 457   2                if(NEXT==0)keytype=1;
 458   2                if(REDUCE==0)keytype=2;
 459   2                if(ADD==0)keytype=3;
 460   2                if(SET==0)keytype=5;
 461   2              }
 462   1         if(keyon==1&&SET2==1&&NEXT==1&&REDUCE==1&&ADD==1)             //键盘松开后判断键盘状态
 463   1          {
 464   2                if(keytype==1)////////////////菜单下翻
 465   2                  { 
 466   3                        if(m>=6)m=0;
 467   3                    else m++;
 468   3                       }
 469   2                if(keytype==3)        ////////////////加操作
 470   2                  {
 471   3                        if(m==0)
 472   3                        {
 473   4                          if(year<32)
 474   4                          year++;
 475   4                         else
 476   4                          year=8;
 477   4                        }
 478   3                        if(m==1)
 479   3                          {
 480   4                                if(month<12)
 481   4                              month++;
 482   4                            else
 483   4                              month=1;
 484   4                              }
 485   3                        if(m==2)
 486   3                         {
 487   4                           if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
 488   4                           {
 489   5                             if(date<31)
C51 COMPILER V7.50   INDEX                                                                 10/02/2008 21:03:27 PAGE 9   

 490   5                                  date++;
 491   5                                 else
 492   5                                  date=1;
 493   5                           }
 494   4                           if(month==4||month==6||month==9||month==11)
 495   4                            {
 496   5                             if(date<30)
 497   5                                  date++;
 498   5                                 else
 499   5                                  date=1;
 500   5                            }
 501   4                           if(month==2)
 502   4                            {
 503   5                             if(year%4==0 && year%100!=0 || year%400==0)
 504   5                                  {
 505   6                                     if(date<29)
 506   6                                           date++;
 507   6                                         else
 508   6                                           date=1;
 509   6                                   }
 510   5                                 if(!(year%4==0 && year%100!=0 || year%400==0))
 511   5                      {
 512   6                                        if(date<28)
 513   6                                         date++;
 514   6                                        else
 515   6                                         date=1;
 516   6                                       }
 517   5                                 }
 518   4                         }
 519   3                        if(m==3)
 520   3                          {
 521   4                                if(hour<23)
 522   4                              hour++;
 523   4                            else
 524   4                              hour=0;
 525   4                              }
 526   3                        if(m==4)
 527   3                          {
 528   4                                if(minute<59)
 529   4                             minute++;
 530   4                            else
 531   4                             minute=0;
 532   4                              }
 533   3                        if(m==5)
 534   3                          {
 535   4                                if(second<59)
 536   4                             second++;
 537   4                            else
 538   4                             second=0;
 539   4                              }
 540   3                        if(m==6)
 541   3                          {
 542   4                                if(week<7)
 543   4                              week++;
 544   4                            else
 545   4                              week=1;
 546   4                              }
 547   3                      }
 548   2                if(keytype==2)                 ////////////////减操作
 549   2                  {
 550   3                        if(m==0)
 551   3                        {

⌨️ 快捷键说明

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