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

📄 main.lst

📁 一个带收音的功放程序, VFD显示驱动用一个非常实用的方法, 稍加修改即可换成不同的VFD, 功放芯片用M61538
💻 LST
字号:
C51 COMPILER V7.20   MAIN                                                                  06/30/2005 14:02:55 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil51\C51\BIN\c51.exe main.c DB OE SMALL ROM(LARGE)

line level    source

   1          /*==================================================================
   2                                              AV解码功率放大器
   3          
   4          主控MCU:               MX10FMAXDPC
   5          显示芯片:              PT16312
   6          音量控制芯片:          M62429
   7          数字音频接收芯片:  CS8415
   8          AUDIO DAC:          CS4360
   9          AUDIO ADC:          CS5340
  10          音频解码器:        CS493263(不带PROLOGIC II)
  11          功放芯片:          FL,FR采用TDA7265,CENTER采用TDA2050,SUB WOOFER采用TDA7296
  12          
  13          ===================================================================
  14          作者:                  David.Dong
  15          编写日期:              2004-11-16
  16          修改日期:          2004-12-17
  17          ==================================================================*/
  18          #define     Variable_GLOBE
  19          #include        "reg52.h"
  20          #include        "intrins.h"
  21          #include        "..\..\inc\globedef.h"
  22          #include        "..\..\inc\keydef.h"
  23          #include    "..\..\inc\keyproc.h"
  24          #include        "..\..\inc\vfddef.h"
  25          #include        "..\..\inc\intctrl.h"
  26          #include        "..\..\inc\delay.h"
  27          #include        "..\..\inc\m61538.h"
  28          #include        "..\..\inc\tuner.h"
  29          #include        "..\..\inc\i2c.h"
  30          
  31          
  32          void            MCU_Init(void);
  33          void            State_Init(void);
  34          
  35          /*==================================================================
  36          描述: 完成任务的循环,主要是处理按键输入,根据按键输入调整工作状态
  37          ==================================================================*/
  38          void main(void)
  39          {
  40   1              
  41   1              MCU_Init();                                                     //mcu初始化, 包括定时器,外部中断,I/O等
  42   1              DelayX1ms(200);                                         //延时50ms
  43   1              State_Init();                                           //初始一些状态
  44   1              DelayX1ms(50);  
  45   1              
  46   1              VFD_Init();     
  47   1              TR1 = 1;                                                //VFD芯片初始化
  48   1              TR2 = 1;                                                        //定时器1开始计数       
  49   1              do
  50   1              {
  51   2                      if(ReadKey_Timer == 20)
  52   2                      {
  53   3                              
  54   3                       VFD_SearchKey();                       //查询面板按键,飞梭按键在Timer1中断中,                                  
  55   3                               ReadKey_Timer   = 0;                                                                                                   
C51 COMPILER V7.20   MAIN                                                                  06/30/2005 14:02:55 PAGE 2   

  56   3                      }       
  57   2                      
  58   2                      KEY_Proc();                                             //按键处理
  59   2                      if(1 == POWER_Status)                   //如果在工作状态
  60   2                      {
  61   3                              Tuner_Proc();                           //tuner部分处理
  62   3                              //I2C_PutByte(A24C02, 0, 1);
  63   3                              VFD_Task_Proc();                        //VFD刷新显示
  64   3                      }
  65   2              }while(1);
  66   1      }
  67          void MCU_Init(void)
  68          {
  69   1              //IE寄存器
  70   1              EA  = 0;                                //关闭所有中断
  71   1              
  72   1              ES  = 0;                                //禁止串口中断
  73   1              ET1 = 1;                                //允许Timer1中断
  74   1              EX1 = 1;                                //允许EX1中断
  75   1              ET0 = 1;                                //允许Timer0中断
  76   1              EX0 = 0;                                //允许EX0中断
  77   1      
  78   1              Timer2_CntL = 0x18;
  79   1              Timer2_CntH = 0xFC;
  80   1              RCAP2L = Timer2_CntL;
  81   1              RCAP2H = Timer2_CntH;
  82   1      
  83   1              ET2 = 1;
  84   1              TF2 = 0;
  85   1              EXF2 = 0;
  86   1              RCLK = 0;
  87   1              TCLK = 0;
  88   1              EXEN2 = 0;
  89   1              C_T2 = 0;
  90   1              CP_RL2 = 0;
  91   1              TR2 = 1;
  92   1              P0 = 0xFF;                              //各个端口都初始化为输入状态
  93   1              P1 = 0xFF;                              //
  94   1              P2 = 0xFF;                              //
  95   1              P3 = 0xFF;                              //
  96   1      
  97   1              TMOD=0x11;                              //置计数/定时器1为16位定时器
  98   1      
  99   1              //TCON=0x45;                    //外部中断
 100   1              TR0 = 0;                                //定时器0停止计数       
 101   1              TR1 = 1;                                //定时器1开始计数       
 102   1              TR2 = 1;                                //定时器1开始计数       
 103   1              IT1 = 1;                                //设置外部中断1为下降沿中断
 104   1              IT0 = 1;                                //设置外部中断0为下降沿中断
 105   1              
 106   1      #ifdef  USE_STC_MCU
 107   1              AUXR |= 0x1;
 108   1      #endif
 109   1      
 110   1              EA=1;                                   //开中断
 111   1      }
 112          /*================================================
 113          描述:   工作状态, 音量等的状态初始化
 114          参数:   无
 115          返回:   无
 116          ================================================*/
 117          void    State_Init(void)
C51 COMPILER V7.20   MAIN                                                                  06/30/2005 14:02:55 PAGE 3   

 118          {
 119   1      
 120   1              AV_STANDBY = 1;
 121   1              Current_State   = STANDBY;                              //设置初始状态为STANDBY 
 122   1              Current_Key     = NO_KEY;                               //当前无按键输入
 123   1              Mute_Switch     = 1;                                    //在静音状态
 124   1              Current_Volume  = 30;                                   //所有的总音量
 125   1              Center_Volume   = 30;                                   //中置音量
 126   1              BASS_Volume     = 30;                                   //重低音音量
 127   1              SL_Volume           = 30;                   //SL音量
 128   1              SR_Volume           = 30;                   //SR音量
 129   1              FL_Volume           = 30;                   //FL音量
 130   1              FR_Volume           = 30;                       //FR音量
 131   1              CD4053_SELECT   = 1;                    //选择是5.1输入还是2ch输入
 132   1              ReadKey_Timer   = 0;
 133   1              POWER_Status    = 0;
 134   1              Remote_value    = NO_KEY;
 135   1              IR_KeyAct               = 0;
 136   1              Jog_Key                 = NO_KEY;
 137   1              Volume_Key_Dealed = 0;
 138   1              Current_Remote_In = 0;  
 139   1              Key_Timer = 0;  
 140   1              FMAM_PRESSED = 0;
 141   1              TO_MAIN_DISPLAY = 0;
 142   1              Auto_Scan_Enable = 0;
 143   1              Jog_B_Buffer = 0;
 144   1              FLASH_TEMP = 0;
 145   1              
 146   1              TRI_TUNER_DATA;
 147   1              CLEAR_M61538_CLK;
 148   1              CLEAR_M61538_DATA;
 149   1              
 150   1              
 151   1              
 152   1              
 153   1      }


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