📄 vfd.lst
字号:
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 + -