📄 sky_main.lst
字号:
550 2 {
551 3 SingleData(u8Column,0x00); /* erase a column */
552 3 }
553 2 }
554 1 }
555 void SetRAMAddr (UINT8 Page, UINT8 Col)
556 {
557 1 SingleCmd(X_ADRESS | Page); /* Set the page number */
558 1 SingleCmd(Y_ADRESS |Col);
559 1 }
560
561
562 void LOGO(void)
563 {
564 1 data char j,k;
565 1 data UINT8 temp;
566 1
567 1 for(k=63;k>=0;k--)
C51 COMPILER V6.14 SKY_MAIN 12/30/2004 22:34:59 PAGE 11
568 1 {
569 2 for(j=1;j<7;j++)
570 2 {
571 3 SetRAMAddr(j,k);
572 3 SingleData(k,0xff);
573 3 SetRAMAddr(j,127-k);
574 3 SingleData(127-k,0xff);
575 3 }
576 2 }
577 1 ClearWatchDog();
578 1 Delay1(60000);
579 1 for(k=63;k>=0;k--)
580 1 {
581 2 for(j=1;j<7;j++)
582 2 {
583 3 SetRAMAddr(j,k);
584 3 SingleData(k,logobmp[j-1][k]);
585 3 SetRAMAddr(j,127-k);
586 3 SingleData(127-k,logobmp[j-1][127-k]);
587 3 }
588 2 Delay1(3000);
589 2 temp=KeyScan();
590 2 if(temp !=0)
591 2 return;
592 2 }
593 1 ClearWatchDog();
594 1 for(k=63;k>=0;k--)
595 1 {
596 2 for(j=1;j<7;j++)
597 2 {
598 3 SetRAMAddr(j,k);
599 3 SingleData(k,~logobmp[j-1][k]);
600 3 SetRAMAddr(j,127-k);
601 3 SingleData(127-k,~logobmp[j-1][127-k]);
602 3 }
603 2 Delay1(3000);
604 2 temp=KeyScan();
605 2 if(temp !=0)
606 2 return;
607 2 }
608 1 ClearWatchDog();
609 1 Delay1(60000);
610 1 for(k=63;k>=0;k--)
611 1 {
612 2 for(j=1;j<7;j++)
613 2 {
614 3 SetRAMAddr(j,k);
615 3 SingleData(k,logobmp[j-1][k]);
616 3 SetRAMAddr(j,127-k);
617 3 SingleData(127-k,logobmp[j-1][127-k]);
618 3 }
619 2 Delay1(3000);
620 2 temp=KeyScan();
621 2 if(temp !=0)
622 2 return;
623 2 }
624 1 ClearWatchDog();
625 1 Delay1(60000);
626 1 }
627
628 void HzDisplay(unsigned char *page_num, unsigned char page_y_in, unsigned char col_x_in,bit flag)
629 {
C51 COMPILER V6.14 SKY_MAIN 12/30/2004 22:34:59 PAGE 12
630 1 data unsigned char i;
631 1 data unsigned char page_y;
632 1 data unsigned char col_x;
633 1
634 1 page_y = page_y_in;
635 1 col_x = col_x_in;
636 1
637 1 SetRAMAddr(page_y,col_x);
638 1 for (i=0;i<16;i++) {
639 2 if(flag==0)
640 2 SingleData(col_x,page_num[i]);
641 2 else
642 2 SingleData(col_x,~(page_num[i]));
643 2 }
644 1 SetRAMAddr(page_y+1,col_x);
645 1 for (i=16;i<32;i++) {
646 2 if(flag==0)
647 2 SingleData(col_x,page_num[i]);
648 2 else
649 2 SingleData(col_x,~(page_num[i]));
650 2 }
651 1 }
652
653 void Display_Line(unsigned char num, unsigned char page_y_in, unsigned char len,bit flag)
654 {
655 1 data UINT8 i;
656 1 for(i=0;i<len;i++)
657 1 {
658 2 switch(num)
659 2 {
660 3 case 1:
661 3 HzDisplay(menu1[i], page_y_in, i*16,flag);
662 3 break;
663 3 case 2:
664 3 HzDisplay(menu2[i], page_y_in, i*16,flag);
665 3 break;
666 3 case 3:
667 3 HzDisplay(menu3[i], page_y_in, i*16,flag);
668 3 break;
669 3 case 4:
670 3 HzDisplay(menu4[i], page_y_in, i*16,flag);
671 3 break;
672 3 case 5:
673 3 HzDisplay(menu5[i], page_y_in, i*16,flag);
674 3 break;
675 3 case 6:
676 3 HzDisplay(menu6[i], page_y_in, i*16,flag);
677 3 break;
678 3 case 7:
679 3 HzDisplay(menu7[i], page_y_in, i*16,flag);
680 3 break;
681 3 case 8:
682 3 HzDisplay(menu8[i], page_y_in, i*16,flag);
683 3 break;
684 3 case 9:
685 3 HzDisplay(menu9[i], page_y_in, i*16,flag);
686 3 break;
687 3 case 10:
688 3 HzDisplay(menu10[i], page_y_in, i*16,flag);
689 3 break;
690 3 case 11:
691 3 HzDisplay(menu11[i], page_y_in, i*16,flag);
C51 COMPILER V6.14 SKY_MAIN 12/30/2004 22:34:59 PAGE 13
692 3 break;
693 3 }
694 2 }
695 1 }
696 void Display_Save(UINT8 row,UINT8 col)
697 {
698 1 Msingle_font_pattern(Save[0],row,col,0);
699 1 Msingle_font_pattern(Save[1],row,col+8,0);
700 1 Msingle_font_pattern(Save[2],row,col+16,0);
701 1 Msingle_font_pattern(Save[3],row,col+24,0);
702 1 Delay1(50000);
703 1 Msingle_font_pattern(space,row,col,0);
704 1 Msingle_font_pattern(space,row,col+8,0);
705 1 Msingle_font_pattern(space,row,col+16,0);
706 1 Msingle_font_pattern(space,row,col+24,0);
707 1 }
708 void Num_Display(UINT8 num, unsigned char page_y_in, unsigned char col_x_in,bit flag)
709 {
710 1 data UINT8 temp;
711 1 temp=num/10;
712 1 Msingle_font_pattern(Time_offset[temp],page_y_in,col_x_in,flag);
713 1 temp=num%10;
714 1 Msingle_font_pattern(Time_offset[temp],page_y_in,col_x_in+8,flag);
715 1 }
716 void Msingle_font_pattern(unsigned char *page_num, unsigned char page_y_in, unsigned char col_x_in,bit fla
-g)
717 {
718 1 data unsigned char i;
719 1 data unsigned char page_y;
720 1 data unsigned char col_x;
721 1
722 1 page_y = page_y_in;
723 1 col_x = col_x_in;
724 1 SetRAMAddr(page_y,col_x);
725 1 for (i=0;i<8;i++) {
726 2 if(flag==0)
727 2 SingleData(col_x,page_num[i]);
728 2 else
729 2 SingleData(col_x,~(page_num[i]));
730 2 }
731 1 SetRAMAddr(page_y+1,col_x);
732 1 for (i=8;i<16;i++) {
733 2 if(flag==0)
734 2 SingleData(col_x,page_num[i]);
735 2 else
736 2 SingleData(col_x,~(page_num[i]));
737 2 }
738 1 }
739
740 void Time_display(UINT8 row,UINT8 h,UINT8 m,UINT8 s,UINT8 n)
741 {
742 1 HzDisplay(HZ[3],row,32,0);
743 1 HzDisplay(HZ[4],row,64,0);
744 1 HzDisplay(HZ[5],row,96,0);
745 1 Num_Display(h,row,16,0);
746 1 Num_Display(m,row,48,0);
747 1 Num_Display(s,row,80,0);
748 1 switch(n)
749 1 {
750 2 case 0:
751 2 Num_Display(h,row,16,1);
752 2 break;
C51 COMPILER V6.14 SKY_MAIN 12/30/2004 22:34:59 PAGE 14
753 2 case 1:
754 2 Num_Display(m,row,48,1);
755 2 break;
756 2 case 2:
757 2 Num_Display(s,row,80,1);
758 2 break;
759 2 }
760 1 }
761
762
763 void Date_display(UINT8 w,UINT8 y,UINT8 m,UINT8 d,UINT8 n)
764 {
765 1 HzDisplay(HZ[6],0,0,0);
766 1 HzDisplay(HZ[7],0,16,0);
767 1 HzDisplay(HZ[0],3,32,0);
768 1 HzDisplay(HZ[1],3,64,0);
769 1 HzDisplay(HZ[2],3,96,0);
770 1 HzDisplay(WEEK1[w],0,32,0);
771 1 Num_Display(20,3,0,0);
772 1 Num_Display(y,3,16,0);
773 1 Num_Display(m,3,48,0);
774 1 Num_Display(d,3,80,0);
775 1 switch(n)
776 1 {
777 2 case 0:
778 2 Num_Display(y,3,16,1);
779 2 break;
780 2 case 1:
781 2 Num_Display(m,3,48,1);
782 2 break;
783 2 case 2:
784 2 Num_Display(d,3,80,1);
785 2 break;
786 2 }
787 1 }
788
789
790 /********************************************************************************************************/
791 /* System Register of CPU Initialize */
792 /********************************************************************************************************/
793 void CPUInitial(void)//CPU初始化
794 {
795 1 IE = 0x80;
796 1 IP = 0x01;
797 1 P0 = 0xff;
798 1 P1 = 0xFF;
799 1 P2 = 0xff;
800 1 P3 = 0xff;
801 1 WDT=0x87;
802 1 }
803 void ClearWatchDog(void)
804 {
805 1 WDT=0xc7;
806 1 Delay1(200);
807 1 WDT=0x87;
808 1 }
809
810 void Timer0_Init(void)//时钟0初始化
811 {
812 1 TMOD=0x01;
813 1 TCON = 0x00;
814 1 TL0 = 0xe5;
C51 COMPILER V6.14 SKY_MAIN 12/30/2004 22:34:59 PAGE 15
815 1 TH0 = 0x3c;
816 1 TR0 = 1 ;
817 1 }
818
819 void Delay1(UINT16 time)
820 {
821 1 UINT16 i;
822 1 for(i=0;i<time;i++);
823 1 }
824
825 void OnOffContral(void)
826 {
827 1 data UINT8 temp,i,sh,sm,ss,eh,em,es,w;
828 1 bit ocflag;
829 1 data int begin,end,mid;
830 1 data UINT16 addr;
831 1
832 1 for(i=0;i<15;i++)
833 1 {
834 2 temp=EEPROMByteRead0(0x01+i);
835 2 Delay1(100);
836 2 if(temp==0)
837 2 w=1;
838 2 else
839 2 w=Week;
840 2 temp=EEPROMByteRead0(16+Week*15+i);
841 2 Delay1(100);
842 2 if(temp==0)
843 2 {
844 3 Contral8255(i,0);
845 3 LedContral(i,0);
846 3 Luopencloseflag[i]=0;
847 3 continue;
848 3 }
849 2 ocflag=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -