📄 yaan.lst
字号:
C51 COMPILER V7.01 YAAN 04/29/2006 16:28:40 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE YAAN
OBJECT MODULE PLACED IN yaan.OBJ
COMPILER INVOKED BY: F:\Keil\C51\BIN\C51.EXE yaan.c DEBUG OBJECTEXTEND
stmt level source
1 #include "reg52.h"
2 #include "main.h"
3 #include "intrins.h"
4
5 extern Uchar CamAddress;
6 extern Uchar AuxNumb;
7 extern Uchar U_DTemp;
8 extern Uchar L_RTemp;
9 extern Uchar KeyValue;
10 extern Uchar TimeValue;
11
12 extern void send_char_com (unsigned char ch);
13 extern void shortdelay(unsigned char count);
14 Uchar code My_Array2[4]={0x04,0x08,0x02,0x01};
15 Uchar code My_Array3[]={0x01,0x02,0x80,0x40,0x20,0x10};
16
17
-
18 void YAAN (Uchar i)
19 {
20 1 Uint k=0;
21 1 Uchar tbuf[12];
22 1 Uchar Temp;
23 1 Uchar V_Rate;
24 1 Uchar H_Rate;
25 1 RT_CON=1;
26 1 Temp=i;
27 1 Code_Led=1;
28 1 if(U_DTemp>=0x80)
29 1 V_Rate=2*(U_DTemp-0x81);
30 1 else
31 1 V_Rate=2*(0x7F-U_DTemp);
32 1
33 1 if(L_RTemp>=0x80)
34 1 H_Rate=2*(L_RTemp-0x81);
35 1 else
36 1 H_Rate=2*(0x7F-L_RTemp);
37 1 /*---------------------------云台控制--------------------------------------*/
38 1 if(Temp<4 || Temp==22)
39 1
40 1 {
41 2 tbuf[0]=0x02;
42 2 tbuf[1]=CamAddress;
43 2 tbuf[2]=0x01;
44 2 if(Temp<4)
45 2 tbuf[3]=My_Array2[Temp];
46 2 else
47 2 tbuf[3]=0x00;
48 2 tbuf[4]=0x00;
49 2 tbuf[5]=tbuf[0]+tbuf[1]+tbuf[2]+tbuf[3]+tbuf[4];
50 2 tbuf[6]=0x02;
51 2 tbuf[7]=CamAddress;
52 2 tbuf[8]=0x0E;
53 2
54 2 if(Temp<2)
C51 COMPILER V7.01 YAAN 04/29/2006 16:28:40 PAGE 2
55 2 {
56 3 tbuf[9]=0x00;
57 3 tbuf[10]=V_Rate;
58 3 }
59 2 else
60 2 {
61 3 if(Temp!=22)
62 3 tbuf[9]=H_Rate;
63 3 else
64 3 tbuf[9]=0x00;
65 3 tbuf[10]=0x00;
66 3 }
67 2
68 2
69 2
70 2 tbuf[11]=tbuf[6]+tbuf[7]+tbuf[8]+tbuf[9]+tbuf[10];
71 2
72 2
73 2 do
74 2 {
75 3 send_char_com(tbuf[k]);
76 3 shortdelay(1);
77 3 k++;
78 3 } while( k<12 );
79 2 }
80 1 /*-------------------------镜头控制--------------------------------------*/
81 1 if(Temp>=4 && Temp<10)
82 1 {
83 2 tbuf[0]=0x02;
84 2 tbuf[1]=CamAddress;
85 2 tbuf[2]=0x01;
86 2 if(Temp==4 || Temp==5)
87 2 {
88 3 tbuf[3]=0x00;
89 3 tbuf[4]=My_Array3[Temp-4];
90 3 }
91 2 else
92 2 {
93 3 tbuf[3]=My_Array3[Temp-4];
94 3 tbuf[4]=0x00;
95 3 }
96 2 tbuf[5]=tbuf[0]+tbuf[1]+tbuf[2]+tbuf[3]+tbuf[4];
97 2
98 2 do
99 2 {
100 3 send_char_com(tbuf[k]);
101 3 shortdelay(1);
102 3 k++;
103 3 } while( k<6 );
104 2
105 2 }
106 1 /*--------------------------------------------------------------------------------------*/
107 1 if(Temp>22 && Temp<29)
108 1 {
109 2 tbuf[0]=0x02;
110 2 tbuf[1]=CamAddress;
111 2 switch(Temp)
112 2 {
113 3 case 23:tbuf[2]=0x05; //保存预置点
114 3 tbuf[3]=KeyValue;
115 3 break;
116 3 case 24:tbuf[2]=0x02; //调用预置点
C51 COMPILER V7.01 YAAN 04/29/2006 16:28:40 PAGE 3
117 3 tbuf[3]=KeyValue;
118 3 break;
119 3 case 25:tbuf[2]=0x08; //清除巡航点
120 3 tbuf[3]=0x00;
121 3 break;
122 3 case 26:tbuf[2]=0x03; //自动巡航
123 3 tbuf[3]=0x00;
124 3 break;
125 3 case 27:tbuf[2]=0x06; //添加巡航点
126 3 tbuf[3]=KeyValue;
127 3 break;
128 3 case 28:tbuf[2]=0x0B; //设置巡航停留时间
129 3 tbuf[3]=TimeValue;
130 3 break;
131 3 default:break;
132 3 }
133 2 tbuf[4]=tbuf[0]+tbuf[1]+tbuf[2]+tbuf[3];
134 2
135 2 do
136 2 {
137 3 send_char_com(tbuf[k]);
138 3 shortdelay(1);
139 3 k++;
140 3 } while( k<5 );
141 2
142 2 }
143 1 /*--------------------------------------------------------------------------------------*/
144 1 if(Temp>28 ||Temp==16 || Temp==17)
145 1 {
146 2 tbuf[0]=0x02;
147 2 tbuf[1]=CamAddress;
148 2 tbuf[2]=0x0f;
149 2 switch(Temp)
150 2 {
151 3 case 16:tbuf[3]=0x03; //云台自动
152 3 tbuf[4]=0x00;
153 3 break;
154 3 case 17:break;
155 3 case 29:tbuf[3]=0x01; //水平自动速度
156 3 tbuf[4]=TimeValue;
157 3 break;
158 3 case 30:tbuf[3]=0x02; //设定左边界
159 3 tbuf[4]=0x01;
160 3 break;
161 3 case 31:tbuf[3]=0x02; //设定右边界
162 3 tbuf[4]=0x02;
163 3 break;
164 3 default:break;
165 3 }
166 2 tbuf[5]=tbuf[0]+tbuf[1]+tbuf[2]+tbuf[3]+tbuf[4];
167 2
168 2 do
169 2 {
170 3 send_char_com(tbuf[k]);
171 3 shortdelay(1);
172 3 k++;
173 3 } while( k<6);
174 2 }
175 1 /*--------------------------------------------------------------------------------------*/
176 1
177 1 RT_CON=0;
178 1 Code_Led=0;
C51 COMPILER V7.01 YAAN 04/29/2006 16:28:40 PAGE 4
179 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 544 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 17
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -