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

📄 main.lst

📁 KEIL下编的SST89E58单片机万年历(定时器)程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 211          {
 212   1              switch(wink)
 213   1              {
 214   2              case 0:
 215   2                      break;
 216   2              case 1:
 217   2                      {               
 218   3                              put_char(0,0,' ');
 219   3                              put_char(1,0,' ');
 220   3                              put_char(2,0,' ');
 221   3                              put_char(3,0,' ');
 222   3                              break;
 223   3                      }
 224   2              case 2:
 225   2                      {
 226   3                              put_char(5,0,' ');
 227   3                              put_char(6,0,' ');
 228   3                              break;
 229   3                      }
 230   2              case 3:
 231   2                      {
 232   3                              put_char(8,0,' ');
 233   3                              put_char(9,0,' ');
 234   3                              break;
 235   3                      }
 236   2              case 4:
 237   2                      {
 238   3                              put_char(8,1,' ');
 239   3                              put_char(9,1,' ');
 240   3                              break;
C51 COMPILER V7.06   MAIN                                                                  10/24/2008 01:48:45 PAGE 5   

 241   3                      }
 242   2              case 5:
 243   2                      {
 244   3                              put_char(11,1,' ');
 245   3                              put_char(12,1,' ');
 246   3                              break;
 247   3                      }
 248   2              case 6:
 249   2                      {
 250   3                              put_char(14,1,' ');
 251   3                              put_char(15,1,' ');
 252   3                              break;
 253   3                      }
 254   2              default: break;
 255   2              }
 256   1      }
 257          
 258          void delay(u16 timeinms)
 259          {
 260   1              u16 i,j;
 261   1              for (i=timeinms;i>0;i--)
 262   1                      for(j=0;j<1000;j++)
 263   1                              _nop_();
 264   1      }
 265          
 266          void key_scan()
 267          {
 268   1              P1=0xFF;
 269   1              if(P1!=0xFF)
 270   1                      {
 271   2                              key_temp=P1;
 272   2                              delay(2);
 273   2                              if(key_temp==P1&&key_coun<255)
 274   2                                              key_coun+=1;
 275   2                      }
 276   1               else
 277   1                      key_coun=0;
 278   1      }
 279          
 280          void key_proc()
 281          {
 282   1              if(key_coun>50)
 283   1                      {
 284   2                              if(key_temp==KEY1)
 285   2                                      {
 286   3                                      sys_mode=0;
 287   3                                      adj_flag=1;
 288   3                                      put_str("ADJTIME",1);
 289   3                                      wink_mode=1;
 290   3                                      if(adj_flag)
 291   3                                              key_coun=0;
 292   3                                      }
 293   2                      //      put_str("long ",1);
 294   2                              return;
 295   2                      }
 296   1              if(key_coun>5&&(P1!=key_temp))
 297   1              {
 298   2                              switch(key_temp) {
 299   3                                      case KEY1:
 300   3                                              {       
 301   4                                                      if(sys_mode==1)
 302   4                                                              sys_mode=2;
C51 COMPILER V7.06   MAIN                                                                  10/24/2008 01:48:45 PAGE 6   

 303   4                                                      if(sys_mode==2)
 304   4                                                              sys_mode=3;
 305   4                                                      if(sys_mode==3)
 306   4                                                              sys_mode=1;
 307   4                                                      if(sys_mode==0)
 308   4                                                              {
 309   5                                                              if(wink_mode<6)
 310   5                                                                      wink_mode+=1;
 311   5                                                              else
 312   5                                                                      wink_mode=1;
 313   5                                                              }
 314   4                                                      break;
 315   4                                              }
 316   3                                      case KEY2:
 317   3                                              {
 318   4                                                      if(sys_mode==2)
 319   4                                                              stopwatch_ctrl(STPAU);
 320   4                                                      if(sys_mode==0)
 321   4                                                              time_adj(DOWN);
 322   4                                                      break;
 323   4                                              }
 324   3                                      case KEY3:                                      
 325   3                                              {
 326   4                                                      if(sys_mode==2)
 327   4                                                              stopwatch_ctrl(STOP);
 328   4                                                      if(sys_mode==0)
 329   4                                                              time_adj(UP);
 330   4                                                      break;
 331   4                                              }
 332   3                                      case KEY4:
 333   3                                              {
 334   4                                                      if(sys_mode==0)
 335   4                                                              sys_mode=1;
 336   4                                                              adj_flag=0;
 337   4                                                              put_str("       ",1);
 338   4                                                              wink_mode=0;
 339   4                                                      break;
 340   4                                              }
 341   3                                      default: break; 
 342   3                                      }
 343   2              //      put_str("short",1);             
 344   2                      key_coun=0;
 345   2              }
 346   1                              
 347   1              
 348   1      }
 349          
 350          void stopwatch_ctrl(u8 ctrl)
 351          {}
*** WARNING C280 IN LINE 350 OF MAIN.C: 'ctrl': unreferenced local variable
 352          void time_adj(u8 ctrl)
 353          {
 354   1              u8 is_leap=calc_day(year);
 355   1              u8 temp;
 356   1              switch(wink_mode)
 357   1              {
 358   2              case 0:
 359   2                      break;
 360   2              case 1:
 361   2                      if(ctrl==UP)
 362   2                              year+=1;
 363   2                      else if(ctrl==DOWN)
C51 COMPILER V7.06   MAIN                                                                  10/24/2008 01:48:45 PAGE 7   

 364   2                              year-=1;
 365   2                              if(calc_day(year)||is_leap)
 366   2                                      if(is_leap)
 367   2                                              m_day-=1;
 368   2                                      else
 369   2                                              m_day+=1;
 370   2                        break;
 371   2              case 2:
 372   2                      if(ctrl==UP&&month<12)
 373   2                              m_day+=non_leap_table[month+(is_leap?0:12)];
 374   2                      else if(ctrl==DOWN&&month>1)
 375   2                              m_day-=non_leap_table[month+(is_leap?0:12)-1];;
 376   2                        break;                        
 377   2              case 3:
 378   2                      if(ctrl==UP)
 379   2                      {
 380   3                              if(m_day<(calc_day(year)?365:366))
 381   3                              m_day+=1;
 382   3                              else
 383   3                              {year+=1;m_day=1;}
 384   3                      }
 385   2                      else if(ctrl==DOWN)
 386   2                      {
 387   3                              if(m_day>1)
 388   3                              m_day-=1;
 389   3                              else
 390   3                              m_day=calc_day(year-1)?365:366;
 391   3                      }
 392   2      
 393   2                        break;
 394   2              case 4:
 395   2                      if(ctrl==UP)
 396   2                              {if(hour<23)hour+=1;else hour=0;}
 397   2                      else if(ctrl==DOWN)
 398   2                              {if(hour>0)hour-=1;else hour=23;}
 399   2                        break;
 400   2              case 5:
 401   2                      if(ctrl==UP)
 402   2                              {if(min<59)min+=1;else min=0;}
 403   2                      else if(ctrl==DOWN)
 404   2                              {if(min>0)min-=1;else min=59;}
 405   2                        break;                
 406   2              case 6:
 407   2                      sec=0;
 408   2                        break;                  
 409   2              default:
 410   2                        break;
 411   2              }
 412   1      }
*** WARNING C280 IN LINE 355 OF MAIN.C: 'temp': unreferenced local variable


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1476    ----
   CONSTANT SIZE    =     40    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     15       5
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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