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

📄 tda7440d.lst

📁 lcd驱动程序:用于au
💻 LST
字号:
C51 COMPILER V7.50   TDA7440D                                                              01/14/2006 15:30:04 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE TDA7440D
OBJECT MODULE PLACED IN .\HEX\TDA7440D.obj
COMPILER INVOKED BY: F:\Keil\C51\BIN\C51.EXE TDA7440D.C LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\lst\TDA7440D.lst) OBJECT
                    -(.\HEX\TDA7440D.obj)

line level    source

   1          
   2          //TP67xx  Audio Control .
   3          #include "78e65.h"
   4          #include "ext_globl.h"
   5          #include "func_shi.h"
   6          #include "config.h"
   7          #if _debug
   8          #include <stdio.h>               // printf() in the file .
   9          #endif
  10          #include "tda7440d.h"
  11          
  12          #define AT24C16 0xA0
  13          #define EEPROM  0xA0
  14          //#define TDA7440D      88
  15          sbit AMP_MUTE   =       P3^4;
  16          sbit ST_BY      =       P2^2;
  17          //sbit TEST     =       P0^0;
  18          void set_audio_bass_treble(char data low,char data hight);
  19          void set_audio_right_left(char data right,char data left);
  20          void set_audio_gain(char data value);
  21          //void set_audio_switch(char value);
  22          void set_audio_volume(char data value);
  23          
  24          
  25          /**************************************************************
  26           *   Save Audio Switch   to 24c16     
  27           *   value (The range is 0 to 0x03)
  28           **************************************************************/
  29          void set_audio_switch(char value)
  30          {
  31   1              char temp;
  32   1              temp=value;
  33   1              if(value>0x03){
  34   2                      #if _debug
  35   2                      printf(" the input channel = %bxis out of range \n",value);
  36   2                      #endif
  37   2                      return;
  38   2              }
  39   1              else{
  40   2                      shi_sub_write(TDA7440D, 0x00, 0x00, &temp);
  41   2              }
  42   1      }
  43          //================================================================
  44          //Init Audio .
  45          void init_audio()
  46          {
  47   1      
  48   1              //set_audio_mute(1);
  49   1              
  50   1              set_audio_switch(0x00);
  51   1              //printf("test dot cs\n");
  52   1              DelayXms(0x30);
  53   1              set_audio_volume(5);
  54   1              set_audio_gain(3);      DelayXms(0x30); //INPUT GAIN . 0DB 
C51 COMPILER V7.50   TDA7440D                                                              01/14/2006 15:30:04 PAGE 2   

  55   1              set_audio_right_left(0, 0);     DelayXms(0x30); //set right and left 0DB.
  56   1              set_audio_bass_treble(4, 8);DelayXms(0x30);
  57   1      }
  58          //----------------------------------------------------------------
  59          void set_audio_mute(char a)
  60          {
  61   1              char data temp; 
  62   1              if(a){
  63   2                      #if 1 
  64   2                      temp=0x38;
  65   2                      set_audio_right_left(0x78, 0x78);
  66   2                      shi_sub_write(TDA7440D, 02,0, &temp);
  67   2                      #endif
  68   2              
  69   2                      AMP_MUTE = 1;
  70   2                      //TEST=1;
  71   2      
  72   2                      ST_BY=0;
  73   2              }
  74   1              else{
  75   2              }
  76   1      
  77   1      }
  78          
  79          //-----------------------------------------------------
  80          
  81          //     The value is 0--15.
  82          //-----------------------------------------------------
  83          void set_audio_volume(char data value)
  84          {
  85   1              char a;
  86   1              #if 0
                      char vol_table[0x10]=
                              {0x38,0x2E, 0x28,024,0x20,0x1d,0x1a,0x18,
                                      0x15,0x12,0x10,0x0e,0x0a,0x08,0x04,0x01};
                      #endif
  91   1              char vol_table[0x10]=
  92   1                      {56,40,36,34,33,30,27,24,21,19,16,13,10,7,4,1};
  93   1              vol_table[value]=0x0;
  94   1              shi_sub_write(TDA7440D,0x02,00,&vol_table[value]);
  95   1              DelayXms(0x30);
  96   1              a=0;
  97   1              shi_sub_write(EEPROM, 06, 0, &a);
  98   1              PWMCON1=0X00;
  99   1              PWM3=232-value*12;
 100   1              PWMCON1=0XA0;
 101   1      }
 102          //
 103          void load_audio_volume()
 104          {
 105   1              DelayXms(0x30);
 106   1              set_audio_volume(volume_sel); 
 107   1              set_audio_right_left(0, 0);
 108   1              PWMCON1=0X00;
 109   1              PWM3=232-volume_sel*12;
 110   1              PWMCON1=0XA0;
 111   1              AMP_MUTE=0;
 112   1              //TEST=0;
 113   1      }
 114          //==========================================================
 115          
 116          void set_audio_gain(char data value)
C51 COMPILER V7.50   TDA7440D                                                              01/14/2006 15:30:04 PAGE 3   

 117          {
 118   1              value&=0x0f;
 119   1              shi_sub_write(TDA7440D, 0x01, 00, &value);
 120   1      }
 121          //-------------------------------------------------------
 122          void set_audio_bass_treble(char data low,char data hight)
 123          {
 124   1              //value&=0x0f;
 125   1              char xdata bass_treble_table[0x0f]={0,1,2,3,4,5,6,7,0x0e,0x0d,0x0c,0x0b,0x0a,9,8};
 126   1              if((low<0x0f)&&(hight<0x0f)){           
 127   2                      shi_sub_write(TDA7440D, 0x03, 00, &bass_treble_table[low]);
 128   2                      shi_sub_write(TDA7440D, 0x05, 00, &bass_treble_table[hight]);
 129   2              }
 130   1              else{
 131   2                      #if _debug
 132   2                      printf("the value of bass and treble is out of range,the range is 0-0x0F\n");
 133   2                      #endif
 134   2                      shi_sub_write(TDA7440D, 0x03, 00, &bass_treble_table[7]);
 135   2                      shi_sub_write(TDA7440D, 0x05, 00, &bass_treble_table[7]);
 136   2              }
 137   1      }
 138          //---------------------------------------------------------
 139          void set_audio_right_left(char data right,char data left)
 140          {
 141   1              //value&=0x0f;
 142   1              shi_sub_write(TDA7440D, 0x06, 00, &right);
 143   1              shi_sub_write(TDA7440D, 0x07, 00, &left);
 144   1      }
 145          //--------------------------------------------------------
 146          //        save bass_treble to 24c16;  ( 0x80,0x81 )
 147          //-------------------------------------------------------
 148          /*
 149          void save_bass_treble()
 150          {
 151                  char data temp;
 152          //      shi_sub_read(TDA7440D,0x03,0x00,&temp);
 153                  shi_sub_write(AT24C16,0x80,0x00,&temp);
 154          //      shi_sub_read(TDA7440D,0x05,0x00,&temp);
 155                  shi_sub_write(AT24C16,0x81,0x00,&temp);
 156          }
 157          //--------------------------------------------------------
 158          void load_bass_treble()
 159          {
 160                  char data temp;
 161                  shi_sub_read(AT24C16,0x80,0x00,&temp);
 162                  shi_sub_write(TDA7440D,0x03,0x00,&temp);
 163                  shi_sub_read(AT24C16,0x81,0x00,&temp);
 164                  shi_sub_write(TDA7440D,0x05,0x00,&temp);
 165          }
 166          */
 167          //--------------------------------------------------------
 168          /*
 169          void OSDFunVolume()
 170          {
 171          }
 172          //--------------------------------------------------------
 173          void OSDFunBass()
 174          {
 175          }
 176          //--------------------------------------------------------
 177          void OSDFunTreble()
 178          {
C51 COMPILER V7.50   TDA7440D                                                              01/14/2006 15:30:04 PAGE 4   

 179          }
 180          //--------------------------------------------------------
 181          void S_ForceUnmute()
 182          {
 183          }
 184          //----------------------------------------------------------
 185          void audio_osd_recall()
 186          {
 187          }
 188          */
 189          //----------------------------------------------------------
 190          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    549    ----
   CONSTANT SIZE    =    139    ----
   XDATA SIZE       =   ----      39
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       1
   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 + -