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

📄 volume_task.lst

📁 本源程序使用C51控制的PLL(SANYO LC72131)收音,可以通过HT1621驱动LCD显示,有完整的按键控制程序模块,能通过KEY进行各种功能操作,整个程序采用模块化设计,移植方便,可以初学
💻 LST
📖 第 1 页 / 共 2 页
字号:
 140      =1  
 141      =1  /*----- Volume Control Start -----*/
 142      =1  #define SC7313_ADD              0x88
 143      =1  #define RADIO_IN                0x5c
 144      =1  #define CD_IN                   0x59    //01011001
 145      =1  #define TAPE_IN                 0x5e
 146      =1  
 147      =1  /*----- Touch Pad Control Define -----*/
 148      =1  #define TOUCH_REQUEST   0x52
 149      =1  #define TOUCH_RETURN    0x53
 150      =1  
 151      =1  #define FWVER_REG               0x00
 152      =1  #define BUTTON_REG              0x10
 153      =1  #define XY_REG                  0x20
 154      =1  #define ANGLE_REG               0x30
 155      =1  #define TPSEN_REG               0x40
 156      =1  #define FWID_REG                0xf0
 157      =1  
 158      =1  /*----- DTS system define -----*/
 159      =1  #define Mem_StartAdd    0x10
 160      =1  #define Mem_EndAdd              0x1f
 161      =1  
 162      =1  #define Mem_test                0
 163      =1  #define Mem_5                   5
 164      =1  #define Mem_10                  10
 165      =1  #define DTS_Mem_Size    Mem_10
 166      =1  
 167      =1  #define DTS_FreStart    878
 168      =1  #define DTS_FreEnd              1080
 169      =1  
 170      =1  #if             DTS_Mem_Size == Mem_5
           =1 #define Mem_Fre0                878
           =1 #define Mem_Fre1                900
           =1 #define Mem_Fre2                100
           =1 #define Mem_Fre3                960
           =1 #define Mem_Fre4                1080
           =1 #endif
 177      =1   
 178      =1  #if             DTS_Mem_Size == Mem_10
 179      =1  #define Mem_Fre0                878
 180      =1  #define Mem_Fre1                900
 181      =1  #define Mem_Fre2                940
 182      =1  #define Mem_Fre3                960
 183      =1  #define Mem_Fre4                980
 184      =1  #define Mem_Fre5                1000
 185      =1  #define Mem_Fre6                1020
 186      =1  #define Mem_Fre7                1040
 187      =1  #define Mem_Fre8                1060
 188      =1  #define Mem_Fre9                1080
 189      =1  #endif
  22          #include "driver\io_def.h"
   1      =1  /*H**************************************************************************
   2      =1  * NAME:         io_def.h         
   3      =1  *----------------------------------------------------------------------------
   4      =1  * Copyright (c) 2006 Atmel.
   5      =1  *----------------------------------------------------------------------------
   6      =1  * RELEASE:      C51 Sample      
C51 COMPILER V8.01   VOLUME_TASK                                                           08/07/2006 11:16:10 PAGE 7   

   7      =1  * REVISION:     1.00     
   8      =1  *----------------------------------------------------------------------------
   9      =1  * PURPOSE:
  10      =1  *****************************************************************************/
  11      =1  
  12      =1  /*_____ I N C L U D E S ____________________________________________________*/
  13      =1  
  14      =1   
  15      =1  #define DTS_DOUT        P3_6
  16      =1  #define DTS_DIN         P3_4
  17      =1  #define DTS_CLK         P3_5
  18      =1  #define DTS_CE          P3_7
  19      =1  
  20      =1  #define MPOWER          P3_1
  21      =1  #define CDPOWER         P1_7
  22      =1  #define TAPE_POWER      P1_5
  23      =1  
  24      =1  #define LCD_DA          P0_0
  25      =1  #define LCD_RW          P0_1
  26      =1  #define LCD_CS          P0_2
  27      =1  
  28      =1  #define ISDA            P2_1
  29      =1  #define ISCL            P2_0
  30      =1  
  31      =1  #define TOUCH_SDI               P0_3
  32      =1  #define TOUCH_SDO               P0_4
  33      =1  #define TOUCH_SCK               P0_5
  34      =1  #define TOUCH_SS                P0_6
  23          #include "volume_task.h"                      
   1      =1  /*H**************************************************************************
   2      =1  * NAME:         volume_task.h         
   3      =1  *----------------------------------------------------------------------------
   4      =1  * Copyright (c) 2006 Atmel.
   5      =1  *----------------------------------------------------------------------------
   6      =1  * RELEASE:      C51 Sample      
   7      =1  * REVISION:     1.00    
   8      =1  *----------------------------------------------------------------------------
   9      =1  * PURPOSE:
  10      =1  *****************************************************************************/
  11      =1  
  12      =1  /*_____ I N C L U D E S ____________________________________________________*/
  13      =1  
  14      =1  void I2c_WriteByte (Byte address, Byte bByte);
  15      =1  //void x7313_write(Uchar info);
  16      =1  
  17      =1  extern  data    Byte    vol_value ;               /* volume value */
  18      =1  Byte code VOL_Step_Map[];
  24          #include "driver\i2c_drv.h"
   1      =1  /*H**************************************************************************
   2      =1  * NAME:         I2C_drv.h         
   3      =1  *----------------------------------------------------------------------------
   4      =1  * Copyright (c) 2006 Atmel.
   5      =1  *----------------------------------------------------------------------------
   6      =1  * RELEASE:      C51 Sample      
   7      =1  * REVISION:     1.00     
   8      =1  *----------------------------------------------------------------------------
   9      =1  * PURPOSE:
  10      =1  *****************************************************************************/
  11      =1  
  12      =1  /*_____ I N C L U D E S ____________________________________________________*/
  13      =1  
  14      =1  Byte I2c_ReadByte (Byte address);
C51 COMPILER V8.01   VOLUME_TASK                                                           08/07/2006 11:16:10 PAGE 8   

  15      =1  void I2c_WriteByte (Byte address, Byte bByte);
  16      =1  Byte I2c_scanLSB (void);
  17      =1  void I2c_getLSB (Byte bByte);
  18      =1  void I2c_start (void);
  19      =1  void I2c_stop (void);
  20      =1  void I2c_ack (void);
  21      =1  void I2c_init (void);
  22      =1  void I2c_wait (void);
  25          /*_____ M A C R O S ________________________________________________________*/
  26          
  27          
  28          /*_____ D E F I N I T I O N ________________________________________________*/
  29          
  30          
  31          
  32          /*F**************************************************************************
  33          * NAME: disp_task_init
  34          *----------------------------------------------------------------------------
  35          * PARAMS:
  36          *
  37          * return:
  38          *----------------------------------------------------------------------------
  39          * PURPOSE: 
  40          *   Display task initialization
  41          *----------------------------------------------------------------------------
  42          * EXAMPLE:
  43          *----------------------------------------------------------------------------
  44          * NOTE:
  45          *----------------------------------------------------------------------------
  46          * REQUIREMENTS:
  47          *****************************************************************************/
  48          void vol_task_init (void)
  49          {
  50   1              EA = Low;
  51   1              I2c_WriteByte (SC7313_ADD, RADIO_IN); /* reset selection CD input */
  52   1              //I2c_WriteByte (SC7313_ADD, 0x5c); /* reset selection CD input */
  53   1              I2c_WriteByte (SC7313_ADD, 0x80);
  54   1              I2c_WriteByte (SC7313_ADD, 0xa0);
  55   1              I2c_WriteByte (SC7313_ADD, 0x7f);
  56   1              I2c_WriteByte (SC7313_ADD, 0x6f);
  57   1              I2c_WriteByte (SC7313_ADD, VOL_Step_Map[vol_value]);
  58   1              //x7313_write(RADIO_IN);
  59   1              //x7313_write(0x80);
  60   1              //x7313_write(0xa0);
  61   1              //x7313_write(0x7f);
  62   1              //x7313_write(0x6f);
  63   1              //x7313_write(VOL_Step_Map[vol_value]);
  64   1              EA = High;
  65   1      }
  66          
  67          Byte code VOL_Step_Map[]={
  68                  0x3f,   //0 (MUTE dB)
  69                  0x3f,   //1 (-78.75dB)
  70                  0x3e,   //2 (-75dB)
  71                  0x39,   //3 (-70dB)-5
  72                  0x34,   //4 (-65dB)-3.25
  73                  0x31,   //5 (-61.75dB)-3.25
  74                  0x2e,   //6 (-57.5dB)-3.25
  75                  0x2b,   //7 (-53.25dB)-3.25
  76                  0x28,   //8 (-50dB)-3.25
  77                  0x26,   //9 (-47.5dB)
  78                  0x24,   //10 (-45dB)
C51 COMPILER V8.01   VOLUME_TASK                                                           08/07/2006 11:16:10 PAGE 9   

  79                  0x22,   //11 (-42.5dB)
  80                  0x20,   //12 (-40dB)
  81                  0x1f,   //13 (-38.75dB)
  82                  0x1e,   //14 (-37.5dB)
  83                  0x1d,   //15 (-36.25dB)
  84                  0x1c,   //16 (-35dB)
  85                  0x1b,   //17 (-33.75dB)
  86                  0x1a,   //18 (-32.5dB)
  87                  0x19,   //19 (-31.25dB)
  88                  0x18,   //20 (-30dB)
  89                  0x16,   //21 (-27.5dB)
  90                  0x14,   //22 (-25dB)
  91                  0x12,   //23 (-22.5dB)
  92                  0x10,   //24 (-20dB)
  93                  0x0e,   //25 (-17.5dB)
  94                  0x0c,   //26 (-15dB)
  95                  0x0a,   //27 (-12.5dB)
  96                  0x08,   //28 (-10dB)
  97                  0x06,   //29 (-7.5dB)
  98                  0x04,   //30 (-5dB)
  99                  0x02,   //31 (-2.5dB)
 100                  0x00,   //32 (0dB MAX)
 101          };
 102          
 103          /*Byte code VOL_Step_Map[]={
 104                  0x3f,   //0 (MUTE dB)
 105                  0x3e,   //1 (-77.5dB)
 106                  0x3c,   //2 (-75dB)
 107                  0x3a,   //3 (-72.5dB)
 108                  0x38,   //4 (-70dB)
 109                  0x36,   //5 (-67.5dB)
 110                  0x34,   //6 (-65dB)
 111                  0x32,   //7 (-62.5dB)
 112                  0x30,   //8 (-60dB)
 113                  0x2e,   //9 (-57.5dB)
 114                  0x2c,   //10 (-55dB)
 115                  0x2a,   //11 (-52.5dB)
 116                  0x28,   //12 (-50dB)
 117                  0x26,   //13 (-47.5dB)
 118                  0x24,   //14 (-45dB)
 119                  0x22,   //15 (-42.5dB)
 120                  0x20,   //16 (-40dB)
 121                  0x1e,   //17 (-37.5dB)
 122                  0x1c,   //18 (-35dB)
 123                  0x1a,   //19 (-32.5dB)
 124                  0x18,   //20 (-30dB)
 125                  0x16,   //21 (-27.5dB)
 126                  0x14,   //22 (-25dB)
 127                  0x12,   //23 (-22.5dB)
 128                  0x10,   //24 (-20dB)
 129                  0x0e,   //25 (-17.5dB)
 130                  0x0c,   //26 (-15dB)
 131                  0x0a,   //27 (-12.5dB)
 132                  0x08,   //28 (-10dB)
 133                  0x06,   //29 (-7.5dB)
 134                  0x04,   //30 (-5dB)
 135                  0x02,   //31 (-2.5dB)
 136                  0x00,   //32 (0dB MAX)
 137          };*/                              
C51 COMPILER V8.01   VOLUME_TASK                                                           08/07/2006 11:16:10 PAGE 10  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION vol_task_init (BEGIN)
                                           ; SOURCE LINE # 48
                                           ; SOURCE LINE # 49
                                           ; SOURCE LINE # 50
0000 C2AF              CLR     EA
                                           ; SOURCE LINE # 51
0002 7D5C              MOV     R5,#05CH
0004 7F88              MOV     R7,#088H
0006 120000      E     LCALL   _I2c_WriteByte
                                           ; SOURCE LINE # 53
0009 7D80              MOV     R5,#080H
000B 7F88              MOV     R7,#088H
000D 120000      E     LCALL   _I2c_WriteByte
                                           ; SOURCE LINE # 54
0010 7DA0              MOV     R5,#0A0H
0012 7F88              MOV     R7,#088H
0014 120000      E     LCALL   _I2c_WriteByte
                                           ; SOURCE LINE # 55
0017 7D7F              MOV     R5,#07FH
0019 7F88              MOV     R7,#088H
001B 120000      E     LCALL   _I2c_WriteByte
                                           ; SOURCE LINE # 56
001E 7D6F              MOV     R5,#06FH
0020 7F88              MOV     R7,#088H
0022 120000      E     LCALL   _I2c_WriteByte
                                           ; SOURCE LINE # 57
0025 E500        E     MOV     A,vol_value
0027 900000      R     MOV     DPTR,#VOL_Step_Map
002A 93                MOVC    A,@A+DPTR
002B FD                MOV     R5,A
002C 7F88              MOV     R7,#088H
002E 120000      E     LCALL   _I2c_WriteByte
                                           ; SOURCE LINE # 64
0031 D2AF              SETB    EA
                                           ; SOURCE LINE # 65
0033 22                RET     
             ; FUNCTION vol_task_init (END)

C51 COMPILER V8.01   VOLUME_TASK                                                           08/07/2006 11:16:10 PAGE 11  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


vol_task_init. . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
Uint32 . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_LONG   -----  4
Uint16 . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
Int32. . . . . . . . . . . . . . . . .  TYPEDEF  -----  LONG     -----  4
Int16. . . . . . . . . . . . . . . . .  TYPEDEF  -----  INT      -----  2
Byte . . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
_I2c_WriteByte . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
vol_value. . . . . . . . . . . . . . .  EXTERN   DATA   U_CHAR   -----  1
Float16. . . . . . . . . . . . . . . .  TYPEDEF  -----  FLOAT    -----  4
VOL_Step_Map . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    0000H  33
Uchar. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     52    ----
   CONSTANT SIZE    =     33    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   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 + -