📄 main.lst
字号:
235 3 {
236 4 temp=value_buf[i-1];
237 4 value_buf[i-1]=value_buf[i];
238 4 value_buf[i]=temp;
239 4 }
240 3 }
C51 COMPILER V7.01 MAIN 05/26/2009 13:59:49 PAGE 5
241 2 }
242 1
243 1 return value_buf[(FILTER_N-1)/2];
244 1 }
245 void dispdata(bit dispflag)
246 {
247 1 uint temp;
248 1 if(dispflag)
249 1 {
250 2 voltage=2.5*(data_out/65536.0);
251 2 delay1(100);
252 2
253 2 temp=(uint)(voltage*1000);
254 2 displaybuf[0]=(uchar)voltage;
255 2 displaybuf[1]=(temp%1000)/100;
256 2 displaybuf[2]=((temp%1000)%100)/10;
257 2 displaybuf[3]=((temp%1000)%100)%10;
258 2
259 2 CH452_Write(CH452_DIG0 | displaycode[displaybuf[0]]|0x80);
260 2 CH452_Write(CH452_DIG1 | displaycode[displaybuf[1]]);
261 2 CH452_Write(CH452_DIG2 | displaycode[displaybuf[2]]);
262 2 CH452_Write(CH452_DIG3 | displaycode[displaybuf[3]]);
263 2 }
264 1 else
265 1 {
266 2 CH452_Write(CH452_DIG0 | displaycode[17]);
267 2 CH452_Write(CH452_DIG1 | displaycode[17]);
268 2 CH452_Write(CH452_DIG2 | displaycode[17]);
269 2 CH452_Write(CH452_DIG3 | displaycode[17]);
270 2 delay1(100);
271 2 }
272 1 }
273 void main()
274 {
275 1 unsigned char fsm_key=0;
276 1 unsigned char kbd_col;
277 1 unsigned char kbd_row;
278 1 unsigned char key_val;
279 1
280 1 TMOD=0x11;
281 1 TCON=0x15;
282 1 IE=0x82;
283 1
284 1 P0=0xff;
285 1 P1=0x00;
286 1 P2=0x00;
287 1
288 1 CH452_Write(CH452_RESET);
289 1 delay1(30);
290 1 CH452_Write(CH452_SYSON2);
291 1 CH452_Write(CH452_DIG0 | displaycode[17]);
292 1 CH452_Write(CH452_DIG1 | displaycode[17]);
293 1 CH452_Write(CH452_DIG2 | displaycode[17]);
294 1 CH452_Write(CH452_DIG3 | displaycode[17]);
295 1 delay1(100);
296 1
297 1 MX7705_Init();
298 1 while(1)
299 1 {
300 2 if(Timerout)
301 2 {
302 3 Timerout=0;
C51 COMPILER V7.01 MAIN 05/26/2009 13:59:49 PAGE 6
303 3 switch(fsm_key)
304 3 {
305 4 case 0:
306 4 fsm_key=FSM_WAIT_PRESS;
307 4 break;
308 4 case 1:
309 4 if(keypress)
310 4 {
311 5 key_val=0;
312 5 kbd_col=0;
313 5 if(!PBTN)
314 5 {
315 6 PBTN=1;
316 6 kbd_col=1;
317 6 fsm_key=FSM_VERFY1;
318 6 } else if(!NBTN)
319 5 {
320 6 NBTN=1;
321 6 kbd_col=2;
322 6 fsm_key=FSM_VERFY1;
323 6 } else if(!RSTBTN)
324 5 {
325 6 RSTBTN=1;
326 6 kbd_col=3;
327 6 fsm_key=FSM_VERFY1;
328 6 }
329 5 else
330 5 {
331 6 fsm_key=FSM_INIT;
332 6 }
333 5 }
334 4 break;
335 4 case 2:
336 4 if(!PBTN)
337 4 {
338 5 fsm_key=FSM_VERFY2;
339 5 }
340 4 else if(!NBTN)
341 4 {
342 5 fsm_key=FSM_VERFY2;
343 5 }
344 4 else if(!RSTBTN)
345 4 {
346 5 fsm_key=FSM_VERFY2;
347 5 }
348 4 else
349 4 {
350 5 fsm_key=FSM_INIT;
351 5 }
352 4 break;
353 4 case 3:
354 4 if(!PBTN)
355 4 {
356 5 key_val=kbd_col;
357 5 if(!alarm&&!pmode&&!nmode)
358 5 {
359 6 pmode=1;
360 6 istep=0;
361 6 }
362 5 }
363 4 else if(!NBTN)
364 4 {
C51 COMPILER V7.01 MAIN 05/26/2009 13:59:49 PAGE 7
365 5 key_val=kbd_col;
366 5 if(!alarm&&!nmode&&!pmode)
367 5 {
368 6 nmode=1;
369 6 istep=0;
370 6 }
371 5 }
372 4 else if(!RSTBTN)
373 4 {
374 5 key_val=kbd_col;
375 5 if(!rstmode) rstmode=1;
376 5 }
377 4 fsm_key=FSM_WAIT_RELEASE;
378 4 break;
379 4 case 4:
380 4 if(!keypress)
381 4 {
382 5 fsm_key=FSM_INIT;
383 5 }
384 4 break;
385 4 default:
386 4 fsm_key=FSM_INIT;
387 4 break;
388 4 }
389 3 }
390 2
391 2 data_out=filter2();
392 2 if(!RSTBTN)
393 2 {
394 3 if(disp_updata)
395 3 {
396 4 disp_updata=0;
397 4 dispdata(1);
398 4 }
399 3 }
400 2
401 2 if(istep==0)
402 2 {
403 3 keepcnt=20;
404 3 itimeover=600;
405 3 keepok=0;
406 3 btimeover=0;
407 3 if(pmode)
408 3 {
409 4 istep=1;
410 4 }
411 3
412 3 if(nmode)
413 3 {
414 4 istep=7;
415 4 }
416 3
417 3 }
418 2 else if(istep==1)
419 2 {
420 3
421 3 vHigh=0;
422 3 vLow=1;
423 3 vDir=0;
424 3 lOk=0;
425 3 lErr=0;
426 3 buzzer=0;
C51 COMPILER V7.01 MAIN 05/26/2009 13:59:49 PAGE 8
427 3 if(keepok)
428 3 {
429 4 if(data_out>PP3_63k)
430 4 {
431 5 keepcnt=600;
432 5 keepok=0;
433 5 itimeover=600;
434 5 btimeover=0;
435 5 istep=2;
436 5 }
437 4 if(btimeover)
438 4 {
439 5 itimeover=600;
440 5 btimeover=0;
441 5 istep=10;
442 5 }
443 4 }
444 3 }
445 2 else if(istep==2)
446 2 {
447 3 vHigh=0;
448 3 vLow=0;
449 3 vDir=0;
450 3 lOk=0;
451 3 lErr=0;
452 3 buzzer=0;
453 3 if(keepok)
454 3 {
455 4 if(data_out>PP3_04k)
456 4 {
457 5 keepcnt=20;
458 5 keepok=0;
459 5 itimeover=600;
460 5 btimeover=0;
461 5 istep=3;
462 5 }
463 4 else
464 4 {
465 5 if((data_out<PP3_04k)||(data_out>PP3_63k))
466 5 {
467 6 istep=10;
468 6 }
469 5 }
470 4 if(btimeover)
471 4 {
472 5 btimeover=0;
473 5 itimeover=600;
474 5 istep=10;
475 5 }
476 4 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -