📄 yk.lst
字号:
267 2 {
268 3 case 0:
269 3 Led=3;
270 3 break;
271 3 case 1:
272 3 Led=1;
273 3 break;
274 3 case 2:
275 3 Led=2;
276 3 break;
277 3 case 3:
278 3 Led=0;
279 3 break;
280 3 default:
281 3 Led=0;
282 3 break;
283 3 }
284 2
285 2 write7279(UNDECODE+Led*2+1,Seg&Yk_En,0);
286 2 write7279(UNDECODE+Led*2,~Seg&Yk_En,0);
287 2
288 2 }
289 1
290 1 Seg=0;
291 1 Status= Read1B(12,0);
292 1 Status&=0x0f;
293 1 Status_Tmp= Read1B(14,0);
294 1 Status_Tmp&=0xf0;
295 1 Status|=Status_Tmp;
296 1 if (Status&0x01) Seg|=0x40;
297 1 if (Status&0x02) Seg|=0x20;
298 1 if (Status&0x04) Seg|=0x10;
299 1 if (Status&0x08) Seg|=0x08;
300 1 if (Status&0x10) Seg|=0x04;
301 1 if (Status&0x20) Seg|=0x02;
302 1 if (Status&0x40) Seg|=0x01;
303 1 if (Status&0x80) Seg|=0x80;
C51 COMPILER V6.12 YK 10/22/2004 10:23:10 PAGE 6
304 1 Yk_En=0;
305 1 Status= Read1B(17,0);
306 1 Status&=0x0f;
307 1 Status_Tmp= Read1B(19,0);
308 1 Status_Tmp&=0xf0;
309 1 Status|=Status_Tmp;
310 1
311 1 if (Status&0x01) Yk_En|=0x40;
312 1 if (Status&0x02) Yk_En|=0x20;
313 1 if (Status&0x04) Yk_En|=0x10;
314 1 if (Status&0x08) Yk_En|=0x08;
315 1 if (Status&0x10) Yk_En|=0x04;
316 1 if (Status&0x20) Yk_En|=0x02;
317 1 if (Status&0x40) Yk_En|=0x01;
318 1 if (Status&0x80) Yk_En|=0x80;
319 1
320 1 write7279(UNDECODE+1,Seg&Yk_En,1);
321 1 write7279(UNDECODE,~Seg&Yk_En,1);
322 1
323 1 }
324
325
326
327
328 void YkPro(BYTE YkNo,BYTE YkHf)
329 {
330 1 BYTE i,j,YkData;
331 1 Yk_Clr=1;
332 1 Yk_Do=1;
333 1 Yk_Do=0;
334 1 Yk_Do=1;
335 1 YkStart=1;
336 1 YkCount=0;
337 1 i=YkNo/4;
338 1 j=YkNo%4;
339 1 YkData=0;
340 1 if(YkHf==0xcc) //Kai
341 1 {
342 2 YkData=H_TAB[j];
343 2 }
344 1 if(YkHf==0x33) //Guan
345 1 {
346 2 YkData=F_TAB[j];
347 2 }
348 1 switch (i)
349 1 {
350 2 case 0: //1-4
351 2 Yk0=YkData;
352 2 break;
353 2 case 1: //5-8
354 2 Yk1=YkData;
355 2 break;
356 2 case 2: //9-12
357 2 Yk2=YkData;
358 2 break;
359 2 case 3: //13-16
360 2 Yk3=YkData;
361 2 break;
362 2 case 4: //17-20
363 2 Yk4=YkData;
364 2 break;
365 2 case 5: //21-24
C51 COMPILER V6.12 YK 10/22/2004 10:23:10 PAGE 7
366 2 Yk5=YkData;
367 2 break;
368 2 case 6: //25-28
369 2 Yk6=YkData;
370 2 break;
371 2 case 7: //29-32
372 2 Yk7=YkData;
373 2 break;
374 2 case 8: //33-36
375 2 /* P3_6=0;
376 2 Object8=0;
377 2 P0=YkData;
378 2 P3_6=1;
379 2 Object8=1; */
380 2 Object8=0;
381 2 Yk8_9=YkData;
382 2 Object8=1;
383 2 break;
384 2 case 9: //37-40
385 2 /*P3_6=0;
386 2 Object9=0;
387 2 P0=YkData;
388 2 P3_6=1;
389 2 Object9=1; */
390 2 Object9=0;
391 2 Yk8_9=YkData;
392 2 Object9=1;
393 2 break;
394 2 default:
395 2 Yk_Clr=0;
396 2 Yk_UnDo=1;
397 2 Yk_UnDo=0;
398 2 Yk_UnDo=1;
399 2 break;
400 2 }
401 1
402 1 Disp_Flag=1;
403 1 {
404 2 Tmp1=YkNo/8;
405 2 i=Read1B(10+Tmp1,0);
406 2 j=1<<(YkNo%8);
407 2 if(YkHf==0xcc)
408 2 {
409 3 i|=j;
410 3 }
411 2 else
412 2 {
413 3 i&=~j;
414 3 }
415 2 Write1B(i,10+Tmp1,0);
416 2
417 2 }
418 1
419 1 }
420
421
422 void Yk_Auto(void)
423 {
424 1 BYTE i,j;
425 1
426 1 j=Week-1;
427 1 for(i=0;i<5;i++) // AUTO ON
C51 COMPILER V6.12 YK 10/22/2004 10:23:10 PAGE 8
428 1 {
429 2 Yk_Time.Hour=Read1B(20+10*j+i*2,0);
430 2 if(Yk_Time.Hour&0x80)
431 2 {
432 3 Yk_Time.Hour&=0x7f;
433 3 Yk_Time.Minute=Read1B(20+10*j+i*2+1,0);
434 3 Cs12887=0;
435 3 if(Yk_Time.Hour==Hour && Yk_Time.Minute==Minute )
436 3 {
437 4 Yk_All=1;
438 4 YkStart=0;
439 4 YkNo=0;
440 4 YkHf=0xcc;
441 4 }
442 3 Cs12887=1;
443 3 }
444 2
445 2 Yk_Time.Hour=Read1B(90+10*j+i*2,0); //AUTO OFF
446 2 if(Yk_Time.Hour&0x80)
447 2 {
448 3 Yk_Time.Hour&=0x7f;
449 3 Yk_Time.Minute=Read1B(90+10*j+i*2+1,0);
450 3 Cs12887=0;
451 3 if(Yk_Time.Hour==Hour && Yk_Time.Minute==Minute )
452 3 {
453 4 Yk_All=1;
454 4 YkStart=0;
455 4 YkNo=0;
456 4 YkHf=0x33;
457 4 }
458 3 Cs12887=1;
459 3 }
460 2
461 2
462 2 }
463 1
464 1 }
465
466
467 main()
468 { BYTE Day_Tmp,Tmp1,Tmp2,i,j,Minute_Tmp;
469 1 init();
470 1
471 1 /* Yk_All=1;
472 1 YkStart=0;
473 1 YkNo=0;
474 1 YkHf=0xcc; */
475 1 YkStart=0;
476 1 Yk_Fresh=0;
477 1 YkNo=0;
478 1 loop:
479 1
480 1 /* Tmp1++;
481 1 Write1B(0x55,0x30,0);
482 1 Tmp2=Read1B(0x30,0);
483 1 if(Tmp2!=0x55)
484 1 {
485 1 i++;
486 1 }
487 1 Cs12887=0;
488 1 Tmp1=Second;
489 1 Tmp1=Year;
C51 COMPILER V6.12 YK 10/22/2004 10:23:10 PAGE 9
490 1 Tmp1=Month;
491 1 Tmp1=0;
492 1 Tmp1=Week;
493 1 // Nvram[0]=0x55;
494 1 Tmp1=Nvram[0];
495 1 Cs12887=1; */
496 1 if(Time_Counter>5)
497 1 {
498 2 //DIR485=0;
499 2 //SBUF=0x55;
500 2 Run=~Run;
501 2 Time_Counter=0;
502 2 /* YkPro(YkNo,0xcc);
503 2 YkPro(YkNo,0x33);
504 2 YkPro(YkNo,0xcc);
505 2 YkNo++;
506 2 YkNo%=40; */
507 2 }
508 1 if(Rcv_Flag)
509 1 {
510 2 Rcv_Pro();
*** WARNING C206 IN LINE 510 OF C:\MY\DDYK\YK.C: 'Rcv_Pro': missing function-prototype
511 2 }
512 1 if(Trs_Flag==1 && Trs_Wp==Trs_Rp)
513 1 {
514 2 Trs_Edit();
*** WARNING C206 IN LINE 514 OF C:\MY\DDYK\YK.C: 'Trs_Edit': missing function-prototype
515 2 }
516 1 if(Rcv_Count>10) Rcv_Wp=0;
517 1
518 1 if (YkCount>2)
519 1 {
520 2
521 2 YkStart=0;
522 2 YkCount=0;
523 2 Yk_Clr=0;
524 2 Yk_UnDo=1;
525 2 Yk_UnDo=0;
526 2 Yk_UnDo=1;
527 2 Disp_Flag=1;
528 2 }
529 1 if(Disp_Flag) Disp();
530 1
531 1 if((Yk_All==1) && (YkStart==0))
532 1 {
533 2 YkPro(YkNo,YkHf);
534 2 YkNo++;
535 2 if(YkNo==40)
536 2 {
537 3 YkNo=0;
538 3 Yk_All=0;
539 3 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -