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

📄 testclk_2.lst

📁 STC51单片机做的一个时钟
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.06   TESTCLK_2                                                             10/24/2008 09:41:08 PAGE 5   

 242   1              {
 243   2                      t2 = ADC_DATA >> 4;
 244   2                      if(t1 == t2)            
 245   2                      {
 246   3                              switch(t1)
 247   3                              {
 248   4                                      case 0: 
 249   4                                                      break;
 250   4                                      case 1:
 251   4                                      case 2:                                                         
 252   4                                                      break;
 253   4                                      case 3:
 254   4                                      case 4: 
 255   4                                                      break;
 256   4                                      case 5:
 257   4                                      case 6: 
 258   4                                                      break;
 259   4                                      case 7:
 260   4                                      case 8:
 261   4                                                      flag = 1;
 262   4                                                      flag1 = 0;
 263   4                                                      flag2 = 1;
 264   4                                                      count = count + 1;
 265   4                                                      if(count == 4)
 266   4                                                              count = 1;
 267   4                                                      clk_display();  
 268   4                                                      break;
 269   4                                      case 9:
 270   4                                      case 10:
 271   4                                                      flag = 0;
 272   4                                                      flag1 = 1;
 273   4                                                      flag2 = 0; 
 274   4                                                      count = 0;
 275   4                                                      break;
 276   4                                      case 11:
 277   4                                      case 12:
 278   4                                                      break;
 279   4                              }
 280   3                              while(ADC_DATA < 0xd0)
 281   3                              {
 282   4                                      delay(10);
 283   4                                      Get_AD_Result(2);
 284   4                              }
 285   3                      }
 286   2              }                                       
 287   1      }
 288          
 289          void clk_display()
 290          {
 291   1              uchar temp;
 292   1              clear();
 293   1      
 294   1              temp=second/10;
 295   1              buffer[8] |= table9[temp][0];   
 296   1              buffer[9] |= table9[temp][1];
 297   1              buffer[10]|= table9[temp][2];
 298   1              temp=second%10; 
 299   1              buffer[6] |= table10[temp][0];  
 300   1              buffer[7] |= table10[temp][1];
 301   1              buffer[8] |= table10[temp][2];
 302   1                      
 303   1              buffer[12]|= 0x04;
C51 COMPILER V7.06   TESTCLK_2                                                             10/24/2008 09:41:08 PAGE 6   

 304   1              
 305   1              temp=minute/10;
 306   1              buffer[12]|= table7[temp][0];   
 307   1              buffer[13]|= table7[temp][1];
 308   1              temp=minute%10;                 
 309   1              buffer[10]|= table8[temp][0];   
 310   1              buffer[11]|= table8[temp][1];
 311   1                      
 312   1              buffer[14]|=0x02;
 313   1                      
 314   1              temp=hour/10;
 315   1              buffer[15] |= table5[temp][0];  
 316   1              buffer[16] |= table5[temp][1];
 317   1              buffer[17] |= table5[temp][2];
 318   1              temp=hour%10;   
 319   1              buffer[13] |= table6[temp][0];  
 320   1              buffer[14] |= table6[temp][1];
 321   1              buffer[15] |= table6[temp][2];
 322   1              
 323   1              lcd_show();
 324   1      
 325   1      }
 326          void init()
 327          {
 328   1              P1 = P1 | 0X04;           
 329   1              P1_ADC_EN = 0X04; 
 330   1              clear(); 
 331   1              lcd_show();     
 332   1              TMOD = 0x11;
 333   1              TH0 = (65536 - 50000 * 11.0592 / 12) / 256;
 334   1              TL0 = (65536 - 46080) % 256;//50000*11.0592/12=46080
 335   1      //      TH1=(65536-46080)/256;
 336   1      //      TL1=(65536-46080)%256;
 337   1              EA = 1;
 338   1              ET0 = 1;
 339   1              TR0 = 1;
 340   1              if(P3_3 == 0)
 341   1              {
 342   2                      if(P4_3 == 0)
 343   2                              sw = 0;
 344   2                      else 
 345   2                              sw = 1;
 346   2              }
 347   1              else 
 348   1              {
 349   2                      if(P4_3 == 0)
 350   2                              sw = 2;
 351   2                      else 
 352   2                              sw = 3;
 353   2              }       
 354   1      }
 355          void main()
 356          {
 357   1              init();
 358   1              while(1)
 359   1              {
 360   2                      keyscan();
 361   2                      keyscan_knob();
 362   2              }
 363   1      }
 364          
 365          void timer0() interrupt 1
