?? 八路.lst
字號:
283 1 P0=table[num1];
284 1 delay(10);
285 1 }
286 void disfen(uchar num2)//顯示分數
287 {
288 1 while(start()!=4)
289 1 {
290 2 uchar shi,ge;
291 2 jishice=1;
292 2 fenshi=0;
293 2 fenge=1;
294 2 haoce=1;
295 2 shi=num2/10;
296 2 ge=num2%10;
297 2 P0=table[shi];
298 2 delay(10);
299 2 fenshi=1;
300 2 fenge=0;
301 2 haoce=1;
302 2 P0=table[ge];
303 2 delay(10);
C51 COMPILER V8.02 八路 04/21/2009 13:32:20 PAGE 6
304 2 fenshi=1;
305 2 fenge=1;
306 2 haoce=0;
307 2 P0=table[flag4];
308 2 delay(10);
309 2 if(jifen()==1)
310 2 {
311 3 flag7=0;
312 3 num2=num2+fenzhi;
313 3 }
314 2 if(jifen()==2)
315 2 {
316 3 flag7=0;
317 3 num2=num2-fenzhi;
318 3 }
319 2 switch(flag4)
320 2 {
321 3 case 1:fen1=num2;break;
322 3 case 2:fen2=num2;break;
323 3 case 3:fen3=num2;break;
324 3 case 4:fen4=num2;break;
325 3 case 5:fen5=num2;break;
326 3 case 6:fen6=num2;break;
327 3 case 7:fen7=num2;break;
328 3 case 8:fen8=num2;break;
329 3 }
330 2 }
331 1 haoce=1;
332 1 jishice=1;
333 1 fenshi=1;
334 1 fenge=1;
335 1 flag8=1;
336 1 //EA=0;
337 1 key=0;
338 1 }
339 void discha(uchar num3)//顯示查詢結果
340 {
341 1 uchar shi2,ge2;
342 1 while(start()!=4)
343 1 {
344 2 jishice=1;
345 2 fenshi=0;
346 2 fenge=1;
347 2 haoce=1;
348 2 shi2=num3/10;
349 2 ge2=num3%10;
350 2 P0=table[shi2];
351 2 delay(10);
352 2 fenshi=1;
353 2 fenge=0;
354 2 haoce=1;
355 2 P0=table[ge2];
356 2 delay(10);
357 2 fenshi=1;
358 2 fenge=1;
359 2 haoce=0;
360 2 P0=table[key2];
361 2 delay(10);
362 2 }
363 1 haoce=1;
364 1 fenshi=1;
365 1 fenge=1;
C51 COMPILER V8.02 八路 04/21/2009 13:32:20 PAGE 7
366 1 key2=0;
367 1 flag1=0;
368 1 }
369 void fenshu()//顯示每臺分數
370 {
371 1 switch(key)
372 1 {
373 2 case 1:disfen(fen1);break;
374 2 case 2:disfen(fen2);break;
375 2 case 3:disfen(fen3);break;
376 2 case 4:disfen(fen4);break;
377 2 case 5:disfen(fen5);break;
378 2 case 6:disfen(fen6);break;
379 2 case 7:disfen(fen7);break;
380 2 case 8:disfen(fen8);break;
381 2 }
382 1 }
383 uchar start() //搶答計時鍵,答題計時鍵,記分鍵,重來鍵
384 {
385 1 uchar temp;
386 1 P1=0xf7;
387 1 temp=P1;
388 1 temp=temp&0xf0;
389 1 if(temp!=0xf0)
390 1 {
391 2 delay(10);
392 2 temp=P1;
393 2 temp=temp&0xf0;
394 2 if(temp!=0xf0)
395 2 {
396 3 temp=P1;
397 3 switch(temp)
398 3 {
399 4 case 0xe7:flag1=1;break;
400 4 case 0xd7:flag1=2;break;
401 4 case 0xb7:flag1=3;break;
402 4 case 0x77:flag1=4;break;
403 4 default:flag1=0;break;
404 4 }
405 3 }
406 2 }
407 1 return(flag1);
408 1 }
409 uchar jifen()
410 {
411 1 uchar temp;
412 1 P1=0xfb;
413 1 temp=P1;
414 1 temp=temp&0xf0;
415 1 if(temp!=0xf0)
416 1 {
417 2 delay(10);
418 2 temp=P1;
419 2 temp=temp&0xf0;
420 2 if(temp!=0xf0)
421 2 {
422 3 temp=P1;
423 3 switch(temp)
424 3 {
425 4 case 0xeb:flag7=1;break;
426 4 case 0xdb:flag7=2;break;
427 4 case 0xbb:flag7=3;break;
C51 COMPILER V8.02 八路 04/21/2009 13:32:20 PAGE 8
428 4 case 0x7b:flag7=4;break;
429 4 default:flag1=0;break;
430 4 }
431 3 while(temp!=0xf0) //等待釋放
432 3 {
433 4 temp=P1;
434 4 temp=temp&0xf0;
435 4 }
436 3 }
437 2 }
438 1 return(flag7);
439 1 }
440 void chaxun()
441 {
442 1 switch(nokeyscan())
443 1 {
444 2 case 1:discha(fen1);break;
445 2 case 2:discha(fen2);break;
446 2 case 3:discha(fen3);break;
447 2 case 4:discha(fen4);break;
448 2 case 5:discha(fen5);break;
449 2 case 6:discha(fen6);break;
450 2 case 7:discha(fen7);break;
451 2 case 8:discha(fen8);break;
452 2 }
453 1 }
454 void set()
455 {
456 1 if(jifen()==4)
457 1 {
458 2 flag9++;
459 2 flag7=0;
460 2 switch(flag9)
461 2 {
462 3 case 1:disset(fenzhi,dashi,qiangshi);
463 3 while(jifen()!=4)
464 3 {
465 4 if(flag7==1)
466 4 {
467 5 flag7=0;
468 5 fenzhi++;
469 5 }
470 4 if(flag7==2)
471 4 {
472 5 flag7=0;
473 5 fenzhi--;
474 5 }
475 4 }
476 3 flag7=0;
477 3 disset(fenzhi,dashi,qiangshi);break;
478 3 case 2:disset(fenzhi,dashi,qiangshi);
479 3 while(jifen()!=4)
480 3 {
481 4 if(flag7==1)
482 4 {
483 5 flag7=0;
484 5 dashi++;
485 5 }
486 4 if(flag7==2)
487 4 {
488 5 flag7=0;
489 5 dashi--;
C51 COMPILER V8.02 八路 04/21/2009 13:32:20 PAGE 9
490 5 }
491 4 }
492 3 disset(fenzhi,dashi,qiangshi);break;
493 3 case 3:disset(fenzhi,dashi,qiangshi);
494 3 while(jifen()!=4)
495 3 {
496 4 if(flag7==1)
497 4 {
498 5 flag7=0;
499 5 qiangshi++;
500 5 }
501 4 if(flag7==2)
502 4 {
503 5 flag7=0;
504 5 qiangshi--;
505 5 }
506 4 }
507 3 disset(fenzhi,dashi,qiangshi);break;
508 3 case 4:disset(fenzhi,dashi,qiangshi);
509 3 while(jifen()!=4)
510 3 {
511 4 if(flag7==1)
512 4 {
513 5 flag7=0;
514 5 qiangshi++;
515 5 }
516 4 if(flag7==2)
517 4 {
518 5 flag7=0;
519 5 qiangshi--;
520 5 }
521 4 }
522 3 disset(fenzhi,dashi,qiangshi);break;
523 3 flag7=0;
524 3 case 5:flag9=0;break;
525 3 }
526 2 }
527 1 haoce=1;
528 1 fenge=1;
529 1 fenshi=1;
530 1 }
531 void disset(uchar num4,uchar num5,uchar num6)
532 {
533 1 while(!jifen())
534 1 {
535 2 haoce=0;
536 2 fenshi=1;
537 2 fenge=1;
538 2 P0=table[num4];
539 2 delay(10);
540 2 haoce=1;
541 2 fenge=0;
542 2 fenshi=1;
543 2 P0=table[num5];
544 2 delay(10);
545 2 haoce=1;
546 2 fenge=1;
547 2 fenshi=0;
548 2 P0=table[num6];
549 2 delay(10);
550 2 }
551 1 haoce=1;
C51 COMPILER V8.02 八路 04/21/2009 13:32:20 PAGE 10
552 1 fenge=1;
553 1 fenshi=1;
554 1 P0=0xff;
555 1 }
556
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1783 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 26 6
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 + -