📄 lcdw.lst
字号:
301 void xingqi()
302 {
C51 COMPILER V9.00 LCDW 06/09/2013 14:34:38 PAGE 6
303 1 xq=n1+(n1/4)+(n2/4)-2*n2+(26*(yy+1)/10)+dd-1;
304 1 xq=xq%7;
305 1 switch(xq)
306 1 {
307 2 case 1:xq=0;break;
308 2 case 2:xq=2;break;
309 2 case 3:xq=4;break;
310 2 case 4:xq=6;break;
311 2 case 5:xq=8;break;
312 2 case 6:xq=10;break;
313 2 case 0:xq=12;break;
314 2 default:break;
315 2 }
316 1 }
317 //
318 void busy() //
319 {
320 1 rs=0;
321 1 rw=1;
322 1 ee=1;
323 1 while(P0&0x80);
324 1 ee=0;
325 1 }
326 //
327 void write_order(uchar order1) //
328 {
329 1 busy();
330 1 rs=0;
331 1 rw=0;
332 1 ee=1;
333 1 P0=order1;
334 1 delay(100);
335 1 ee=0;
336 1 }
337 //
338 void write_data(uchar data1) //
339 {
340 1 busy();
341 1 rs=1;
342 1 rw=0;
343 1 ee=1;
344 1 P0=data1;
345 1 delay(100);
346 1 ee=0;
347 1 }
348 //
349 void bingxing() //
350 {
351 1 delay(4000);
352 1 write_order(0x30);
353 1 delay(100);
354 1 write_order(0x30);
355 1 delay(37);
356 1 write_order(0x0c);
357 1 delay(100);
358 1 write_order(0x01);
359 1 delay(10000);
360 1 write_order(0x06);
361 1 }
362 //
363 void in_ram() //
364 {
C51 COMPILER V9.00 LCDW 06/09/2013 14:34:38 PAGE 7
365 1 uchar j;
366 1 write_order(0x30);
367 1 write_order(0x40);
368 1 for(j=0;j<16;j++)
369 1 {
370 2 write_data(table3[j*2]);
371 2 write_data(table3[j*2+1]);
372 2 }
373 1 write_order(0x50);
374 1 for(j=0;j<16;j++)
375 1 {
376 2 write_data(table4[j*2]);
377 2 write_data(table4[j*2+1]);
378 2 }
379 1 write_order(0x60);
380 1 for(j=0;j<16;j++)
381 1 {
382 2 write_data(table1[j*2]);
383 2 write_data(table1[j*2+1]);
384 2 }
385 1 /* write_order(0x70);
386 1 for(j=0;j<16;j++)
387 1 {
388 1 write_data(table2[j*2]);
389 1 write_data(table2[j*2+1]);
390 1 }*/
391 1 }
392 //
393
394 void shijian()
395 {
396 1 write_order(0x81);
397 1 for(num=0;num<11;num++)
398 1 {
399 2 switch(num)
400 2 {
401 3 case 0:
402 3 write_data(time0[12]);
403 3 break;
404 3 case 1:
405 3 write_data(time0[caiji2(n2)]);
406 3 break;
407 3 case 2:
408 3 write_data(time0[caiji(n2)]);
409 3 break;
410 3 case 3:
411 3 write_data(time0[caiji2(n1)]);
412 3 break;
413 3 case 4:
414 3 write_data(time0[caiji(n1)]);
415 3 break;
416 3 case 5:
417 3 write_data(time0[10]);
418 3 break;
419 3 case 6:
420 3 write_data(time0[caiji2(yy)]);
421 3 break;
422 3 case 7:
423 3 write_data(time0[caiji(yy)]);
424 3 break;
425 3 case 8:
426 3 write_data(time0[10]);
C51 COMPILER V9.00 LCDW 06/09/2013 14:34:38 PAGE 8
427 3 break;
428 3 case 9:
429 3 write_data(time0[caiji2(dd)]);
430 3 break;
431 3 case 10:
432 3 write_data(time0[caiji(dd)]);
433 3 break;
434 3 default:
435 3 break;
436 3 }
437 2 }
438 1 write_order(0x92);
439 1 for(num=0;num<8;num++)
440 1 {
441 2 switch(num)
442 2 {
443 3 case 0:
444 3 write_data(time0[caiji2(aa)]);
445 3 break;
446 3 case 1:
447 3 write_data(time0[caiji(aa)]);
448 3 break;
449 3 case 2:
450 3 write_data(time0[13]);
451 3 break;
452 3 case 3:
453 3 write_data(time0[caiji2(mm)]);
454 3 break;
455 3 case 4:
456 3 write_data(time0[caiji(mm)]);
457 3 break;
458 3 case 5:
459 3 write_data(time0[13]);
460 3 break;
461 3 case 6:
462 3 write_data(time0[caiji2(bb)]);
463 3 break;
464 3 case 7:
465 3 write_data(time0[caiji(bb)]);
466 3 break;
467 3 default:
468 3 break;
469 3 }
470 2 }
471 1 in_ram();
472 1 write_order(0x88);
473 1 for(num=0;num<16;num++)
474 1 {
475 2 if(num<4)
476 2 write_data(tab3[num]);
477 2 switch(num)
478 2 {
479 3 case 4:
480 3 if(xq==4)
481 3 {
482 4 write_data(0x00);
483 4 write_data(0x04);
484 4 }
485 3 else
486 3 write_data(tab5[xq]);
487 3 break;
488 3 case 5:
C51 COMPILER V9.00 LCDW 06/09/2013 14:34:38 PAGE 9
489 3 if(xq==4)break;
490 3 else
491 3 write_data(tab5[xq+1]);
492 3 break;
493 3 case 6:
494 3 write_data(time0[12]);
495 3 break;
496 3 case 7:
497 3 write_data(0x02);
498 3 break;
499 3 case 8:
500 3 write_data(0x02);
501 3 break;
502 3 case 9:
503 3 write_data(time0[ly_dis[0]]);
504 3 break;
505 3 case 10:
506 3 write_data(time0[ly_dis[1]]);
507 3 break;
508 3 case 11:
509 3 write_data(time0[ly_dis[2]]);
510 3 break;
511 3 case 12:
512 3 write_data(time0[11]);
513 3 break;
514 3 case 13:
515 3 write_data(time0[ly_dis[3]]);
516 3 break;
517 3 default:
518 3 break;
519 3 }
520 2 }
521 1 write_order(0x8f);
522 1 for(num=0;num<2;num++)
523 1 {
524 2 write_data(tab4[num]);
525 2 }
526 1 }
527 //
528 void caidan()
529 {
530 1 write_order(0x81);
531 1 for(k=0;k<12;k++)
532 1 {
533 2 write_data(tab3[k+4]);
534 2 }
535 1 write_order(0x92);
536 1 for(k=0;k<8;k++)
537 1 {
538 2 write_data(tab[k]);
539 2 }
540 1 write_order(0x8a);
541 1 for(k=0;k<8;k++)
542 1 {
543 2 write_data(tab2[k]);
544 2 }
545 1 }
546 //
547 void main()
548 {
549 1 bingxing();
550 1 suspend(); //
C51 COMPILER V9.00 LCDW 06/09/2013 14:34:38 PAGE 10
551 1 while(1)
552 1 {
553 2 choose();
554 2 caidan();
555 2 in_ram();
556 2 write_order(0x9b);
557 2 write_data(0x00);
558 2 write_data(0x00);
559 2 write_order(0x9c);
560 2 write_data(0x00);
561 2 write_data(0x02);
562 2 if(kai==1)
563 2 {
564 3 bingxing();
565 3 kai=0;
566 3 TR0=1;
567 3 while(1)
568 3 {
569 4 choose();
570 4 fuzhi();
571 4 xingqi();
572 4 wendu();
573 4 shijian();
574 4 if(kai==1)
575 4 {
576 5 TR0=0;
577 5 break;
578 5 }
579 4 }
580 3 bingxing();
581 3 kai=0;
582 3 }
583 2 //
584 2 /* write_order(0x9a);
585 2 write_data(0x00);
586 2 write_data(0x04);
587 2 //
588 2 write_order(0x9b);
589 2 write_data(0x00);
590 2 write_data(0x06); */
591 2 }
592 1 }
593
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2718 ----
CONSTANT SIZE = 165 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 44 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -