📄 current_1027.lst
字号:
787 1 }
788
789 main()
790 {
791 1 unsigned char k,k1,k2;
792 1 unsigned int temp_delt_p,temp_delt_b;
793 1
794 1 current_enable=0;
795 1 TMOD=0x22; //定时器1,方式2;
796 1 TL1=0XFD; //波特率9600
797 1 TH1=0XFD;
798 1 TR1=1; //启动定时器
799 1 PCON=0X00; //SMOD=1
C51 COMPILER V7.06 CURRENT_1027 01/13/2006 15:18:05 PAGE 14
800 1 TMOD=0x23; //定时器0,方式3,两个8位定时器;
801 1 TR1=0;
802 1 TF1=0;
803 1 S0CON=0XF8; //串口方式3,SM2=0,REN=1,TB8=1,RB8=0,TI=0,RI=0
804 1 IP0=0X98; //S0=1
805 1 IP1=IP1|0X20;
806 1 ES0=1; //开串口中断
807 1 ET0=1;
808 1 ET1=1;
809 1 ES1=1; //I2C
810 1 EAD=1; //AD中断允许
811 1 EA=1; //中断总允许
812 1 start_t2();
813 1
814 1 urgent_stop=0;
815 1 current_err=0;
816 1 err_ok=0;
817 1 err=0;
818 1 gas_stop=0;
819 1 BEGIN:
820 1 if(urgent_stop==1)
821 1 {
822 2 urgent_stop=0;
823 2 err_ok=0;
824 2 // EX1=1;
825 2 EX0=1;
826 2 }
827 1 IEN1=IEN1&0x40;
828 1 gate=0;
829 1 COM=0X76;
830 1 COUNT1=0;
831 1 COUNT1=0;
832 1 COM=0XB2;
833 1 COUNT2=0;
834 1 COUNT2=0;
835 1 current_out=1;
836 1 current_enable=0;
837 1 con_hf=1;
838 1 // con_gas1=1;
839 1 con_gas2=1;
840 1 work=0; //等待状态
841 1 called=0;
842 1 start=0;
843 1 need_para=0;
844 1 open_gas1=0;
845 1 open_gas2=0;
846 1 ignit_ok=0;
847 1 decrease=0;
848 1 igniting=0;
849 1 pre_melt_ok=0;
850 1 R_ANSW=0;
851 1 S_ANSW=0;
852 1 POINTER1=0;
853 1 RSUM=0;
854 1 POINTER0=0;
855 1 SSUM=0;
856 1 r_byte_nums=4;
857 1 demand=0;
858 1 overtime=0;
859 1 resend=0;
860 1 ans=0;
861 1 receive_p_out=0;
C51 COMPILER V7.06 CURRENT_1027 01/13/2006 15:18:05 PAGE 15
862 1 receive_p_in=0;
863 1 edge=0;
864 1 ad_v=0;
865 1 ad_i=0;
866 1 AD1=0;
867 1 AD2=0;
868 1 AD3=0;
869 1 AD4=0;
870 1 AD5=0;
871 1 tab2=0;
872 1 tab3=0;
873 1 IM8=0;
874 1 IM4=0;
875 1 IB8=0;
876 1 IB4=0;
877 1 UPD=0;
878 1 ahf_ok=0;
879 1 ad_finish=0;
880 1 i_slope_ok=0;
881 1 nonce_sec=0;
882 1 in_sector=0;
883 1 new_sec=0;
884 1 close_gas1=0;
885 1 close_gas2=0;
886 1 close_gas1_ok=0;
887 1 close_gas2_ok=0;
888 1 close_gas_ok=0;
889 1 c_cm1=0;
890 1 to_begin=0;
891 1 tight=0;
892 1 lose=0;
893 1
894 1
895 1 PWMP=51; //产生采样保持脉冲,1K
896 1 PWM0=128;
897 1 PWM1=128;
898 1 EX0=1;
899 1 while(start==0)
900 1 {
901 2 if(called==1)
902 2 {
903 3 ini_sbuf(M_main,infor,com_calling,S_ANSW,0,0,0);
904 3 s_byte_nums=6;
905 3 TR_noans();
906 3 called=0;
907 3 }
908 2 if(receive_p_out==1)
909 2 {
910 3 point=&pp.t01;
911 3 for(p_sec=0;p_sec<25;p_sec++)
912 3 *(point+p_sec)=rbuffer[p_sec*2+2]*256+rbuffer[p_sec*2+3];
913 3 pp.syn_type=rbuffer[52];
914 3
915 3 ini_sbuf(M_main,answer,OK,0,0,0,0);
916 3 s_byte_nums=4;
917 3 TR_noans();
918 3 demand=0;
919 3 receive_p_out=0;
920 3
921 3 }
922 2
923 2 if(receive_p_in==1)
C51 COMPILER V7.06 CURRENT_1027 01/13/2006 15:18:05 PAGE 16
924 2 {
925 3 point=&pp.x[nonce_sec][0];
926 3 for(p_sec=0;p_sec<10;p_sec++)
927 3 *(point+p_sec)=rbuffer[p_sec*2+3]*256+rbuffer[p_sec*2+4];
928 3
929 3 ini_sbuf(M_main,answer,OK,0,0,0,0);
930 3 s_byte_nums=4;
931 3 TR_noans();
932 3 demand=0;
933 3 receive_p_in=0;
934 3 }
935 2
936 2 if(tight==1)
937 2 {
938 3 tight_lose=0;
939 3 tight=0;
940 3 }
941 2 if(lose==1)
942 2 {
943 3 tight_lose=1;
944 3 lose=0;
945 3 }
946 2 if(urgent_stop==1)
947 2 goto BEGIN;
948 2 }
949 1 EX1=1;
950 1 n_pulse=pp.t14%256;
951 1 n_base=pp.t15%256;
952 1
953 1 work=3; //进入焊接过程
954 1 IEN1=IEN1&0xBF; //禁止CM2,停水计时
955 1 CML1=TML2+0XE2; //峰值时间
956 1 if(CML1<TML2)
957 1 CMH1=(TMH2+1)+0X04;
958 1 else
959 1 CMH1=TMH2+0X04;
960 1 CML2=TML2+0x24;
961 1 if(CML2<TML2)
962 1 CMH2=TMH2+1+0xF4;
963 1 else
964 1 CMH2=TMH2+0xF4;
965 1 if(pp.k1==PDC) //05-12-28
966 1 {
967 2 if(pp.i14>pp.i12)
968 2 {
969 3 if(pp.i15>=pp.i12)
970 3 delt1=pp.i14-pp.i12;
971 3 else if(pp.i14-pp.i12>=pp.i12-pp.i15)
972 3 delt1=pp.i14-pp.i12;
973 3 else
974 3 delt1=pp.i12-pp.i15;
975 3 }
976 2 else if(pp.i14==pp.i12)
977 2 {
978 3 if(pp.i15>=pp.i12)
979 3 delt1=pp.i15-pp.i12;
980 3 else
981 3 delt1=pp.i12-pp.i15;
982 3 }
983 2 else
984 2 {
985 3 if(pp.i15>pp.i12)
C51 COMPILER V7.06 CURRENT_1027 01/13/2006 15:18:05 PAGE 17
986 3 {
987 4 if(pp.i15-pp.i12>=pp.i12-pp.i14)
988 4 delt1=pp.i15-pp.i12;
989 4 else
990 4 delt1=pp.i12-pp.i14;
991 4 }
992 3 else if(pp.i15==pp.i12)
993 3 delt1=pp.i12-pp.i14;
994 3 else
995 3 {
996 4 if(pp.i12-pp.i14>=pp.i12-pp.i15)
997 4 delt1=pp.i12-pp.i14;
998 4 else
999 4 delt1=pp.i12-pp.i15;
1000 4 }
1001 3 }
1002 2 }
1003 1 if(delt1>0)
1004 1 {
1005 2 delt1=1000000/delt1;
1006 2 delt1=delt1*pp.t13;
1007 2 // delt1=(pp.t13*1000000)/(pp.i14-pp.i12);
1008 2 if(delt1%256>=200)
1009 2 delt1=delt1/256+1;
1010 2 else
1011 2 delt1=delt1/256;
1012 2 }
1013 1
1014 1 if(YOUHU==1)
1015 1 {
1016 2 while(igniting==0)
1017 2 {
1018 3 if(urgent_stop==1)
1019 3 goto BEGIN;
1020 3 if(open_gas1==1)
1021 3 {
1022 4 ini_sbuf(M_main,answer,S_ANSW,0,0,0,0);
1023 4 s_byte_nums=4;
1024 4 TR_noans();
1025 4 con_gas1=0; //开气1
1026 4 con_water=0; //开水
1027 4 open_gas1=0;
1028 4 }
1029 3 if(open_gas2==1)
1030 3 {
1031 4 ini_sbuf(M_main,answer,S_ANSW,0,0,0,0);
1032 4 s_byte_nums=4;
1033 4 TR_noans();
1034 4 con_gas2=0; //开气2
1035 4 con_water=0; //开水
1036 4 open_gas2=0;
1037 4 }
1038 3 if(resend==1)
1039 3 {
1040 4 ini_sbuf(M_main,answer,S_ANSW,0,0,0,0);
1041 4 s_byte_nums=4;
1042 4 TR_noans();
1043 4 resend=0;
1044 4 }
1045 3 }
1046 2 }
1047 1 else
C51 COMPILER V7.06 CURRENT_1027 01/13/2006 15:18:05 PAGE 18
1048 1 {
1049 2 while(ignit_ok==0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -