📄 main.lst
字号:
775 {
776 1 if(fill == 0)
777 1 rectangle(SAD2,6+(select/11)*160,2+(select%11)*20,150+(select/11)*160,19+(select%11)*20,0);
778 1 else
779 1 rectangle(SAD2,6+(select/11)*160,2+(select%11)*20,150+(select/11)*160,19+(select%11)*20,1);
780 1 }
781
782 void doinput() reentrant
783 {
784 1 unsigned char h,l;
785 1 switch(buttonselect)
786 1 {
787 2 case 17://RS485out
788 2 if(getstr(216,122,8))
789 2 {
790 3 h = 0;
791 3 while(disstr[h] != 0)
792 3 {
793 4 rs485out = disstr[h];
794 4 bout485 = 1;
795 4 RS485 = 0;
796 4 TI = 1;
797 4 OSTimeDly(2);
798 4 h++;
799 4 }
C51 COMPILER V8.02 MAIN 09/21/2008 12:29:52 PAGE 14
800 3 }
801 2 break;
802 2 case 18://AD667
803 2 if(getstrnumber(216,142,4))
804 2 {
805 3 da667 = (unsigned int)atoi(disstr);
806 3 if(da667>4095)
807 3 da667 = 4095;
808 3 l=da667%16;
809 3 l=l*16;
810 3 h=(unsigned char)(da667/16);
811 3 LDA667=l;
812 3 HDA667=h;
813 3 vda667 = da667;
814 3 vda667 /=409.5;
815 3 }
816 2 break;
817 2 case 19:
818 2 if(getstr(240,162,8))
819 2 {
820 3 tem8255a = 0;
821 3 for(h=0;h<8;h++)
822 3 {
823 4 tem8255a *= 2;
824 4 if(disstr[7-h] == '1')
825 4 tem8255a |= 0x01;
826 4 }
827 3 EA = 0;
828 3 COM8255=0x80;
829 3 A8255 = tem8255a;
830 3 B8255 = tem8255b;
831 3 C8255 = tem8255c;
832 3 EA = 1;
833 3 }
834 2 break;
835 2 case 20:
836 2 if(getstr(240,182,8))
837 2 {
838 3 tem8255b = 0;
839 3 for(h=0;h<8;h++)
840 3 {
841 4 tem8255b *= 2;
842 4 if(disstr[7-h] == '1')
843 4 tem8255b |= 0x01;
844 4 }
845 3 EA = 0;
846 3 COM8255=0x80;
847 3 A8255 = tem8255a;
848 3 B8255 = tem8255b;
849 3 C8255 = tem8255c;
850 3 EA = 1;
851 3 }
852 2 break;
853 2 case 21:
854 2 if(getstr(240,202,8))
855 2 {
856 3 tem8255c = 0;
857 3 for(h=0;h<8;h++)
858 3 {
859 4 tem8255c *= 2;
860 4 if(disstr[7-h] == '1')
861 4 tem8255c |= 0x01;
C51 COMPILER V8.02 MAIN 09/21/2008 12:29:52 PAGE 15
862 4 }
863 3 EA = 0;
864 3 COM8255=0x80;
865 3 A8255 = tem8255a;
866 3 B8255 = tem8255b;
867 3 C8255 = tem8255c;
868 3 EA = 1;
869 3 }
870 2 break;
871 2 default:
872 2 setsysini();
873 2 showmain1();
874 2 break;
875 2 }
876 1 }
877
878 //电磁接触器检测
879 void main1test(void *lcnpdata) reentrant
880 {
881 1 unsigned char curstaut = 0;
882 1
883 1 buttonselect=0;
884 1 lcnpdata = lcnpdata;
885 1 showmain1();
886 1 showselect(buttonselect,1);
887 1 while(1)
888 1 {
889 2 OSSemPend(KeySem,10,&lcnerr);
890 2 if(lcnerr==OS_NO_ERR)
891 2 {
892 3 switch(key)
893 3 {
894 4 case INPUT://系统参数
895 4 doinput();
896 4 showselect(buttonselect,1);
897 4 break;
898 4 case DOWN:
899 4 showselect(buttonselect,0);
900 4 if(buttonselect < 21)
901 4 {
902 5 buttonselect++;
903 5 }
904 4 else
905 4 {
906 5 buttonselect=0;
907 5 }
908 4 showselect(buttonselect,1);
909 4 break;
910 4 case UP:
911 4 showselect(buttonselect,0);
912 4 if(buttonselect > 0)
913 4 buttonselect--;
914 4 else
915 4 buttonselect=21;
916 4 showselect(buttonselect,1);
917 4 break;
918 4 case LEFT:
919 4 case RIGHT:
920 4 showselect(buttonselect,0);
921 4 if(buttonselect > 10)
922 4 buttonselect-=11;
923 4 else
C51 COMPILER V8.02 MAIN 09/21/2008 12:29:52 PAGE 16
924 4 buttonselect+=11;
925 4 showselect(buttonselect,1);
926 4 break;
927 4 default:
928 4 break;
929 4 }
930 3 }
931 2 getcurvault();
932 2 showvaultall();
933 2 if(bSecond)
934 2 {
935 3 bSecond=0;
936 3 myprintf(SAD1,TA_LEFT,216,2, "%5u",count8253[0][0]);
937 3 myprintf(SAD1,TA_LEFT,216,22, "%5u",count8253[1][0]);
938 3 myprintf(SAD1,TA_LEFT,216,42, "%5u",count8253[2][0]);
939 3 myprintf(SAD1,TA_LEFT,216,62, "%5u",count8253[3][0]);
940 3 #if OS_TASK_STAT_EN
myprintf(SAD1,TA_LEFT,295,2,"%3u",(unsigned int)OSCPUUsage);
#endif
943 3 readtimer(disstr,0);
944 3 myprintf(SAD1,TA_LEFT,254,223,disstr);
945 3 }
946 2 }
947 1 }
948
949 void getcurvault() reentrant
950 {
951 1 if(buttonselect>7)
952 1 return;
953 1 getad();
954 1 adtemp[adtemp1] = advaut;
955 1 switch(buttonselect)
956 1 {
957 2 case 1:
958 2 ADNUMBER1=0;
959 2 ADNUMBER2=1;
960 2 ADNUMBER3=1;
961 2 adtemp1=1;
962 2 break;
963 2 case 2:
964 2 ADNUMBER1=1;
965 2 ADNUMBER2=0;
966 2 ADNUMBER3=1;
967 2 adtemp1=2;
968 2 break;
969 2 case 3:
970 2 ADNUMBER1=0;
971 2 ADNUMBER2=0;
972 2 ADNUMBER3=1;
973 2 adtemp1=3;
974 2 break;
975 2 case 4:
976 2 ADNUMBER1=1;
977 2 ADNUMBER2=1;
978 2 ADNUMBER3=0;
979 2 adtemp1=4;
980 2 break;
981 2 case 5:
982 2 ADNUMBER1=0;
983 2 ADNUMBER2=1;
984 2 ADNUMBER3=0;
985 2 adtemp1=5;
C51 COMPILER V8.02 MAIN 09/21/2008 12:29:52 PAGE 17
986 2 break;
987 2 case 6:
988 2 ADNUMBER1=1;
989 2 ADNUMBER2=0;
990 2 ADNUMBER3=0;
991 2 adtemp1=6;
992 2 break;
993 2 case 7:
994 2 ADNUMBER1=0;
995 2 ADNUMBER2=0;
996 2 ADNUMBER3=0;
997 2 adtemp1=7;
998 2 break;
999 2 case 0:
1000 2 ADNUMBER1=1;
1001 2 ADNUMBER2=1;
1002 2 ADNUMBER3=1;
1003 2 adtemp1=0;
1004 2 break;
1005 2 default:
1006 2 break;
1007 2 }
1008 1 result[adtemp1] = adtemp[adtemp1];
1009 1 result[adtemp1] /= 409.5; //10V
1010 1 }
1011
1012 void main (void)
1013 {
1014 1 OSInit();
1015 1 InitTimer2();
1016 1 OSTaskCreate(sys_init, (void *)0, &sys_init_Stk[0],1);
1017 1 OSStart();
1018 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 13076 ----
CONSTANT SIZE = 6451 ----
XDATA SIZE = 2163 720
PDATA SIZE = ---- ----
DATA SIZE = 3 ----
IDATA SIZE = ---- ----
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 + -