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

📄 main.lst

📁 一个带收音的功放程序, VFD显示驱动用一个非常实用的方法, 稍加修改即可换成不同的VFD, 功放芯片用M61538
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.20   MAIN                                                                  07/16/2005 13:42:38 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN ..\output\main.obj
COMPILER INVOKED BY: C:\Keil51\C51\BIN\C51.EXE ..\source\KERNEL\main.c BROWSE DEBUG OBJECTEXTEND CODE PRINT(..\output\ma
                    -in.lst) OBJECT(..\output\main.obj)

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                       VFD_SearchKey();                       //查询面板按键,飞梭按键在Timer1中断中,                                  
  54   3                               ReadKey_Timer   = 0;                                                                                                   
C51 COMPILER V7.20   MAIN                                                                  07/16/2005 13:42:38 PAGE 2   

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

 117   1              AV_STANDBY = 1;
 118   1              Current_State   = STANDBY;                              //设置初始状态为STANDBY 
 119   1              Current_Key     = NO_KEY;                               //当前无按键输入
 120   1              Mute_Switch     = 1;                                    //在静音状态    
 121   1              CD4053_SELECT   = 1;                    //选择是5.1输入还是2ch输入
 122   1              ReadKey_Timer   = 0;
 123   1              POWER_Status    = 0;
 124   1              Remote_value    = NO_KEY;
 125   1              IR_KeyAct               = 0;
 126   1              Jog_Key                 = NO_KEY;
 127   1              Volume_Key_Dealed = 0;
 128   1              Current_Remote_In = 0;  
 129   1              Key_Timer = 0;  
 130   1              FMAM_PRESSED = 0;
 131   1              TO_MAIN_DISPLAY = 0;
 132   1              Auto_Scan_Enable = 0;
 133   1              Jog_B_Buffer = 0;
 134   1              
 135   1              TRI_TUNER_DATA;
 136   1              CLEAR_M61538_CLK;
 137   1              CLEAR_M61538_DATA;
 138   1              FLASH_TEMP = 0; 
 139   1              
 140   1      }
C51 COMPILER V7.20   MAIN                                                                  07/16/2005 13:42:38 PAGE 4   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 38
                                           ; SOURCE LINE # 39
                                           ; SOURCE LINE # 41
0000 120000      R     LCALL   MCU_Init
                                           ; SOURCE LINE # 42
0003 7FC8              MOV     R7,#0C8H
0005 120000      E     LCALL   _DelayX1ms
                                           ; SOURCE LINE # 43
0008 120000      R     LCALL   State_Init
                                           ; SOURCE LINE # 44
000B 7F32              MOV     R7,#032H
000D 120000      E     LCALL   _DelayX1ms
                                           ; SOURCE LINE # 46

⌨️ 快捷键说明

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