C51 COMPILER V7.06   TESTCLK_2                                                             10/24/2008 09:41:08 PAGE 7   

 366          {
 367   1              uchar temp;
 368   1              TH0 = (65536 - 50000 * 11.0592 / 12) / 256;
 369   1              TL0 = (65536 - 46080) % 256;
 370   1              if(flag1)
 371   1              {
 372   2                      aa ++;
 373   2                      if(aa == 20)
 374   2                      {
 375   3                              aa = 0;
 376   3                              second ++;
 377   3                              if(second == 60)
 378   3                              {
 379   4                                      second = 0;
 380   4                                      second_h = 0;
 381   4                                      second_l = 0;
 382   4                                      minute ++;
 383   4                                      if(minute == 60)
 384   4                                      {
 385   5                                              minute = 0;
 386   5                                              minute_h = 0;
 387   5                                          minute_l = 0;       
 388   5                                              hour ++;
 389   5                                              if(hour == 24)
 390   5                                              hour = 0;
 391   5                                      }       
 392   4                              }
 393   3                              clk_display();
 394   3                      }
 395   2              }       
 396   1              if(flag2)
 397   1              {
 398   2                      mm ++;
 399   2                      if(mm == 8)
 400   2                      {
 401   3                          mm = 0;
 402   3                              blinking = !blinking;
 403   3                              if(blinking == 1)
 404   3                              {
 405   4                                      if(count == 1)
 406   4                                      {
 407   5                                              buffer[8] &= 0x03 ;     
 408   5                                              buffer[9] &= 0;
 409   5                                              buffer[10] &= 0xfe;
 410   5                              
 411   5                                              buffer[6] &= 0x07;      
 412   5                                              buffer[7] &= 0;
 413   5                                              buffer[8] &= 0xfc;      
 414   5                                      }
 415   4      
 416   4                                      if(count == 2)
 417   4                                      {
 418   5                                              buffer[12] &= 0x04;     
 419   5                                              buffer[13] &= 0x80;
 420   5                                      
 421   5                                              buffer[10] &= 0x01;     
 422   5                                              buffer[11] &= 0;                                
 423   5                                      }
 424   4                                      if(count == 3)
 425   4                                      {
 426   5                              
 427   5                                              buffer[15] &= 0x3f;     
C51 COMPILER V7.06   TESTCLK_2                                                             10/24/2008 09:41:08 PAGE 8   

 428   5                                              buffer[16] &= 0x01;
 429   5                                              buffer[17] &= 0xe0;             
 430   5                                              buffer[13] &= 0x7f;     
 431   5                                              buffer[14] &= 0x02;
 432   5                                              buffer[15] &= 0xc0;
 433   5                                      }       
 434   4                              }
 435   3                              else
 436   3                              {
 437   4                                      if(count == 1)
 438   4                                      {
 439   5                                              temp = second / 10;
 440   5                                              buffer[8] |= table9[temp][0];   
 441   5                                              buffer[9] |= table9[temp][1];
 442   5                                              buffer[10]|= table9[temp][2];
 443   5                                              temp = second % 10;     
 444   5                                              buffer[6] |= table10[temp][0];  
 445   5                                              buffer[7] |= table10[temp][1];
 446   5                                              buffer[8] |= table10[temp][2];  
 447   5                                      }
 448   4                                      if(count == 2)
 449   4                                      {
 450   5                                              temp = minute / 10;
 451   5                                              buffer[12]|= table7[temp][0];   
 452   5                                              buffer[13]|= table7[temp][1];
 453   5                                              temp = minute % 10;                     
 454   5                                              buffer[10]|= table8[temp][0];   
 455   5                                              buffer[11]|= table8[temp][1];                           
 456   5                                      }
 457   4                                      if(count == 3)
 458   4                                      {               
 459   5                                              temp = hour / 10;
 460   5                                              buffer[15] |= table5[temp][0];  
 461   5                                              buffer[16] |= table5[temp][1];
 462   5                                              buffer[17] |= table5[temp][2];
 463   5                                              temp = hour % 10;       
 464   5                                              buffer[13] |= table6[temp][0];  
 465   5                                              buffer[14] |= table6[temp][1];
 466   5                                              buffer[15] |= table6[temp][2];
 467   5                                      }               
 468   4                              }
 469   3                              lcd_show();     
 470   3                      }
 471   2              }       
 472   1      }
 473          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1463    ----
   CONSTANT SIZE    =    160    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     35       2
   IDATA SIZE       =   ----    ----
   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 + -