?? 計價器存儲.lst
字號:
402 3 {
403 4 led=1;
404 4 a=0;
405 4 lucheng[5]=0;
406 4 lucheng[6]=18;
407 4 lucheng[7]=0;
408 4 lucheng[0]=0;
409 4 lucheng[1]=0;
410 4 lucheng[2]=18;
411 4 lucheng[3]=0;
412 4 zongjia[0]=18;
413 4 zongjia[1]=0;
414 4 zongjia[5]=0;
415 4 zongjia[6]=18;
416 4 zongjia[7]=0;
417 4 break;
418 4 }
419 3 }
420 2 }
421 1 }
422
423 gaijia() //改價子程序
424 {
425 1 a=2; //改價顯示
426 1 i=8;
427 1 while(1)
C51 COMPILER V8.02 計價芲存儲 04/22/2007 20:47:35 PAGE 8
428 1 {
429 2 if(shangjian()==1) //三鍵按下,退出程序
430 2 goto loop;
431 2 if(erjian()==1) //二鍵按下,進入輸密碼程序
432 2 {
433 3 if(mi()==1) //密碼正確,跳出循環
434 3 {
435 4 a=2;
436 4 break;
437 4 }
438 3 else
439 3 {
440 4 a=0;goto loop; //密碼錯誤,退出
441 4 }
442 3 }
443 2 if(yijian()==1) //按下一鍵,進入改密碼單元
444 2 {
445 3 gaimi();
446 3 goto loop;
447 3 }
448 2 }
449 1 for(i=7;i>=0;i--) //循環8次
450 1 {
451 2 if(i==5|i==2) continue; //如果是第二位或第五位,不改
452 2 if((i==7|i==4|i==1)&jiage[i]<18) jiage[i]=18; //一、四、七位顯示小數點
453 2 while(1)
454 2 {
455 3 if(shangjian()==1) //按下三鍵,價格減1
456 3 {
457 4 jiage[i]--;
458 4 if(jiage[i]<0|jiage[i]==17)
459 4 jiage[i]=jiage[i]+10;
460 4 }
461 3 if(erjian()==1) //按下二鍵,價格加1
462 3 {
463 4 jiage[i]++;
464 4 if(jiage[i]==10|jiage[i]==28)
465 4 jiage[i]=jiage[i]-10;
466 4 }
467 3 if(yijian()==1) break; //按下一鍵,移到下一位
468 3 }
469 2 }
470 1 wrtorom(jiage,8,8);
471 1 jia=1;
472 1 loop:;
473 1 a=0; //退出后顯示時間
474 1 i=0;
475 1 }
476
477 void main() //主程序
478 {
479 1 led=1;
480 1 TMOD=0x11; //初始化
481 1 TH0=(65536-100)/256;
482 1 TL0=(65536-100)%256;
483 1 TH1=(65536-65000)/256;
484 1 TL1=(65536-65000)%256;
485 1 TR0=1;
486 1 TR1=1;
487 1 ET0=1;
488 1 ET1=1;
489 1 EA=1;
C51 COMPILER V8.02 計價芲存儲 04/22/2007 20:47:35 PAGE 9
490 1 PT1=1;
491 1 P0=duanma[shijian[dis]] ; //P0口輸出段碼
492 1 P2=weima[dis]; //P2口輸出位碼
493 1 if(jia==1)
494 1 rdfromrom(jiage,8,8) ;
495 1 while(1)
496 1 {
497 2 if(yijian()==1) //一鍵按下,進入改時間程序
498 2 {
499 3 tiaoshi();
500 3 }
501 2 if(erjian()==1) //二鍵按下,進入計價程序
502 2 {
503 3 led=0;
504 3 jijia();
505 3 }
506 2 if(shangjian()==1) //三鍵按下,進入改價格程序
507 2 {
508 3 gaijia();
509 3 }
510 2 if(kaiguan()==1) //白天,晚上轉換開關
511 2 {
512 3 m=1;
513 3 }
514 2 else m=0;
515 2 }
516 1 }
517
518 void t0(void) interrupt 1 using 1 //定時器0中斷
519 {
520 1
521 1 TH1=(65536-65000)/256;
522 1 TL1=(65536-65000)%256;
523 1 tcnt++;
524 1 ms++;
525 1 if(ms==8)
526 1 {
527 2 ms=0;
528 2 switch(a) //顯示模塊開關
529 2 {
530 3 case 0: if((i==dis|(i-1)==dis)&i>0) //0:顯示時間
531 3 {
532 4 if(tcnt<1500) //閃動程序
533 4 {
534 5 P0=duanma[17];
535 5 }
536 4 else P0=duanma[shijian[dis]];
537 4 break;
538 4 }
539 3 else P0=duanma[shijian[dis]]; break;
540 3 case 1: P0=duanma[lucheng[dis]]; break; //1:顯示路程
541 3 case 2: if(i==dis&i>=0) //2:顯示價格
542 3 {
543 4 if(tcnt<1500)
544 4 {
545 5 P0=duanma[17];
546 5 }
547 4 else P0=duanma[jiage[dis]] ; break;
548 4 }
549 3 else P0=duanma[jiage[dis]] ; break;
550 3 case 3: if(shijian[1]%2==1) //3:路程,總價循環顯示
551 3 {
C51 COMPILER V8.02 計價芲存儲 04/22/2007 20:47:35 PAGE 10
552 4 P0=duanma[lucheng[dis]] ; break;
553 4 }
554 3 else P0=duanma[zongjia[dis]]; break;
555 3 case 4: P0=duanma[zongjia[dis]]; break; //4:總價顯示
556 3 case 5: if(i==dis&i>=0) //5:輸密碼顯示
557 3 {
558 4 if(tcnt<1500)
559 4 {
560 5 P0=duanma[17];
561 5 }
562 4 else P0=duanma[mima[dis]];
563 4 break;
564 4 }
565 3 else P0=duanma[mima[dis]]; break;
566 3 case 6: if(i==dis&i>=0) //6:改密碼顯示
567 3 {
568 4 if(tcnt<1500)
569 4 {
570 5 P0=duanma[17];
571 5 }
572 4 else P0=duanma[mima1[dis]];
573 4 break;
574 4 }
575 3 else P0=duanma[mima1[dis]]; break;
576 3 }
577 2 P2=weima[dis]; //位碼掃描
578 2 dis++;
579 2 if(dis==8)
580 2 {
581 3 dis=0;
582 3 }
583 2 }
584 1
585 1 if(tcnt==5000)
586 1 {
587 2 tcnt=0;
588 2 if(a==1|a==3) //計數器開始狀態,計時間
589 2 {
590 3 lucheng[0]++;
591 3 if(lucheng[0]==10)
592 3 {
593 4 lucheng[0]=0;
594 4 lucheng[1]++;
595 4 if(lucheng[1]==6)
596 4 {
597 5 lucheng[1]=0;
598 5 lucheng[2]++;
599 5 if(lucheng[2]==28)
600 5 {
601 6 lucheng[2]=18;
602 6 lucheng[3]++;
603 6 if(lucheng[3]==6)
604 6 lucheng[3]=0;
605 6 }
606 5 }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -