📄 angle_measure.lst
字号:
184 1 two_5=TT%100000%10000%1000/100;
185 1 one_5=TT%100000%10000%1000%100/10;
186 1 zero_5=TT%100000%10000%1000%100%10;
187 1 write_command(0xc0);
188 1 write_data('T');
189 1 write_data(':');
190 1 write_data(table[five_5]);
191 1 write_data(table[four_5]);
192 1 write_data(table[three_5]);
193 1 write_data(table[two_5]);
194 1 write_data(table[one_5]);
195 1 write_data(table[zero_5]);
196 1 write_data('u');
197 1 write_data('s');
198 1
199 1 }
200
201 void impulse() //测脉宽
202 {
203 1 fcon=0;
204 1 phasecon=1;
205 1 spul=0;
206 1 cl=1;
207 1 clr=1;
208 1 delay(10);
209 1 clr=0;
210 1 while(!end);
211 1 measure_bin();
212 1 impulse_1=bin;
213 1 positive=impulse_1/50; //扩大了1000000
214 1 if(positive==0)
215 1 {
216 2 impulse();
217 2 }
218 1 frequence2();
219 1 negative=TT-positive;
220 1 five_2=positive/100000;
221 1 four_2=positive%100000/10000;
222 1 three_2=positive%100000%10000/1000;
223 1 two_2=positive%100000%10000%1000/100;
224 1 one_2=positive%100000%10000%1000%100/10;
225 1 zero_2=positive%100000%10000%1000%100%10;
226 1
227 1 write_command(0x01);
228 1 delay(10);
229 1 write_command(0x80);
230 1 write_data('P');
231 1 write_data(':');
232 1 write_data(table[five_2]);
233 1 write_data(table[four_2]);
234 1 write_data(table[three_2]);
235 1 write_data(table[two_2]);
236 1 write_data(table[one_2]);
237 1 write_data(table[zero_2]);
238 1 write_data('u');
239 1 write_data('s');
240 1
241 1 five_3=negative/100000;
C51 COMPILER V8.02 ANGLE_MEASURE 01/14/2009 21:15:28 PAGE 5
242 1 four_3=negative%100000/10000;
243 1 three_3=negative%100000%10000/1000;
244 1 two_3=negative%100000%10000%1000/100;
245 1 one_3=negative%100000%10000%1000%100/10;
246 1 zero_3=negative%100000%10000%1000%100%10;
247 1
248 1 write_command(0xC0);
249 1 write_data('N');
250 1 write_data(':');
251 1 write_data(table[five_3]);
252 1 write_data(table[four_3]);
253 1 write_data(table[three_3]);
254 1 write_data(table[two_3]);
255 1 write_data(table[one_3]);
256 1 write_data(table[zero_3]);
257 1 write_data('u');
258 1 write_data('s');
259 1 }
260
261 void phase_measure() //测相位差
262 {
263 1 fcon=0;
264 1 phasecon=1;
265 1 spul=0;
266 1 cl=1;
267 1 clr=1;
268 1 delay(10);
269 1 clr=0;
270 1 while(!end);
271 1 measure_bin();
272 1 impulse_1=bin;
273 1 if(bin<=100)//估计,随频率而变
274 1 {
275 2 phase_measure();
276 2 }
277 1 frequence2();
278 1 positive=impulse_1/50; //扩大了1000000
279 1 phase=(positive*360*100)/TT;
280 1 four_4=phase/10000;
281 1 three_4=phase%10000/1000;
282 1 two_4=phase%10000%1000/100;
283 1 one_4=phase%10000%1000%100/10;
284 1 zero_4=phase%10000%1000%100%10;
285 1 write_command(0x01);
286 1 delay(10);
287 1 write_command(0x80);
288 1 for(ii=0;ii<6;ii++)
289 1 {
290 2 write_data(str22[ii]);
291 2 }
292 1 write_data(table[four_4]);
293 1 write_data(table[three_4]);
294 1 write_data(table[two_4]);
295 1 write_data('.');
296 1 write_data(table[one_4]);
297 1 write_data(table[zero_4]);
298 1 write_data(0xdf);
299 1 }
300
301 void frequence2()
302 {
303 1 phasecon=0;
C51 COMPILER V8.02 ANGLE_MEASURE 01/14/2009 21:15:28 PAGE 6
304 1 fcon=1;
305 1 spul=1;
306 1 clr=1;
307 1 delay(20);
308 1 clr=0;
309 1 cl=1;
310 1 delay(1000);
311 1 cl=0;
312 1 while(start);
313 1 measure_bin();
314 1 if(bin==0)
315 1 {
316 2 frequence();
317 2 }
318 1 measure_tin();
319 1 TT=bin/(50*tin);
320 1 phasecon=1; //保证波形显示
321 1 fcon=0;
322 1 }
323
324 void display()
325 {
326 1 write_command(0x83);
327 1 delay(5);
328 1 for(ii=0;ii<8;ii++)
329 1 {
330 2 write_data(str33[ii]);
331 2 }
332 1 write_command(0xc0);
333 1 for(ii=0;ii<5;ii++)
334 1 {
335 2 write_data(str44[ii]);
336 2 }
337 1 write_command(0xc8);
338 1 for(ii=0;ii<5;ii++)
339 1 {
340 2 write_data(str55[ii]);
341 2 }
342 1 }
343
344 void display_2()
345 {
346 1 write_command(0x01);
347 1 delay(10);
348 1 write_command(0x86);
349 1 for(ii=0;ii<3;ii++)
350 1 {
351 2 write_data(str11[ii]);
352 2 }
353 1 delay(200);
354 1 }
355
356
357
358
359
360
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 4036 ----
CONSTANT SIZE = 66 ----
C51 COMPILER V8.02 ANGLE_MEASURE 01/14/2009 21:15:28 PAGE 7
XDATA SIZE = 68 ----
PDATA SIZE = ---- ----
DATA SIZE = 34 ----
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 + -