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

📄 vfd.lst

📁 upd16312 vfd panel c 原程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 270   1                        DISP_ARRAY[VFD_N2_ADDR]=DISP_CHARACTER[TEMP];
 271   1                        TEMP=*J;
 272   1                        TEMP&=0X0F;
 273   1                        DISP_ARRAY[VFD_MIN_N1_ADDR]=DISP_CHARACTER[TEMP];
 274   1                        TEMP=*J;
 275   1                        TEMP>>=4;
 276   1                        TEMP&=0X0F;
 277   1                        DISP_ARRAY[VFD_MIN_N2_ADDR]=DISP_CHARACTER[TEMP];
 278   1                        TEMP=*K;
 279   1                        TEMP&=0X0F;
 280   1                        DISP_ARRAY[VFD_SEC_N1_ADDR]=DISP_CHARACTER[TEMP];
 281   1                        TEMP=*K;
 282   1                        TEMP>>=4;
 283   1                        TEMP&=0X0F;
 284   1                        DISP_ARRAY[VFD_SEC_N2_ADDR]=DISP_CHARACTER[TEMP];
 285   1      }
 286          void FILL_ALL_PIX(void)
 287          {     BYTE TEMP;
 288   1            BIT1=ALARM1;
 289   1            BIT2=ALARM2;
 290   1            BIT3=ALARM3;
 291   1            BIT4=ALARM4;
 292   1            BIT5=ALARM5;
 293   1            BIT6=ALARM6;
 294   1            BIT7=ALARM7;
 295   1            BIT8=ALARM8;
 296   1            BIT9=ALARM9;
 297   1            BIT10=ALARM10;
 298   1            BIT11=ALARM11;
 299   1            BIT12=ALARM12;
 300   1            BIT13=ALARM13;
 301   1            BIT14=ALARM14;
 302   1            BIT15=ALARM15;
 303   1            BIT16=ALARM16;
 304   1            DISP_ARRAY[VFD_TRACKBIT_N2_ADDR]=BIT_A;
 305   1            DISP_ARRAY[VFD_TRACKBIT_N1_ADDR]=BIT_B;
 306   1            BG_HOUR     =HEXTOBCD(ALARM_ARRAY[DISP_SW-2][0]);
 307   1            BG_MINUTE   =HEXTOBCD(ALARM_ARRAY[DISP_SW-2][1]);
 308   1            END_HOUR    =HEXTOBCD(ALARM_ARRAY[DISP_SW-2][2]);
 309   1            END_MINUTE  =HEXTOBCD(ALARM_ARRAY[DISP_SW-2][3]);
 310   1            if((DISP_SW<=DISP_ALARM8)&&(DISP_SW>DISP_DATE))
 311   1            {     ALARM_ON_OFF=ALARM_ON_OFF_1;
 312   2                  ALARM_ON_OFF>>=(DISP_SW-2);
 313   2            }
 314   1            if(DISP_SW>DISP_ALARM8)
 315   1            {     ALARM_ON_OFF=ALARM_ON_OFF_2;
 316   2                  ALARM_ON_OFF>>=(DISP_SW-10);
 317   2            }
 318   1            switch(DISP_SW)
 319   1            {
 320   2                  case  DISP_TIME:
 321   2                        FILL_BCD_DISP(&HOUR1,&MINUTE1,&SECOND1);
 322   2                        if(COUNT2)
 323   2                        {     DISP_ARRAY[VFD_DASH_ADDR]|=VFD_DASH;
 324   3                              DISP_ARRAY[VFD_COL_ADDR]|=VFD_COL;
 325   3                        }
 326   2                        else
 327   2                        {     DISP_ARRAY[VFD_DASH_ADDR]&=~VFD_DASH;
 328   3                              DISP_ARRAY[VFD_COL_ADDR]&=~VFD_COL;
C51 COMPILER V5.02,  VFD                                                                               11/07/00  14:15:37  PAGE 6   

 329   3                        };
 330   2                              DISP_ARRAY[VFD_SEC_ADDR]|=VFD_SEC;
 331   2                              DISP_ARRAY[VFD_MIN_ADDR]|=VFD_MIN;
 332   2                              TEMP=~VFD_MIC1;
 333   2                              DISP_ARRAY[VFD_MIC1_ADDR]&=TEMP;
 334   2                              TEMP=~VFD_MIC2;
 335   2                              DISP_ARRAY[VFD_MIC2_ADDR]&=TEMP;
 336   2                        break;
 337   2                  case  DISP_DATE:
 338   2                        FILL_BCD_DISP(&YEAR1,&MONTH1,&DAY1);
 339   2                              TEMP=~VFD_DASH;
 340   2                              DISP_ARRAY[VFD_DASH_ADDR]&=TEMP;
 341   2                              TEMP=~VFD_COL;
 342   2                              DISP_ARRAY[VFD_COL_ADDR]&=TEMP;
 343   2                              TEMP=~VFD_MIC1;
 344   2                              DISP_ARRAY[VFD_MIC1_ADDR]&=TEMP;
 345   2                              TEMP=~VFD_MIC2;
 346   2                              DISP_ARRAY[VFD_MIC2_ADDR]&=TEMP;
 347   2      
 348   2                        break;
 349   2                  default:
 350   2                        if(DISP_BG_END)
 351   2                        {     if(ALARM_ON_OFF^0)
 352   3                                    FILL_BCD_DISP(&ON,&BG_HOUR,&BG_MINUTE);
 353   3                              else
 354   3                                    FILL_BCD_DISP(&OF,&BG_HOUR,&BG_MINUTE);
 355   3                              DISP_ARRAY[VFD_MIC1_ADDR]|=VFD_MIC1;
 356   3                              TEMP=~VFD_MIC2;
 357   3                              DISP_ARRAY[VFD_MIC2_ADDR]&=TEMP;
 358   3                        }
 359   2                        else
 360   2                        {     if(ALARM_ON_OFF^0)
 361   3                                    FILL_BCD_DISP(&ON,&END_HOUR,&END_MINUTE);
 362   3                              else
 363   3                                    FILL_BCD_DISP(&OF,&END_HOUR,&END_MINUTE);
 364   3                              DISP_ARRAY[VFD_MIC1_ADDR]|=VFD_MIC1;
 365   3                              DISP_ARRAY[VFD_MIC2_ADDR]|=VFD_MIC2;
 366   3                        };
 367   2                        DISP_ARRAY[VFD_TRACKBIT_N2_ADDR]=0;
 368   2                        DISP_ARRAY[VFD_TRACKBIT_N1_ADDR]=0;
 369   2                        if(DISP_SW<=DISP_ALARM8)
 370   2                              DISP_ARRAY[VFD_TRACKBIT_N2_ADDR]=BIT_ARRAY[DISP_SW-2];
 371   2                        else
 372   2                              DISP_ARRAY[VFD_TRACKBIT_N1_ADDR]=BIT_ARRAY[DISP_SW-2];
 373   2                        break;
 374   2            };                //END OF switch(DISP_SW)
 375   1        if(TIME_EDIT)   
 376   1        {  switch(TIME_EDIT)
 377   2           {
 378   3                  case  EDIT_HOUR:
 379   3                  case  EDIT_YEAR:
 380   3                  case  EDIT_SWITCH:
 381   3                        if(COUNT2)
 382   3                        {     DISP_ARRAY[VFD_N2_ADDR]=0;
 383   4                              DISP_ARRAY[VFD_N1_ADDR]=0;
 384   4                        };
 385   3                        break;
 386   3                  case  EDIT_MINUTE:
 387   3                  case  EDIT_MONTH:
 388   3                  case  EDIT_BG_HOUR:
 389   3                  case  EDIT_END_HOUR:
 390   3                        if(COUNT2)
 391   3                        {     DISP_ARRAY[VFD_MIN_N2_ADDR]=0;
 392   4                              DISP_ARRAY[VFD_MIN_N1_ADDR]=0;
 393   4                        };
 394   3                        break;
 395   3                  case  EDIT_SECOND:
C51 COMPILER V5.02,  VFD                                                                               11/07/00  14:15:37  PAGE 7   

 396   3                  case  EDIT_DAY:
 397   3                  case  EDIT_BG_MINUTE:
 398   3                  case  EDIT_END_MINUTE:
 399   3                        if(COUNT2)
 400   3                        {     DISP_ARRAY[VFD_SEC_N2_ADDR]=0;
 401   4                              DISP_ARRAY[VFD_SEC_N1_ADDR]=0;
 402   4                        };
 403   3                        break;
 404   3      
 405   3           };     //END OF switch(TIME_EDIT)
 406   2        };//IF
 407   1      }
 408          
 409          void KEY_PROCESS(void)
 410          {     BYTE bKEY; 
 411   1            VFD_STB=0;
 412   1            WR_PANEL(0X42);
 413   1            KEY_ARRAY[0]=RD_PANEL();
 414   1            KEY_ARRAY[1]=RD_PANEL();
 415   1            KEY_ARRAY[2]=RD_PANEL();
 416   1            VFD_STB=1;
 417   1            if(KEY_ARRAY[0]||KEY_ARRAY[1]||KEY_ARRAY[2])
 418   1            {
 419   2                  if(NO_1_SWIP)
 420   2                  {     NO_2_SWIP=1;
 421   3                        NO_1_SWIP=0;
 422   3                  }
 423   2                  else
 424   2                  {     NO_1_SWIP=1;
 425   3                        NO_2_SWIP=0;
 426   3                        DELAY_TIME(COUNT_150mS);
 427   3                  };
 428   2            }
 429   1            else
 430   1            {     NO_1_SWIP=0;
 431   2                  NO_2_SWIP=0;
 432   2            };
 433   1            if(NO_2_SWIP)
 434   1            {     bKEY=GET_KEY_VAL();
 435   2                  switch(bKEY)
 436   2                        {
 437   3                        case KEY_N1:
 438   3                        case KEY_N2:
 439   3                        case KEY_N3:
 440   3                        case KEY_N4:
 441   3                        case KEY_N5:
 442   3                        case KEY_N6:
 443   3                        case KEY_N7:
 444   3                        case KEY_N8:
 445   3                        case KEY_N9:
 446   3                        case KEY_N10:
 447   3                              KEY_TEMP=bKEY;
 448   3                              DISP_SW=bKEY+DISP_DATE;
 449   3                              TIME_EDIT=EDIT_NONE;
 450   3                              break;
 451   3                        case KEY_N10_PLUS:
 452   3                              if((KEY_TEMP<=6)&&(KEY_TEMP>=1))  DISP_SW=KEY_TEMP+DISP_ALARM10;
 453   3                              TIME_EDIT=EDIT_NONE;
 454   3                              KEY_TEMP=0;
 455   3                              break;
 456   3                        case KEY_MODE:
 457   3                              if(DISP_SW==DISP_TIME)
 458   3                                    DISP_SW=DISP_DATE;
 459   3                              else if(DISP_SW==DISP_DATE)
 460   3                                          DISP_SW=DISP_TIME;
 461   3                              if((DISP_SW!=DISP_TIME)&&(DISP_SW!=DISP_DATE))
 462   3                                    DISP_SW=DISP_TIME;
C51 COMPILER V5.02,  VFD                                                                               11/07/00  14:15:37  PAGE 8   

 463   3                              TIME_EDIT=EDIT_NONE;
 464   3                              break;
 465   3                        case KEY_SET:
 466   3                              if(DISP_SW==DISP_TIME)
 467   3                              {     if((TIME_EDIT>=EDIT_HOUR)&&(TIME_EDIT<=EDIT_SECOND))
 468   4                                    {     TIME_EDIT++;
 469   5                                          if(TIME_EDIT>EDIT_SECOND)
 470   5                                                TIME_EDIT=EDIT_NONE;
 471   5                                    }
 472   4                                    else
 473   4                                          TIME_EDIT=EDIT_HOUR;
 474   4                              };
 475   3                              if(DISP_SW==DISP_DATE)
 476   3                              {     if((TIME_EDIT>=EDIT_YEAR)&&(TIME_EDIT<=EDIT_DAY))
 477   4                                    {     TIME_EDIT++;
 478   5                                          if(TIME_EDIT>EDIT_DAY)
 479   5                                          {     TIME_EDIT=EDIT_NONE;
 480   6                                                DISP_SW=DISP_TIME;
 481   6                                           };
 482   5                                    }
 483   4                                    else
 484   4                                          TIME_EDIT=EDIT_YEAR;
 485   4                              };
 486   3                              if((DISP_SW>=DISP_ALARM1)&&(DISP_SW<=DISP_ALARM16))
 487   3                              {     if((TIME_EDIT>=EDIT_SWITCH)&&(TIME_EDIT<EDIT_END_MINUTE))
 488   4                                    {     TIME_EDIT++;
 489   5                                          if(TIME_EDIT>EDIT_END_MINUTE)
 490   5                                          {     TIME_EDIT=EDIT_NONE;
 491   6                                                DISP_SW=DISP_TIME;
 492   6                                           };
 493   5                                    }
 494   4                                    else
 495   4                                          TIME_EDIT=EDIT_SWITCH;
 496   4                              };
 497   3                              if(TIME_EDIT<=EDIT_BG_MINUTE)
 498   3                                    DISP_BG_END=1;
 499   3                              else
 500   3                                    DISP_BG_END=0;
 501   3                              break;
 502   3                        case KEY_CHANGE:
 503   3                              COUNT2=0;
 504   3                              switch(TIME_EDIT)
 505   3                              {
 506   4                                    case EDIT_YEAR:
 507   4                                          YEAR++;
 508   4                                          if(YEAR>10)
 509   4                                                YEAR=0;
 510   4                                          break;
 511   4                                    case EDIT_MONTH:
 512   4                                          MONTH++;
 513   4                                          if(MONTH>12)
 514   4                                                MONTH=0;
 515   4                                          break;
 516   4                                    case EDIT_DAY:
 517   4                                          DAY++;
 518   4                                          if((DAY==29)&&(MONTH==2)&&(!LEAP_YEAR()))
 519   4                                                DAY=0;
 520   4                                          if((DAY==30)&&(MONTH==2))
 521   4                                                if(LEAP_YEAR())
 522   4                                                      DAY=0;
 523   4                                          if((DAY==31)&&(!LEAP_MONTH()))
 524   4                                                DAY=0;
 525   4                                          if(DAY>=32)
 526   4                                                DAY=0;
 527   4                                    case EDIT_HOUR:
 528   4                                          HOUR++;
 529   4                                          if(HOUR>24)
C51 COMPILER V5.02,  VFD                                                                               11/07/00  14:15:37  PAGE 9   

 530   4                                                HOUR=0;
 531   4                                          break;
 532   4                                    case EDIT_MINUTE:
 533   4                                          MINUTE++;
 534   4                                          if(MINUTE>60)
 535   4                                                MINUTE=0;
 536   4                                          break;
 537   4                                    case EDIT_SECOND:
 538   4                                          SECOND=0;
 539   4                                          break;
 540   4                                    case EDIT_SWITCH:
 541   4                                          if((DISP_SW<=9)&&(DISP_SW>1))
 542   4                                          {     ALARM_ON_OFF=ALARM_ON_OFF_1;
 543   5                                                ALARM_ON_OFF>>=(DISP_SW-2);
 544   5                                                if(ALARM_ON_OFF^0)
 545   5                                                {     ALARM_ON_OFF=1;
 546   6                                                      ALARM_ON_OFF<<=(DISP_SW-2);
 547   6                                                      ALARM_ON_OFF=~ALARM_ON_OFF;

⌨️ 快捷键说明

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