📄 temposc2.lst
字号:
911 3 ini_sbuf(M_main,answer,S_ANSW,0,0,0);
912 3 s_byte_nums=4;
913 3 TR_noans();
914 3 receive_p_in=0;
915 3 }
916 2
917 2 if(osc_l==1)
918 2 {
919 3 gate=1; //给出横摆脉冲
920 3 osc_dir=0; //左
921 3 osc_enable=0; //开使能
922 3 osc_l=0;
C51 COMPILER V7.06 TEMPOSC2 07/11/2005 13:44:54 PAGE 16
923 3 }
924 2
925 2 if(osc_r==1)
926 2 {
927 3 gate=1; //开8254门控信号
928 3 osc_dir=1; //右
929 3 osc_enable=0; //开使能
930 3 osc_r=0;
931 3 }
932 2
933 2 if(motor_stop==1)
934 2 {
935 3 gate=0; //关横摆脉冲
936 3 osc_enable=1;
937 3 motor_stop=0;
938 3 }
939 2
940 2 if(urgent_stop==1)
941 2 goto BEGIN;
942 2 }
943 1
944 1 if(pp.k4==ON)
945 1 {
946 2 const1=pp.a41;
947 2 c_t42_l=pp.t42_l*5; //pp.t42_l/10*1000/50
948 2 c_t42_r=pp.t42_r*5;
949 2 c_change=pp.t43;
950 2
951 2 temp_out0=900000/pp.v41; //横摆脉冲, 时钟4M,4*60*0.01*1000000
952 2 static_out0=900000/start_v;
953 2 if(temp_out0>=static_out0)
954 2 delt_out0=temp_out0-static_out0;
955 2 else
956 2 delt_out0=static_out0-temp_out0;
957 2
958 2 temp_out1=pp.a41*80/3; //横摆半宽脉冲,时钟1K,(A41/10)/(v41/60)*1000
959 2 delt_out1=temp_out1;
960 2
961 2 out0=static_out0;
962 2 out1=delt_out1/c_change;
963 2 out2=2*out1; //横摆整宽脉冲
964 2 COM=0X36;
965 2 COUNT0=out0%256;
966 2 COUNT0=out0/256;
967 2 COM=0X76;
968 2 COUNT1=out1%256;
969 2 COUNT1=out1/256; //半个摆宽
970 2 COM=0XB6;
971 2 COUNT2=out1%256;
972 2 COUNT2=out1/256; //整个摆宽
973 2 }
974 1 work=3; //关8254门控信号
975 1 nonce_sec=0;
976 1 do
977 1 {
978 2 if(start_osc==1) //开始横摆
979 2 {
980 3 ini_sbuf(M_main,answer,S_ANSW,0,0,0);
981 3 s_byte_nums=4;
982 3 TR_noans();
983 3 osc_dir=0; //方向——左
984 3 osc_enable=0; //开横摆使能
C51 COMPILER V7.06 TEMPOSC2 07/11/2005 13:44:54 PAGE 17
985 3 CTCON=CTCON|0x08; //CT1下降沿
986 3 IEN1=IEN1|0X02; //允许CT1
987 3 sec_center=1;
988 3 sec_change=1;
989 3 temp_c_change=0;
990 3 share=1;
991 3 osc_ok=1;
992 3 osc_started=1;
993 3 start_osc=0;
994 3 gate=1;
995 3 osc_out=1;
996 3 }
997 2
998 2 if(in_sector==1&&new_sector==1&&osc_ok==0)
999 2 {
1000 3 c_t42_l=pp.x[nonce_sec][1]*5; //pp.t42_l/10*1000/50
1001 3 c_t42_r=pp.x[nonce_sec][2]*5;
1002 3 c_change=pp.x[nonce_sec][5];
1003 3 const1=pp.x[nonce_sec][4];
1004 3 temp_out0=900000/pp.x[nonce_sec][3]; //横摆脉冲, 时钟4M,4*60*0.01*1000000
1005 3 static_out0=900000/start_v;
1006 3 if(temp_out0>=static_out0)
1007 3 delt_out0=temp_out0-static_out0;
1008 3 else
1009 3 delt_out0=static_out0-temp_out0;
1010 3
1011 3 temp_out1=pp.x[nonce_sec][4]*80/3;
1012 3 delt_out1=temp_out1;
1013 3
1014 3 out0=static_out0;
1015 3 out1=delt_out1/c_change;
1016 3 out2=2*out1; //横摆整宽脉冲
1017 3 COM=0X36;
1018 3 COUNT0=out0%256;
1019 3 COUNT0=out0/256;
1020 3 COM=0X76;
1021 3 COUNT1=out1%256;
1022 3 COUNT1=out1/256; //半个摆宽
1023 3 COM=0XB6;
1024 3 COUNT2=out1%256;
1025 3 COUNT2=out1/256; //整个摆宽
1026 3 if(K4==ON&&osc_started==1)
1027 3 {
1028 4 osc_dir=0; //方向——左
1029 4 osc_enable=0; //开横摆使能
1030 4 CTCON=CTCON|0x08; //CT1下降沿
1031 4 IEN1=IEN1|0X02; //允许CT1
1032 4 osc_ok=1;
1033 4 sec_center=1;
1034 4 sec_change=1;
1035 4 temp_c_change=0;
1036 4 share=1;
1037 4 osc_add=0;
1038 4 osc_dec=0;
1039 4 gate=1;
1040 4 osc_out=1;
1041 4 }
1042 3 }
1043 2 if(urgent_stop==1)
1044 2 goto BEGIN;
1045 2
1046 2 // if((in_sector==0&&pp.k4==OFF||in_sector==1&&K4==OFF)&¢er_excursion==1) //未开自动横摆时的左右调整
C51 COMPILER V7.06 TEMPOSC2 07/11/2005 13:44:54 PAGE 18
1047 2 if(osc_ok==0&¢er_excursion==1) //未开自动横摆时的左右调整
1048 2 {
1049 3 if(excursion_dir==0)
1050 3 osc_dir=0; //左
1051 3 else
1052 3 osc_dir=1;
1053 3 CTCON=CTCON|0X02;
1054 3 COM=0X76;
1055 3 COUNT1=10;
1056 3 COUNT1=0;
1057 3 IEN1=IEN1|0X01;
1058 3 gate=1;
1059 3 osc_enable=0; //开横摆使能
1060 3 center_excursion=0;
1061 3 center_change=1;
1062 3 }
1063 2
1064 2 if(urgent_stop==1)
1065 2 goto BEGIN;
1066 2 }while(decrease==0);
1067 1 /*
1068 1 while(decrease_ok==0)
1069 1 {
1070 1 if(urgent_stop==1)
1071 1 goto BEGIN;
1072 1 }
1073 1 */
1074 1 while(to_begin==0)
1075 1 {
1076 2 if(urgent_stop==1)
1077 2 goto BEGIN;
1078 2 }
1079 1 goto BEGIN;
1080 1 }
C51 COMPILER V7.06 TEMPOSC2 07/11/2005 13:44:54 PAGE 19
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
K4 . . . . . . . . . . . . . . . . . . PUBLIC DATA BIT 0000H 1
osc_out. . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C6H 1
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
osc_ok . . . . . . . . . . . . . . . . PUBLIC DATA BIT 0001H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
P4 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C0H 1
resend . . . . . . . . . . . . . . . . PUBLIC DATA BIT 0002H 1
c_decrease . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0000H 1
P5 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C4H 1
err_ok . . . . . . . . . . . . . . . . PUBLIC DATA BIT 0003H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
sec_change . . . . . . . . . . . . . . PUBLIC DATA BIT 0004H 1
excursion_dir. . . . . . . . . . . . . PUBLIC DATA BIT 0005H 1
CMH0 . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C9H 1
out0 . . . . . . . . . . . . . . . . . PUBLIC XDATA U_LONG 0000H 4
CMI0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CCH 1
out1 . . . . . . . . . . . . . . . . . PUBLIC XDATA U_LONG 0004H 4
out2 . . . . . . . . . . . . . . . . . PUBLIC XDATA U_LONG 0008H 4
FF . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0001H 1
p_sec. . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0002H 1
CML0 . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A9H 1
IEN1 . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00E8H 1
osc_change . . . . . . . . . . . . . . PUBLIC DATA BIT 0006H 1
CTI0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C8H 1
osc_enable . . . . . . . . . . . . . . ABSBIT ----- BIT 00C4H 1
CTI1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C9H 1
osc_l. . . . . . . . . . . . . . . . . PUBLIC DATA BIT 0007H 1
delt_out0. . . . . . . . . . . . . . . PUBLIC DATA U_INT 0003H 2
share. . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0005H 1
delt_out1. . . . . . . . . . . . . . . PUBLIC DATA U_INT 0006H 2
P1_6 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0096H 1
P1_7 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0097H 1
osc_r. . . . . . . . . . . . . . . . . PUBLIC DATA BIT 0008H 1
EX0_INT. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
EX1_INT. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
get_err. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
PROGRAM. . . . . . . . . . . . . . . . TYPEDEF ----- STRUCT ----- 148
k4 . . . . . . . . . . . . . . . . . MEMBER ----- U_INT 0000H 2
syn_type . . . . . . . . . . . . . . MEMBER ----- U_INT 0002H 2
t41. . . . . . . . . . . . . . . . . MEMBER ----- U_INT 0004H 2
t41_sd . . . . . . . . . . . . . . . MEMBER ----- U_INT 0006H 2
t42_l. . . . . . . . . . . . . . . . MEMBER ----- U_INT 0008H 2
t42_r. . . . . . . . . . . . . . . . MEMBER ----- U_INT 000AH 2
v41. . . . . . . . . . . . . . . . . MEMBER ----- U_INT 000CH 2
a41. . . . . . . . . . . . . . . . . MEMBER ----- U_INT 000EH 2
dc41 . . . . . . . . . . . . . . . . MEMBER ----- U_INT 0010H 2
da41 . . . . . . . . . . . . . . . . MEMBER ----- U_INT 0012H 2
t43. . . . . . . . . . . . . . . . . MEMBER ----- U_INT 0014H 2
t43_sd . . . . . . . . . . . . . . . MEMBER ----- U_INT 0016H 2
t17. . . . . . . . . . . . . . . . . MEMBER ----- U_INT 0018H 2
sec_num. . . . . . . . . . . . . . . MEMBER ----- U_INT 001AH 2
x. . . . . . . . . . . . . . . . . . MEMBER ----- ARRAY 001CH 120
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
TMH2 . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00EDH 1
TI . . . . . . .
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -