⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 audio_pro.lst

📁 车载DVD的主控MCU的源程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.06   AUDIO_PRO                                                             12/11/2007 11:28:44 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE AUDIO_PRO
OBJECT MODULE PLACED IN .\BIN\AUDIO_PRO.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SRC\AUDIO_PRO.c LARGE OPTIMIZE(9,SPEED) DEBUG OBJECTEXTEND PRINT(.\LST\AUDI
                    -O_PRO.lst) OBJECT(.\BIN\AUDIO_PRO.obj)

stmt level    source

   1          #include"include.h"
   2          //#include"iic.h"
   3          /**********************************************************************
   4          函数名:Set_Volume(unsigned char Add_Dec,unsigned char Vol_value)
   5          函数说明:音量设置。
   6                  Add_Dec:1为增加,0为减小。
   7                  Vol_value:为输入音量值。
   8          **********************************************************************/
   9          void Set_Volume(unsigned char Add_Dec,unsigned char Vol_value)
  10          {
  11   1              unsigned char i;
  12   1              i = Vol_value;
  13   1      
  14   1              if(Add_Dec)
  15   1              {
  16   2                      ++i;
  17   2                      if(i > 40)i = 40;               
  18   2              }       
  19   1              else
  20   1              {
  21   2                      --i;
  22   2                      if(i > 40)i = 0;
  23   2              }
  24   1                      
  25   1              Audio_Volume = i;
  26   1              if(i == 0)
  27   1             Write7318(TDA7318,0x3f);
  28   1              else{
  29   2                      if(Audio_state == 0x48)
  30   2                      {   
  31   3                              if(speakflag == 1)                                      //导航发声音标志
  32   3                                      Write7318(TDA7318,(0x29 - i));  //0x30//0x34
  33   3                              else Write7318(TDA7318,0x3f);
  34   3                      }
  35   2                      else Write7318(TDA7318,(0x37 - i));
  36   2              }
  37   1              
  38   1              Write24C16(0x0703,Audio_Volume);
  39   1              
  40   1              Sleep(100);
  41   1      }
  42          
  43          /**********************************************************************
  44          函数名:SETVOLUME(unsigned char vol)
  45          函数说明:音量设置,参数为音量值
  46          **********************************************************************/
  47          
  48          void SETVOLUME(unsigned char vol)
  49          {
  50   1              unsigned char i;
  51   1              i = vol;
  52   1              if(i > 0x3f) i = 0x3f;
  53   1              if(i == 0) Write7318(TDA7318,0x3f);
  54   1              else{
C51 COMPILER V7.06   AUDIO_PRO                                                             12/11/2007 11:28:44 PAGE 2   

  55   2                      if(Audio_state == 0x48)
  56   2                      {
  57   3                              Write7318(TDA7318,(0x3f - i));  //0x30//0x34
  58   3                      }
  59   2                      else Write7318(TDA7318,(0x37 - i));
  60   2              }
  61   1          Audio_Volume = i;
  62   1              Write24C16(0x0703,Audio_Volume);
  63   1              Sleep(100);
  64   1      }
  65          /**********************************************************************
  66          函数名:EQ_Ajustment(unsigned char Ajust_Obj,unsigned char EQ_Val)      
  67          函数说明:EQ设置
  68          **********************************************************************/
  69          void EQ_Ajustment(unsigned char Ajust_Obj,unsigned char EQ_Val) 
  70          {
  71   1              unsigned char AJUSTTYPE;
  72   1              unsigned char AJUSTVALUE;
  73   1      
  74   1              AJUSTTYPE = Ajust_Obj;
  75   1              AJUSTVALUE = EQ_Val;
  76   1      
  77   1              
  78   1      
  79   1              if((AJUSTTYPE < 6) && (AJUSTVALUE < 5))
  80   1              {
  81   2                      Write24C16((Ajust_Obj + 0x0e04),EQ_Val);
  82   2              }
  83   1              switch(AJUSTTYPE)
  84   1              {
  85   2                      case 1: //低音
  86   2                      {
  87   3                              switch(EQ_Val)
  88   3                              {
  89   4                                      case 0:Write7318(TDA7318,0x60);break;                   
  90   4                                      case 1:Write7318(TDA7318,0x62);break;
  91   4                                      case 2:Write7318(TDA7318,0x63);break;
  92   4                                      case 3:Write7318(TDA7318,0x64);break;
  93   4                                      case 4:Write7318(TDA7318,0x66);break;
  94   4                                      default:break;
  95   4                              }
  96   3                              break;
  97   3                      }
  98   2                      case 2: //中音  
  99   2                      {
 100   3      /*                      switch(EQ_Val)
 101   3                              {
 102   3                                      case 0:Audio_state = ((Audio_state & 0xe7) | 0x18);break;                       
 103   3                                      case 1:Audio_state = ((Audio_state & 0xe7) | 0x10);break;
 104   3                                      case 2:Audio_state = ((Audio_state & 0xe7) | 0x08);break;
 105   3                                      case 3:Audio_state &= 0xe7;break;
 106   3                                      case 4:Audio_state &= 0xe7;break;
 107   3                                      default:break;
 108   3                                      Write7318(TDA7318,Audio_state);
 109   3                              }
 110   3      */
 111   3                              break;          
 112   3                      }       
 113   2                      case 3: //高音
 114   2                      {
 115   3                              switch(EQ_Val)
 116   3                              {
C51 COMPILER V7.06   AUDIO_PRO                                                             12/11/2007 11:28:44 PAGE 3   

 117   4                                      case 0:Write7318(TDA7318,0x73);break;   
 118   4                                      case 1:Write7318(TDA7318,0x74);break;
 119   4                                      case 2:Write7318(TDA7318,0x75);break;
 120   4                                      case 3:Write7318(TDA7318,0x76);break;
 121   4                                      case 4:Write7318(TDA7318,0x77);break;
 122   4                                      default:break;
 123   4                              }
 124   3                              break;                  
 125   3                      }
 126   2                      case 4: //左右
 127   2                      {
 128   3                              switch(EQ_Val)
 129   3                              {
 130   4                                      case 0:
 131   4                                      {
 132   5                                              Write7318(TDA7318,0x94);                
 133   5                                              Write7318(TDA7318,0xa4);        
 134   5                                              Write7318(TDA7318,0xd4);                
 135   5                                              Write7318(TDA7318,0xf4);
 136   5                                              break;  
 137   5                                      }
 138   4                                      case 1:
 139   4                                      {
 140   5                                              Write7318(TDA7318,0x8c);                

⌨️ 快捷键说明

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