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

📄 main.lst

📁 使用显示芯片ZLG7290
💻 LST
📖 第 1 页 / 共 5 页
字号:
 304   1              EX0 = 1;                        //允许外部中断
 305   1              ET0 =1;  ET1 = 1;
 306   1              EA = 1;
 307   1              for (;;)
 308   1              {
 309   2                      if ( flagINT )  //如果有键按下
 310   2                      {
 311   3                      //清除中断标志
 312   3                              flagINT = 0;
 313   3                      //读取键值、连击计数器值、功能键值
 314   3                              ZLG7290_ReadReg(ZLG7290_Key,&KeyValue);
 315   3                              ZLG7290_ReadReg(ZLG7290_RepeatCnt,&RepeatCnt);
 316   3                              ZLG7290_ReadReg(ZLG7290_FunctionKey,&FnKeyValue);
 317   3                      //显示键值、连击计数器值、功能键值
 318   3                              //DispValue(6,KeyValue);
 319   3                              switch (KeyValue)
 320   3                              {
 321   4                                      case 1:         //功能设定键
 322   4                                              cNum_key1++;
 323   4                                              if (cNum_key1 == 6)
 324   4                                              {
 325   5                                                      cNum_key1 = 1;
 326   5                                              }
 327   4                                              if (cNum_key1 == 4) 
 328   4                                              {
 329   5                                                      iCounter_Inter3_temp = 0;
 330   5                                                      uStopwatch_DisBuffer[6]=0; uStopwatch_DisBuffer[7]=0;
 331   5                                                      uStopwatch_DisBuffer[3]=0; uStopwatch_DisBuffer[4]=0;
 332   5                                                      uStopwatch_DisBuffer[0]=0; uStopwatch_DisBuffer[1]=0;
 333   5                                              }
 334   4                                              break;
 335   4                                      case 2:                 //闪显键
 336   4                                              switch (cNum_key1)
 337   4                                              {
 338   5                                                      case 1:     //修改时间       00-00-00
 339   5                                                              //cNum_key2<<=1;                                                                
 340   5                                                              if ( cNum_key2 ==0x00 )
 341   5                                                              {
 342   6                                                                      cNum_key2=0x01;
 343   6                                                              }
 344   5      
 345   5                                                              if(bChang_time == 1)
 346   5                                                              {
 347   6                                                                      bChang_time = 0;
 348   6                                                                      cNum_key2 = 0x80;
 349   6                                                                      bRealkey2 = 1 ;
 350   6                                                              }
 351   5                                                              else
 352   5                                                              {
 353   6                                                                      bChang_time = 1;
 354   6                                                                      cNum_key2 = 0;
 355   6                                                                      bRealkey2 = 0 ;
 356   6                                                              }
 357   5                                                              break;
 358   5                                                      case 2:         //修改年月日
 359   5                                                              //cNum_key2<<=1;                                                        
 360   5                                                              if ( cNum_key2 ==0x00 )
 361   5                                                              {
 362   6                                                                      cNum_key2=0x01;
 363   6                                                              }
 364   5      
 365   5                                                              
C51 COMPILER V8.05a   MAIN                                                                 01/11/2008 12:42:17 PAGE 7   

 366   5                                                              if(bChang_year == 1)
 367   5                                                              {
 368   6                                                                      bChang_year = 0;
 369   6                                                                      cNum_key2 = 0x80;
 370   6                                                                      bRealkey2 = 1 ;
 371   6                                                              }
 372   5                                                              else
 373   5                                                              {
 374   6                                                                      bChang_year = 1;
 375   6                                                                      cNum_key2 = 0;
 376   6                                                                      bRealkey2 = 0 ;
 377   6                                                              }
 378   5                                                              break;
 379   5                                                      case 3:         //修改星期              Thursday
 380   5                                                              if(bChang_week == 1)
 381   5                                                              {
 382   6                                                                      bChang_week = 0;
 383   6                                                                      cNum_key2 = 0x10;
 384   6                                                                      bRealkey2 = 1 ;
 385   6                                                              }
 386   5                                                              else
 387   5                                                              {
 388   6                                                                      bChang_week = 1;
 389   6                                                                      cNum_key2 = 0;
 390   6                                                                      bRealkey2 = 0 ;
 391   6                                                              }
 392   5                                                              break;
 393   5                                                      case 4:         //秒表功能(确定按钮)            00-00-00
 394   5                                                              bRealkey2 = ~bRealkey2;
 395   5                                                              if(bRealkey2==0)
 396   5                                                              {
 397   6                                                                      bClear_stopwatch = 1;
 398   6                                                              }else
 399   5                                                              {
 400   6                                                                      bClear_stopwatch=0;
 401   6                                                              }
 402   5                                                              TH1 = 0XD8;         TL1 = 0XF0;         TR1 = 1; //每1MS进入一次定时器1中断
 403   5                                                              cNum_key2 = 0;
 404   5                                                              break;
 405   5                                                      case 5:         //设定闹钟(确定按钮)            00-00-00
 406   5                                                              
 407   5                                                              if(bChang_alarm == 1)
 408   5                                                              {
 409   6                                                                      bChang_alarm = 0;
 410   6                                                                      cNum_key2 = 0x80;
 411   6                                                                      bRealkey2 = 1 ;
 412   6                                                              }
 413   5                                                              else
 414   5                                                              {
 415   6                                                                      bRealkey2 = 0 ;
 416   6                                                                      bChang_alarm = 1;
 417   6                                                                      cNum_key2 = 0;
 418   6                                                              }
 419   5                                                              break;
 420   5                                              }
 421   4                                              break;
 422   4                                      case 3:                          //移位键盘
 423   4                                              if((bRealkey2==1)&&(cNum_key1!=4))
 424   4                                              {
 425   5                                                      cNum_key2>>=1;
 426   5                                                      if ( cNum_key2 ==0x00 )
 427   5                                                      {
C51 COMPILER V8.05a   MAIN                                                                 01/11/2008 12:42:17 PAGE 8   

 428   6                                                              cNum_key2=0x80;
 429   6                                                      }
 430   5                                              }
 431   4                                              if ((cNum_key1==4)&&(bRealkey2==0))
 432   4                                              {
 433   5                                                      bClear_stopwatch=0;
 434   5                                                      iCounter_Inter3_temp=0;
 435   5                                                      for (j=0;j<8 ;j++ )
 436   5                                                      {
 437   6                                                              uStopwatch_DisBuffer[j]=0;
 438   6                                                      }
 439   5                                                      uStopwatch_DisBuffer[2]=27;
 440   5                                                      uStopwatch_DisBuffer[5]=27;
 441   5                                              }
 442   4                                              
 443   4                                      break;
 444   4                                      case 4:                         //在设置时钟时等为上移键(增大)
 445   4                                              if (bRealkey2==1) //处于设置模式下
 446   4                                              {
 447   5                                                      switch (cNum_key1)
 448   5                                                      {
 449   6                                                              case 1: //对时间进行处理
 450   6                                                                      switch (cNum_key2)
 451   6                                                                      {
 452   7                                                                              case 0x01:
 453   7                                                                              case 0x02:
 454   7                                                                                      uHour = uTime_DisBuffer[0]*10+uTime_DisBuffer[1];
 455   7                                                                                      if (uHour<23)
 456   7                                                                                      {
 457   8                                                                                              uHour++;
 458   8                                                                                      }else
 459   7                                                                                      {
 460   8                                                                                              uHour = 0;

⌨️ 快捷键说明

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