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

📄 timer.lst

📁 AD89C51单片机控制液晶显示器LCD1602显示时间。
💻 LST
📖 第 1 页 / 共 2 页
字号:
 199   4             display_on=1;
 200   4             minute++;
 201   4             if(minute>=60)minute=0;
 202   4             key=0;
 203   4            }
 204   3           if(key==KEY_DOWN)
 205   3            {
 206   4             display_on=1;
 207   4             minute--;
 208   4             if(minute>=60)minute=59;
 209   4             key=0;
 210   4            }
 211   3           display_buffer[5]=second%10;
 212   3           display_buffer[4]=second/10;
 213   3           display_buffer[3]=16+minute%10;
 214   3           display_buffer[2]=minute/10;
 215   3           display_buffer[1]=16+hour%10;
 216   3           display_buffer[0]=hour/10;
 217   3           if(!display_on)
 218   3            {
 219   4             flicker_time++;
 220   4             if(flicker_time>20){flicker_time=0;display_on=1;}
 221   4             display_buffer[3]=DISPLAY_OFF;
 222   4             //display_buffer[2]=DISPLAY_OFF;
 223   4            }
 224   3           else
 225   3            {
 226   4             flicker_time++;
 227   4             if(flicker_time>30){flicker_time=0;display_on=0;}
 228   4            }
 229   3           display(display_buffer);
 230   3           break;
 231   3          }
 232   2         case HOUR_ADJ:           //小时调整状态
 233   2          {
 234   3           if(key==KEY_UP)
 235   3            {
 236   4             display_on=1;
 237   4             hour++;
 238   4             if(hour>=24)hour=0;
 239   4             key=0;
 240   4            }
 241   3           if(key==KEY_DOWN)
C51 COMPILER V7.02a   TIMER                                                                09/12/2008 14:50:32 PAGE 5   

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

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

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


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1358    ----
   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 + -