📄 wannianli.lst
字号:
703 3 d=read_clock(0x89);//读月
704 3 e=d;
705 3 d=d>>4;
706 3 e=e&0x0f;
707 3 Mcs=1;Scs=0;
708 3 Disp_Digit(1,56,zero+d*16);
709 3 Mcs=0;Scs=1;
710 3 Disp_Digit(1,0,zero+e*16);
711 3 Disp_Chinese(1,8,yue);
712 3 }
713 2 else
714 2 {
715 3 Mcs=1;Scs=0;
716 3 Disp_Digit(1,56,space); //显示空格
717 3 Mcs=0;Scs=1;
718 3 Disp_Digit(1,0,space);
719 3 }
720 2 }
721 1 else
722 1 {
723 2 d=read_clock(0x89);//读月
724 2 e=d;
725 2 d=d>>4;
726 2 e=e&0x0f;
727 2 Mcs=1;Scs=0;
728 2 Disp_Digit(1,56,zero+d*16);
729 2 Mcs=0;Scs=1;
730 2 Disp_Digit(1,0,zero+e*16);
731 2 Disp_Chinese(1,8,yue);
732 2 }
733 1
734 1 if(day==1) //日闪烁标志位
735 1 {
736 2 if(flag==1)
737 2 {
738 3 d=read_clock(0x87);//读日
739 3 e=d;
740 3 d=d>>4;
741 3 e=e&0x0f;
742 3 Mcs=0;Scs=1;
743 3 Disp_Digit(1,24,zero+d*16);
744 3 Disp_Digit(1,32,zero+e*16);
745 3 Disp_Chinese(1,40,ri);
746 3 }
747 2 else
748 2 {
749 3 Mcs=0;Scs=1;
750 3 Disp_Digit(1,24,space); //显示空格
751 3 Disp_Digit(1,32,space);
752 3 }
753 2 }
754 1 else
755 1 {
756 2 d=read_clock(0x87);//读日
757 2 e=d;
758 2 d=d>>4;
759 2 e=e&0x0f;
760 2 Mcs=0;Scs=1;
C51 COMPILER V7.50 WANNIANLI 05/23/2006 13:38:52 PAGE 14
761 2 Disp_Digit(1,24,zero+d*16);
762 2 Disp_Digit(1,32,zero+e*16);
763 2 Disp_Chinese(1,40,ri);
764 2 }
765 1
766 1 if(weekk==1) //星期闪烁标志位
767 1 {
768 2 if(flag==1)
769 2 {
770 3 d=read_clock(0x8b);//读星期
771 3 Mcs=1;Scs=0;
772 3 Disp_Chinese(3,40,cone+(d-1)*32);//写入星期的汉字
773 3 }
774 2 else
775 2 {
776 3 Mcs=1;Scs=0;
777 3 Disp_Chinese(3,40,spaces); //显示空格
778 3 }
779 2 }
780 1 else
781 1 {
782 2 d=read_clock(0x8b);//读星期
783 2 Mcs=1;Scs=0;
784 2 Disp_Chinese(3,40,cone+(d-1)*32);//写入星期的汉字
785 2 }
786 1 }
787
788 /******************************************************************************/
789 void Disp2(void)//显示和闪烁函数
790 {
791 1 if(Kgb==1) //开关闪烁标志位
792 1 {
793 2 if(flag==1)
794 2 {
795 3 if(Bell_Swh == 0)//0为关
796 3 {
797 4 Mcs=0;Scs=1;
798 4 Disp_Chinese(2,32,guan);//显示关
799 4 }
800 3 else
801 3 {
802 4 Mcs=0;Scs=1;
803 4 Disp_Chinese(2,32,kai);//显示开
804 4 }
805 3 }
806 2 else
807 2 {
808 3 Mcs=0;Scs=1;
809 3 Disp_Chinese(2,32,spaces); //显示空格
810 3 }
811 2 }
812 1 else
813 1 {
814 2 if(Bell_Swh == 0)//关
815 2 {
816 3 Mcs=0;Scs=1;
817 3 Disp_Chinese(2,32,guan);
818 3 }
819 2 else
820 2 {
821 3 Mcs=0;Scs=1;
822 3 Disp_Chinese(2,32,kai);
C51 COMPILER V7.50 WANNIANLI 05/23/2006 13:38:52 PAGE 15
823 3 }
824 2 }
825 1
826 1 if(Hourb==1) //时闪烁标志位
827 1 {
828 2 if(flag==1)
829 2 {
830 3 d=read_clock(0xc3);//读闹钟小时的数值
831 3 e=d;
832 3 d=d>>4;
833 3 e=e&0x0f;
834 3 Mcs=1;Scs=0;
835 3 Disp_Digit(4,48,zero+d*16);
836 3 Disp_Digit(4,56,zero+e*16);
837 3 }
838 2 else
839 2 {
840 3 Mcs=1;Scs=0;
841 3 Disp_Digit(4,48,space); //显示空格
842 3 Disp_Digit(4,56,space);
843 3 }
844 2 }
845 1 else
846 1 {
847 2 d=read_clock(0xc3);//读闹钟小时的数值
848 2 e=d;
849 2 d=d>>4;
850 2 e=e&0x0f;
851 2 Mcs=1;Scs=0;
852 2 Disp_Digit(4,48,zero+d*16);
853 2 Disp_Digit(4,56,zero+e*16);
854 2 }
855 1
856 1 if(Minb==1) //分钟闪烁标志位
857 1 {
858 2 if(flag==1)
859 2 {
860 3 d=read_clock(0xc5);//读闹钟分钟的数值
861 3 e=d;
862 3 d=d>>4;
863 3 e=e&0x0f;
864 3 Mcs=0;Scs=1;
865 3 Disp_Digit(4,8,zero+d*16);
866 3 Disp_Digit(4,16,zero+e*16);
867 3 }
868 2 else
869 2 {
870 3 Mcs=0;Scs=1;
871 3 Disp_Digit(4,8,space); //显示空格
872 3 Disp_Digit(4,16,space);
873 3 }
874 2 }
875 1 else
876 1 {
877 2 d=read_clock(0xc5);//读闹钟分钟的数值
878 2 e=d;
879 2 d=d>>4;
880 2 e=e&0x0f;
881 2 Mcs=0;Scs=1;
882 2 Disp_Digit(4,8,zero+d*16);
883 2 Disp_Digit(4,16,zero+e*16);
884 2 }
C51 COMPILER V7.50 WANNIANLI 05/23/2006 13:38:52 PAGE 16
885 1
886 1 if(Secb==1) //秒闪烁标志位
887 1 {
888 2 if(flag==1)
889 2 {
890 3 d=read_clock(0xc7);//读闹钟秒的数值
891 3 e=d;
892 3 d=d>>4;
893 3 e=e&0x0f;
894 3 Mcs=0;Scs=1;
895 3 Disp_Digit(4,32,zero+d*16);
896 3 Disp_Digit(4,40,zero+e*16);
897 3 }
898 2 else
899 2 {
900 3 Mcs=0;Scs=1;
901 3 Disp_Digit(4,32,space); //显示空格
902 3 Disp_Digit(4,40,space);
903 3 }
904 2 }
905 1 else
906 1 {
907 2 d=read_clock(0xc7);//读闹钟秒的数值
908 2 e=d;
909 2 d=d>>4;
910 2 e=e&0x0f;
911 2 Mcs=0;Scs=1;
912 2 Disp_Digit(4,32,zero+d*16);
913 2 Disp_Digit(4,40,zero+e*16);
914 2 }
915 1 }
916
917 /******************************************************************************/
918 void id_case1_key(void)//id为1时的下一级选择
919 {
920 1 if(Add_Key == 0) //增加
921 1 {
922 2 Delay(100);
923 2 if(Add_Key == 0)
924 2 {
925 3 Set_time(id,0); //调用Set_time函数
926 3 backled_flag = 1;//开始记数
927 3 timecount2 = 0;
928 3 }
929 2 while(Add_Key ==0);
930 2 }
931 1 if (Dec_Key==0) //减少
932 1 {
933 2 Delay(100);
934 2 if(Dec_Key == 0)
935 2 {
936 3 Set_time(id,1);
937 3 backled_flag = 1;//开始记数
938 3 timecount2 = 0;
939 3 }
940 2 while(Dec_Key ==0);
941 2 }
942 1 }
943
944 /******************************************************************************/
945 void Set_time(unsigned char sel, bit sel_1) //根据选择调整相应项目并写入DS1302
946 {
C51 COMPILER V7.50 WANNIANLI 05/23/2006 13:38:52 PAGE 17
947 1 signed char address,item;
948 1 signed char max,mini;
949 1 if(sel==7) {address=0x80; max=0;mini=0;} //秒
950 1 if(sel==6) {address=0x82; max=59;mini=0;} //分钟
951 1 if(sel==5) {address=0x84; max=23;mini=0;} //小时
952 1 if(sel==3) {address=0x86; max=31;mini=1;} //日
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -