📄 timer.lst
字号:
701 void read_timer(char temp1,struct TIME *time)//read timer zl.d
702 {
703 1 unsigned char data temp[3]=0;
704 1 unsigned char data temp2=0;
705 1 unsigned char data i;
706 1 struct TIME *currrret_time;
707 1 currrret_time=time;
708 1 temp2=temp1;
709 1 switch(temp2)
710 1 {
711 2 case 1:
712 2 shi_sub_read1(0x66, 0x02, &temp);//read current time 2
713 2 i=((temp[0]&0x30)>>4)*10+(temp[0]&0x0f);//zl.d 2006.1.3
714 2 (*currrret_time).hour=i;
715 2 i=((temp[1]&0x70)>>4)*10+(temp[1]&0x0f);
716 2 (*currrret_time).minute=i;
717 2 i=((temp[2]&0x70)>>4)*10+(temp[2]&0x0f);
718 2 (*currrret_time).second=i;
719 2 break;
720 2 case 2:
721 2 shi_sub_read1(0x68, 0x02, &temp);//read int1
722 2 i=((temp[1]&0x30)>>4)*10+(temp[1]&0x0f);//zl.d 2006.1.3
723 2 (*currrret_time).hour=i;
724 2 i=((temp[2]&0x70)>>4)*10+(temp[2]&0x0f);
725 2 (*currrret_time).minute=i;
726 2 break;
727 2 case 3:
728 2 shi_sub_read1(0x6a, 0x02, &temp);//read int2
729 2 i=((temp[1]&0x30)>>4)*10+(temp[1]&0x0f);//zl.d 2006.1.3
730 2 (*currrret_time).hour=i;
731 2 i=((temp[2]&0x70)>>4)*10+(temp[2]&0x0f);
732 2 (*currrret_time).minute=i;
733 2 break;
734 2 default:
735 2 break;
736 2
C51 COMPILER V7.50 TIMER 01/17/2006 21:30:47 PAGE 13
737 2 }
738 1 //delay_nop();
739 1 DelayXms(0x3A);
740 1
741 1 //time=&curr_time;
742 1 }
743 /////////////////////////////////////////////////////////////////
744
745 void write_timer(char temp1,struct TIME *time)
746 {
747 1 unsigned char data temp[3]=0;
748 1 unsigned char data i;
749 1 unsigned char data temp2=0;
750 1 unsigned char data temp3=0;
751 1 struct TIME *currrret_time;
752 1 temp2=temp1;
753 1 currrret_time=time;
754 1 temp3=0;
755 1 switch(temp2)
756 1 {
757 2 case 1:
758 2 temp[0] = (*currrret_time).hour/10;
759 2 i=(*currrret_time).hour%10;
760 2 temp[0]=(temp[0]<<4)+i;
761 2 //printf("temp%bx",temp[0]);
762 2 //printf("currrret_time).minute%bx\n",(*currrret_time).minute);
763 2 temp[1]=(*currrret_time).minute/10;
764 2 i= (*currrret_time).minute%10;
765 2 temp[1]=(temp[1]<<4)+i;
766 2 //printf("write4==%bx%bx%bx\n",temp[0],temp[1],temp[2]);
767 2 temp[2]=(*currrret_time).second/10;
768 2 i= (*currrret_time).second%10;
769 2 temp[2]=(temp[2]<<4)+i;
770 2 shi_sub_write1(0x66, 0x02, &temp);
771 2 break;
772 2 case 2:
773 2 if((*currrret_time).hour>12){temp3=12;}
774 2 else temp3=8;
775 2
776 2 temp[1] = (*currrret_time).hour/10;
777 2 temp[1]+=temp3;
778 2 i=(*currrret_time).hour%10;
779 2 temp[1]=(temp[1]<<4)+i;
780 2
781 2 temp[2]=(*currrret_time).minute/10;
782 2 temp[2]+=8;
783 2 i= (*currrret_time).minute%10;
784 2 temp[2]=(temp[2]<<4)+i;
785 2
786 2 temp[0]=0;
787 2
788 2 shi_sub_write1(0x68, 0x02, &temp);
789 2 break;
790 2 case 3:
791 2
792 2 if((*currrret_time).hour>12){temp3=12;}
793 2 else temp3=8;
794 2
795 2 temp[1] = (*currrret_time).hour/10;
796 2 temp[1]+=temp3;
797 2 i=(*currrret_time).hour%10;
798 2 temp[1]=(temp[1]<<4)+i;
C51 COMPILER V7.50 TIMER 01/17/2006 21:30:47 PAGE 14
799 2
800 2 temp[2]=(*currrret_time).minute/10;
801 2 temp[2]+=8;
802 2 i= (*currrret_time).minute%10;
803 2 temp[2]=(temp[2]<<4)+i;
804 2
805 2 temp[0]=0;
806 2 shi_sub_write1(0x6a, 0x02, &temp);
807 2 break;
808 2 default:
809 2 break;
810 2
811 2 }
812 1
813 1 /*
814 1 curr_time.hour=temp1[0];
815 1 temp1[0] = curr_time.hour/10;
816 1 i= curr_time.hour%10;
817 1 temp1[0]=(temp[0]<<4)+i;
818 1 printf("temp1[0]%bx",temp1[0]);
819 1 curr_time.minute=temp1[1];
820 1 temp1[1] = curr_time.minute/10;
821 1 i= curr_time.minute%10;
822 1 temp1[1]=(temp1[1])<<4+i;
823 1 printf("temp1[1]%bx\n",temp1[1]);
824 1 */
825 1 }
826 ////////////////////////////////////////////////////////////////////
827 void init_s35390()//init s3539 zl.d 2005.12.26
828 {
829 1 char device ;
830 1 char tmp2,tmp,tmp3[7]={0};
831 1
832 1
833 1 device=S3539+0x00;//powner reset s35390A zl.d 2005.26
834 1 tmp=4;
835 1 shi_sub_read1( device, 0x00, &tmp);DelayXms(0x3A);
836 1 printf("ini_tstate0==%bx\n",tmp);
837 1 if (tmp&0x80 | tmp&0x40)
838 1 {
839 2 tmp2=0x01;
840 2 device=S3539+0x00;
841 2 shi_sub_write1(device, 0x00, &tmp2);
842 2 DelayXms(0x3A); DelayXms(0x3A);
843 2
844 2 tmp2=0x02;
845 2
846 2
847 2 shi_sub_read1( device, 0x00, &tmp);DelayXms(0x3A);
848 2 printf("dzl4==%bx\n",tmp);
849 2 }
850 1 tmp2=0x02;
851 1 device=S3539+0x00;
852 1 shi_sub_write1(0x60, 0x00, &tmp2);
853 1 //tmp2=0x44;
854 1 //shi_sub_write1(0x62, 0x00, &tmp2);
855 1 tmp2=0x44;
856 1 shi_sub_write1(0x62, 0x00, &tmp2);
857 1
858 1 /*
859 1 shi_sub_read1( 0x60, 0x00, &tmp);
860 1 printf("state1==%bx\n",tmp);
C51 COMPILER V7.50 TIMER 01/17/2006 21:30:47 PAGE 15
861 1 shi_sub_read1( 0x62, 0x00, &tmp);
862 1 printf("state2==%bx\n",tmp);
863 1 shi_sub_read1( 0x64, 0x00, &tmp);
864 1 printf("state3==%bx\n",tmp);
865 1
866 1 shi_sub_read1( 0x66, 0x02, &tmp3);
867 1 printf("state4==%bx%bx%bx\n",tmp3[0],tmp3[1],tmp3[2]);
868 1 tmp3[0]=0;tmp3[1]=0;tmp3[2]=0;
869 1 shi_sub_read1( 0x66, 0x02, &tmp3);
870 1 printf("state4==%bx%bx%bx\n",tmp3[0],tmp3[1],tmp3[2]);
871 1 tmp3[0]=0;tmp3[1]=0;tmp3[2]=0;
872 1 shi_sub_read1( 0x66, 0x02, &tmp3);
873 1 printf("state4==%bx%bx%bx\n",tmp3[0],tmp3[1],tmp3[2]);
874 1 tmp3[0]=0;tmp3[1]=0;tmp3[2]=0;
875 1
876 1
877 1 tmp3[0]=1;tmp3[1]=2;tmp3[2]=3;
878 1 shi_sub_write1(0x66, 0x02, &tmp3);
879 1 shi_sub_read1( 0x66, 0x02, &tmp3);
880 1 printf("state4==%bx%bx%bx\n",tmp3[0],tmp3[1],tmp3[2]);
881 1 tmp3[0]=4;tmp3[1]=5;tmp3[2]=6;
882 1 shi_sub_write1(0x66, 0x02, &tmp3);
883 1 shi_sub_read1( 0x66, 0x02, &tmp3);
884 1 printf("state4==%bx%bx%bx\n",tmp3[0],tmp3[1],tmp3[2]);
885 1 tmp3[0]=7;tmp3[1]=7;tmp3[2]=9;
886 1 shi_sub_write1(0x66, 0x02, &tmp3);
887 1 shi_sub_read1( 0x66, 0x02, &tmp3);
888 1 printf("state4==%bx%bx%bx\n",tmp3[0],tmp3[1],tmp3[2]);
889 1
890 1
891 1
892 1 shi_sub_read1( 0x68, 0x00, &tmp);
893 1 printf("state5==%bx\n",tmp);
894 1 shi_sub_read1( 0x6a, 0x00, &tmp);
895 1 printf("state6==%bx\n",tmp);
896 1 shi_sub_read1( 0x6c, 0x00, &tmp);
897 1 printf("state7==%bx\n",tmp);
898 1 shi_sub_read1( 0x6e, 0x00, &tmp);
899 1 printf("state8==%bx\n",tmp);
900 1 */
901 1
902 1 /* tmp2=0x0a;
903 1 device=S3539+0x00;
904 1 shi_sub_write1(device, 0x00, &tmp2);
905 1 shi_sub_read1( device, 0x00, &tmp);DelayXms(0x3A);
906 1 printf("write%bx",tmp);*/
907 1
908 1 /* device=S3539+0x04;
909 1 shi_sub_read1( device, 0x06, &tmp3);DelayXms(0x3A);
910 1 printf("dzl5==%bx\n",tmp3[0]);
911 1 printf("dzl5==%bx\n",tmp3[1]);
912 1 printf("dzl5==%bx\n",tmp3[2]);
913 1 printf("dzl5==%bx\n",tmp3[3]);
914 1 printf("dzl5==%bx\n",tmp3[4]);
915 1 printf("dzl5==%bx\n",tmp3[5]);printf("dzl5==%bx\n",tmp3[6]);*/
916 1
917 1
918 1 }
919 //////////////////////////////////////////////////////////////////////
MODULE INFORMATION: STATIC OVERLAYABLE
C51 COMPILER V7.50 TIMER 01/17/2006 21:30:47 PAGE 16
CODE SIZE = 3702 ----
CONSTANT SIZE = 208 ----
XDATA SIZE = 11 25
PDATA SIZE = ---- ----
DATA SIZE = 2 32
IDATA SIZE = ---- 15
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -