📄 osc2.lst
字号:
907 3 gate=0; //关横摆脉冲
908 3 osc_enable=1;
909 3 motor_stop=0;
910 3 }
911 2
912 2 if(urgent_stop==1)
913 2 goto BEGIN;
914 2 }
915 1
916 1 if(pp.k4==ON)
917 1 {
918 2 const1=pp.a41;
919 2 c_t42_l=pp.t42_l*5; //pp.t42_l/10*1000/50
920 2 c_t42_r=pp.t42_r*5;
921 2 c_change=pp.t43%256;
922 2
C51 COMPILER V7.06 OSC2 09/21/2005 09:00:12 PAGE 16
923 2 temp_out0=900000/pp.v41; //横摆脉冲, 时钟4M,4*60*0.01*1000000
924 2 static_out0=900000/start_v;
925 2 if(temp_out0>=static_out0)
926 2 delt_out0=temp_out0-static_out0;
927 2 else
928 2 delt_out0=static_out0-temp_out0;
929 2
930 2 temp_out1=pp.a41*80/3; //横摆半宽脉冲
931 2 delt_out1=temp_out1;
932 2
933 2 out0=static_out0;
934 2 out1=delt_out1/c_change;
935 2 out2=2*out1; //横摆整宽脉冲
936 2 COM=0X36;
937 2 COUNT0=out0%256;
938 2 COUNT0=out0/256;
939 2 COM=0X76;
940 2 COUNT1=out1%256;
941 2 COUNT1=out1/256; //半个摆宽
942 2 COM=0XB6;
943 2 COUNT2=out1%256;
944 2 COUNT2=out1/256; //整个摆宽
945 2 }
946 1 work=3; //关8254门控信号
947 1 nonce_sec=0;
948 1 do
949 1 {
950 2 if(start_osc==1) //开始横摆
951 2 {
952 3 ini_sbuf(M_main,answer,S_ANSW,0,0,0);
953 3 s_byte_nums=4;
954 3 TR_noans();
955 3 osc_dir=0; //方向——左
956 3 osc_enable=0; //开横摆使能
957 3 CTCON=CTCON|0x08; //CT1下降沿
958 3 IEN1=IEN1|0X02; //允许CT1
959 3 sec_center=1;
960 3 sec_change=1;
961 3 temp_c_change=0;
962 3 share=1;
963 3 osc_ok=1;
964 3 osc_started=1;
965 3 start_osc=0;
966 3 gate=1;
967 3 osc_out=1;
968 3 }
969 2
970 2 if(in_sector==1&&new_sector==1&&osc_ok==0)
971 2 {
972 3 c_t42_l=pp.x[nonce_sec][1]*5; //pp.t42_l/10*1000/50
973 3 c_t42_r=pp.x[nonce_sec][2]*5;
974 3 c_change=pp.x[nonce_sec][5]%256;
975 3 const1=pp.x[nonce_sec][4];
976 3 temp_out0=900000/pp.x[nonce_sec][3]; //横摆脉冲, 时钟4M,4*60*0.01*1000000
977 3 static_out0=900000/start_v;
978 3 if(temp_out0>=static_out0)
979 3 delt_out0=temp_out0-static_out0;
980 3 else
981 3 delt_out0=static_out0-temp_out0;
982 3
983 3 temp_out1=pp.x[nonce_sec][4]*80/3;
984 3 delt_out1=temp_out1;
C51 COMPILER V7.06 OSC2 09/21/2005 09:00:12 PAGE 17
985 3
986 3 out0=static_out0;
987 3 out1=delt_out1/c_change;
988 3 out2=2*out1; //横摆整宽脉冲
989 3 COM=0X36;
990 3 COUNT0=out0%256;
991 3 COUNT0=out0/256;
992 3 COM=0X76;
993 3 COUNT1=out1%256;
994 3 COUNT1=out1/256; //半个摆宽
995 3 COM=0XB6;
996 3 COUNT2=out1%256;
997 3 COUNT2=out1/256; //整个摆宽
998 3 if(K4==ON&&osc_started==1)
999 3 {
1000 4 osc_dir=0; //方向——左
1001 4 osc_enable=0; //开横摆使能
1002 4 CTCON=CTCON|0x08; //CT1下降沿
1003 4 IEN1=IEN1|0X02; //允许CT1
1004 4 osc_ok=1;
1005 4 sec_center=1;
1006 4 sec_change=1;
1007 4 temp_c_change=0;
1008 4 share=1;
1009 4 osc_add=0;
1010 4 osc_dec=0;
1011 4 gate=1;
1012 4 osc_out=1;
1013 4 }
1014 3 }
1015 2 if(urgent_stop==1)
1016 2 goto BEGIN;
1017 2 if(osc_ok==0&¢er_excursion==1) //未开自动横摆时的左右调整
1018 2 {
1019 3 if(excursion_dir==0)
1020 3 osc_dir=0; //左
1021 3 else
1022 3 osc_dir=1;
1023 3 CTCON=CTCON|0X02;
1024 3 COM=0X76;
1025 3 COUNT1=10;
1026 3 COUNT1=0;
1027 3 IEN1=IEN1|0X01;
1028 3 gate=1;
1029 3 osc_enable=0; //开横摆使能
1030 3 center_excursion=0;
1031 3 center_change=1;
1032 3 }
1033 2
1034 2 if(urgent_stop==1)
1035 2 goto BEGIN;
1036 2 }while(decrease==0);
1037 1
1038 1 while(to_begin==0)
1039 1 {
1040 2 if(urgent_stop==1)
1041 2 goto BEGIN;
1042 2 }
1043 1 goto BEGIN;
1044 1 }
C51 COMPILER V7.06 OSC2 09/21/2005 09:00:12 PAGE 18
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 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
c_t42. . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0008H 1
temp_c_decrease. . . . . . . . . . . . PUBLIC DATA U_CHAR 0009H 1
C51 COMPILER V7.06 OSC2 09/21/2005 09:00:12 PAGE 19
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
TML2 . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00ECH 1
sec_center . . . . . . . . . . . . . . PUBLIC DATA BIT 0009H 1
osc_started. . . . . . . . . . . . . . PUBLIC DATA BIT 000AH 1
temp_out0. . . . . . . . . . . . . . . PUBLIC XDATA U_LONG 000CH 4
gate . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C1H 1
temp_out1. . . . . . . . . . . . . . . PUBLIC XDATA U_LONG 0010H 4
need_para. . . . . . . . . . . . . . . PUBLIC DATA BIT 000BH 1
decreased. . . . . . . . . . . . . . . PUBLIC DATA BIT 000CH 1
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
BEGIN. . . . . . . . . . . . . . . . LABEL CODE LABEL ----- -----
TR_noans . . . . . . . . . . . . . . . PUBLIC CODE PROC 0003H -----
send . . . . . . . . . . . . . . . . . PUBLIC DATA BIT 000DH 1
out0_decrease. . . . . . . . . . . . . PUBLIC XDATA U_LONG 0014H 4
start_i2 . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
time . . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
out1_decrease. . . . . . . . . . . . . PUBLIC XDATA U_LONG 0018H 4
point. . . . . . . . . . . . . . . . . PUBLIC DATA PTR 000AH 3
COMM . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000DH 1
c_change . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000EH 1
r_byte_nums. . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000FH 1
s_byte_nums. . . . . . . . . . . . . . PUBLIC DA
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -