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

📄 timer.lst

📁 用89C51做的一个简单的电子钟
💻 LST
📖 第 1 页 / 共 2 页
字号:
 198   4             display_on=1;
 199   4             minute++;
 200   4             if(minute>=60)minute=0;
 201   4             key=0;
 202   4            }
 203   3           if(key==KEY_DOWN)
 204   3            {
 205   4             display_on=1;
 206   4             minute--;
 207   4             if(minute>=60)minute=59;
 208   4             key=0;
 209   4            }
 210   3           display_buffer[5]=second%10;
 211   3           display_buffer[4]=second/10;
 212   3           display_buffer[3]=16+minute%10;
 213   3           display_buffer[2]=minute/10;
 214   3           display_buffer[1]=16+hour%10;
 215   3           display_buffer[0]=hour/10;
 216   3           if(!display_on)
 217   3            {
 218   4             flicker_time++;
 219   4             if(flicker_time>20){flicker_time=0;display_on=1;}
 220   4             display_buffer[3]=DISPLAY_OFF;
 221   4             display_buffer[2]=DISPLAY_OFF;
 222   4            }
 223   3           else
 224   3            {
 225   4             flicker_time++;
 226   4             if(flicker_time>30){flicker_time=0;display_on=0;}
 227   4            }
 228   3           display(display_buffer);
 229   3           break;
 230   3          }
 231   2         case HOUR_ADJ:           //小时调整状态
 232   2          {
 233   3           if(key==KEY_UP)
 234   3            {
 235   4             display_on=1;
 236   4             hour++;
 237   4             if(hour>=24)hour=0;
 238   4             key=0;
 239   4            }
 240   3           if(key==KEY_DOWN)
 241   3            {
C51 COMPILER V7.06   TIMER                                                                 03/08/2006 13:20:05 PAGE 5   

 242   4             display_on=1;
 243   4             hour--;
 244   4             if(hour>=24)hour=23;
 245   4             key=0;
 246   4            }
 247   3           display_buffer[5]=second%10;
 248   3           display_buffer[4]=second/10;
 249   3           display_buffer[3]=16+minute%10;
 250   3           display_buffer[2]=minute/10;
 251   3           display_buffer[1]=16+hour%10;
 252   3           display_buffer[0]=hour/10;
 253   3           if(!display_on)
 254   3            {
 255   4             flicker_time++;
 256   4             if(flicker_time>20){flicker_time=0;display_on=1;}
 257   4             display_buffer[1]=DISPLAY_OFF;
 258   4             display_buffer[0]=DISPLAY_OFF;
 259   4            }
 260   3           else
 261   3            {
 262   4             flicker_time++;
 263   4             if(flicker_time>30){flicker_time=0;display_on=0;}
 264   4            }
 265   3           display(display_buffer);
 266   3           break;
 267   3          }
 268   2         case DAY_ADJ:       //天调整状态
 269   2          {
 270   3           if(key==KEY_UP)
 271   3            {
 272   4             display_on=1;
 273   4             day++;
 274   4             if(day>days_of_month)day=1;
 275   4             key=0;
 276   4            }
 277   3           if(key==KEY_DOWN)
 278   3            {
 279   4             display_on=1;
 280   4             day--;
 281   4             if(day==0)day=days_of_month;
 282   4             key=0;
 283   4            }
 284   3           display_buffer[5]=16+day%10;
 285   3           display_buffer[4]=day/10;
 286   3           display_buffer[3]=16+month%10;
 287   3           display_buffer[2]=month/10;
 288   3           display_buffer[1]=16+year%10;
 289   3           display_buffer[0]=year/10;
 290   3           if(!display_on)
 291   3            {
 292   4             flicker_time++;
 293   4             if(flicker_time>20){flicker_time=0;display_on=1;}
 294   4             display_buffer[5]=DISPLAY_OFF;
 295   4             display_buffer[4]=DISPLAY_OFF;
 296   4            }
 297   3           else
 298   3            {
 299   4             flicker_time++;
 300   4             if(flicker_time>30){flicker_time=0;display_on=0;}
 301   4            }
 302   3           display(display_buffer);
 303   3           break;
C51 COMPILER V7.06   TIMER                                                                 03/08/2006 13:20:05 PAGE 6   

 304   3          }
 305   2         case MONTH_ADJ:
 306   2          {
 307   3           if(key==KEY_UP)
 308   3            {
 309   4             display_on=1;
 310   4             month++;
 311   4             if(month>=13)month=1;
 312   4             days_of_month=calculate_days();
 313   4             if(day>days_of_month)day=days_of_month;
 314   4             key=0;
 315   4            }
 316   3           if(key==KEY_DOWN)
 317   3            {
 318   4             display_on=1;
 319   4             month--;
 320   4             if(month==0)month=12;
 321   4             days_of_month=calculate_days();
 322   4             if(day>days_of_month)day=days_of_month;
 323   4             key=0;
 324   4            }
 325   3           display_buffer[5]=16+day%10;
 326   3           display_buffer[4]=day/10;
 327   3           display_buffer[3]=16+month%10;
 328   3           display_buffer[2]=month/10;
 329   3           display_buffer[1]=16+year%10;
 330   3           display_buffer[0]=year/10;
 331   3           if(!display_on)
 332   3            {
 333   4             flicker_time++;
 334   4             if(flicker_time>20){flicker_time=0;display_on=1;}
 335   4             display_buffer[3]=DISPLAY_OFF;
 336   4             display_buffer[2]=DISPLAY_OFF;
 337   4            }
 338   3           else
 339   3            {
 340   4             flicker_time++;
 341   4             if(flicker_time>30){flicker_time=0;display_on=0;}
 342   4            }
 343   3           display(display_buffer);
 344   3           break;
 345   3          }
 346   2         case YEAR_ADJ:          //年天调整状态
 347   2          {
 348   3           if(key==KEY_UP)
 349   3            {
 350   4             display_on=1;
 351   4             year++;
 352   4             if(year>=100)year=0;
 353   4             days_of_month=calculate_days();
 354   4             if(day>days_of_month)day=days_of_month;
 355   4             key=0;
 356   4            }
 357   3           if(key==KEY_DOWN)
 358   3            {
 359   4             display_on=1;
 360   4             year--;
 361   4             if(year>=100)year=99;
 362   4             days_of_month=calculate_days();
 363   4             if(day>days_of_month)day=days_of_month;
 364   4             key=0;
 365   4            }
C51 COMPILER V7.06   TIMER                                                                 03/08/2006 13:20:05 PAGE 7   

 366   3           display_buffer[5]=16+day%10;
 367   3           display_buffer[4]=day/10;
 368   3           display_buffer[3]=16+month%10;
 369   3           display_buffer[2]=month/10;
 370   3           display_buffer[1]=16+year%10;
 371   3           display_buffer[0]=year/10;
 372   3           if(!display_on)
 373   3            {
 374   4             flicker_time++;
 375   4             if(flicker_time>20){flicker_time=0;display_on=1;}
 376   4             display_buffer[1]=DISPLAY_OFF;
 377   4             display_buffer[0]=DISPLAY_OFF;
 378   4            }
 379   3           else
 380   3            {
 381   4             flicker_time++;
 382   4             if(flicker_time>30){flicker_time=0;display_on=0;}
 383   4            }
 384   3           display(display_buffer);
 385   3           break;
 386   3          }
 387   2        }
 388   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1366    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     18    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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