keyproc.lst

来自「一个带收音的功放程序, VFD显示驱动用一个非常实用的方法, 稍加修改即可换成不」· LST 代码 · 共 804 行 · 第 1/5 页

LST
804 行
字号
 616   5                                                       else
 617   5                                                       {
 618   6                                                              if(Current_State == TUNER)
 619   6                                                                      Tuner_MuteOFF_Display();
 620   6                                                              Mute_Switch = 0;
 621   6                                                              AV_STANDBY = 0;
 622   6                                                       }
 623   5                                                       
 624   5                                                       break;
 625   5                                                       
 626   5                                              case KEY_0:                                                                                             
 627   5                                              case KEY_1:
 628   5                                              case KEY_2:
 629   5                                              case KEY_3:     
 630   5                                              case KEY_4:     
 631   5                                              case KEY_5PLUS:
 632   5                                                       if(Current_State == TUNER)
 633   5                                                              Proc_Tuner_Memory();                                                    
 634   5                                                       break;
 635   5      
 636   5                                              case MEMORY_KEY:
 637   5                                                       if(Current_State == TUNER)
 638   5                                                       {
 639   6                                                               if(Memory_Start == 0)
 640   6                                                               {
 641   7                                                                       String_Display[0] = 'M';
 642   7                                                                       String_Display[1] = 'E';
 643   7                                                                       String_Display[2] = 'M';
 644   7                                                                       String_Display[3] = '0';
 645   7                                                                       String_Display[4] = '0';
 646   7                                                                       VFD_DisplayString(String_Display,5);
 647   7                                                                       Memory_Start = 1; //存贮标志
 648   7                                                                       NumberKey_Dealed = 0;
 649   7                                                                       TO_MAIN_DISPLAY = 400;
 650   7                                                                       Digital_Number = 0;
 651   7                                                               }
 652   6                                                               else
 653   6                                                               {
 654   7                                                                      if(Digital_Number > 0)
 655   7                                                                      {
 656   8                                                                              if(FM_AM_Select == FM_MODE)
 657   8                                                                              {       
 658   9                                                                                      
 659   9                                                                                      I2C_PutByte(A24C02, (Digital_Number-1)* 2 + FM_Start, DeltFMFreq & 0xFF );
 660   9                                                                                      DelayX1ms(2);                                   
 661   9                                                                                      I2C_PutByte(A24C02, (Digital_Number-1)* 2 + FM_Start + 1, (BYTE) ((DeltFMFreq & 0xFF00) >> 8)  )
             -;
 662   9                                                                              }
 663   8                                                                              else
 664   8                                                                              {
 665   9                                                                                      I2C_PutByte(A24C02, (AM_Start + Digital_Number - 1), (BYTE)(DeltAMFreq & 0xFF) );       
 666   9                                                                              }
 667   8                                                                      }
 668   7                                                                      Memory_Start = 0;               
 669   7                                                                      NumberKey_Dealed = 0;
 670   7                                                                      String_Display[3] = (Digital_Number / 10) + '0';
 671   7                                                                      String_Display[4] = (Digital_Number % 10) + '0';
 672   7                                                                      TO_MAIN_DISPLAY = 80;
 673   7                                                                      Digital_Number = 0;
 674   7                                                                      VFD_DisplayString(String_Display,5);
C51 COMPILER V7.20   KEYPROC                                                               06/30/2005 14:02:57 PAGE 12  

 675   7                                                               }                                                                                                      
 676   6                                                       }
 677   5                                                       break;
 678   5                                                      
 679   5                                              default:
 680   5                                                       break;
 681   5                                      }
 682   4                              
 683   4                      }
 684   3                      }
 685   2                      Current_Key = NO_KEY;
 686   2              }
 687   1      }
 688          
 689          
 690          
 691          void Power_Proc(void)
 692          {
 693   1              if(POWER_Status == 0)
 694   1              {                               
 695   2                      Tuner_Channel_Init();
 696   2                      FMAM_PRESSED    = 0;
 697   2                      Auto_Scan_Enable = Auto_Scan_Stop;
 698   2                      Auto_Scan_Start = 0;
 699   2                      Manual_Scan_Flag = 0;
 700   2                      Auto_Is_Reach = 0;
 701   2                      Mono_Stereo_Select = Tuner_STEREO;
 702   2                      FM_AM_Select = FM_MODE;
 703   2                      Channel_Display = 100;
 704   2                      VFD_WriteLedPort(0x0);          
 705   2                      Tuner_Open();
 706   2                      VFD_DisplayOn();
 707   2                      DelayX1ms(10);  
 708   2                      Mute_Switch = 0;
 709   2                      Volume_Control = 1;     
 710   2                      Current_State  = TUNER;
 711   2                      Source_Set();
 712   2                      Current_Volume  = 15;                                   //所有的总音量
 713   2                      Center_Volume   = 15;                                   //中置音量
 714   2                      BASS_Volume     = 15;                                   //重低音音量
 715   2                      SL_Volume           = 15;                   //SL音量
 716   2                      SR_Volume           = 15;                   //SR音量
 717   2                      FL_Volume           = 15;                   //FL音量
 718   2                      FR_Volume           = 15;                       //FR音量
 719   2                      Memory_Start    = 0;
 720   2                      Digital_Number  = 0;
 721   2                      Volume_Tune(ALLCH_Vol);                         
 722   2                      TO_MAIN_DISPLAY = 25;
 723   2                      POWER_Status = 1;       
 724   2                      AV_STANDBY = 0; 
 725   2                      
 726   2                      
 727   2              }
 728   1              else if(POWER_Status == 1)
 729   1              {       
 730   2                      Volume_Control = 0;
 731   2                      AV_STANDBY = 1;
 732   2                      Current_State  = STANDBY;
 733   2                      VFD_WriteLedPort(0xF);
 734   2                      VFD_ClearALL();                         
 735   2                      Mute_Switch   = 1;
 736   2                      Current_State  = STANDBY;
C51 COMPILER V7.20   KEYPROC                                                               06/30/2005 14:02:57 PAGE 13  

 737   2                      POWER_Status = 0;
 738   2                      
 739   2              }
 740   1              Current_Key     = NO_KEY;
 741   1      }
 742          
 743          void        Difference_Value(void)
 744          {
 745   1              if(VOL_Difference == 10)
 746   1              {
 747   2                      String_Display[3] = '1';
 748   2                      String_Display[4] = '0';
 749   2              }
 750   1              else
 751   1              {
 752   2                      String_Display[3] = '0';
 753   2                      String_Display[4] = '0' + VOL_Difference;
 754   2              }
 755   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2190    ----
   CONSTANT SIZE    =     69    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?