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

📄 halgft808.lst

📁 威望公司MP3 + USB MCU 的参考软件
💻 LST
字号:
C51 COMPILER V8.01   HALGFT808                                                             04/17/2008 09:55:04 PAGE 1   


C51 COMPILER V8.01, COMPILATION OF MODULE HALGFT808
OBJECT MODULE PLACED IN .\Debug\halGFT808.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE fmtx\halGFT808.c LARGE OPTIMIZE(9,SIZE) REGFILE(.\Debug\VA4010_SDK_V2.ORC) 
                    -BROWSE NOINTPROMOTE INCDIR(.\common;.\e2prom;.\file;.\fmtx;.\ir;.\keyboard;.\lcm;.\led;.\main;.\matrixkey;.\mp3ctrl;.\sd
                    -;.\usbhost;.\include;.\lib) DEBUG OBJECTEXTEND PRINT(.\Debug\halGFT808.lst) OBJECT(.\Debug\halGFT808.obj)

line level    source

   1          #include "utiltypedef.h"
   2          #include "common.h"
   3          #include "halGFT808.h"
   4          
   5          #if(FM_TRANS_MODULE == FM_TRANS_GFT808)
              
              #define DELAY(x)    DelayUs(x)
              static void halGFTSendData(BYTE byData)
              {       
                      BYTE i;
                      GFT_DATAOUT();
                      for(i=0; i<8; i++)
                      {
                              if(byData & 0x01)
                                      GFT_Data = 1;
                              else
                                      GFT_Data = 0;
              
                              GFT_Clk = 0; //low
                              byData >>= 1;
                              DELAY(WAIT_TIME);
                              GFT_Clk = 1; //high, the data is clocked in on the rising edge of clock
                              DELAY(WAIT_TIME);
                      }
              }
              /*-----------------------------------------------------------------------------------------*/
              static BYTE data s_FMIdx;
              
              void halFMSet(BYTE byChIdx)
              {
                      WORD wTransValue = 0x0800; //Test mode bit: 0 0 ; Phase Detector bit: 0 0 ; MPX bit : 1
                      
                      s_FMIdx = byChIdx;
                      UartOutText("-I-: FM Idx 0x");UartOutValue(byChIdx, 2);
                      
                      wTransValue |= FM_FREQ_BASE + byChIdx;
                      
              #ifndef FM_NULL_TEST
                      GFT_ENABLE();
                      GFT_EN = 1;//enable chip
                      halGFTSendData((BYTE)wTransValue);
                      halGFTSendData((BYTE)(wTransValue >> 8));
                      GFT_EN = 0;//at the falling edge of EN, stored data is latched.
              #endif  
              
                      return;
              }
              
              void halFMUp(void)      //byChIdx: 0-> 203
              {
                      s_FMIdx++;
                      if(s_FMIdx > FM_CHIDX_MAX){//Over Max
                              s_FMIdx = 0;            
C51 COMPILER V8.01   HALGFT808                                                             04/17/2008 09:55:04 PAGE 2   

                      }       
              
                      halFMSet(s_FMIdx);      
                      
                      return;
              }
              
              void halFMDown(void)    //byChIdx: 0-> 203
              {
                      if(s_FMIdx == 0){//Minmal
                              s_FMIdx = FM_CHIDX_MAX;//turn around            
                      }else
                              s_FMIdx--;
              
                      halFMSet(s_FMIdx);      
                      
                      return;
              }
              
              WORD halFMGetFreq(void)
              {
              //      FMDigital = FM_FREQ_BASE+FMLevel;
                      WORD wTmp = FM_FREQ_BASE + (WORD)s_FMIdx;
              
                      //UartOutText("-I-: halFMGetFreq 0x");UartOutValue(wTmp, 4);
                      return wTmp;
              }
              
              BYTE halFMGetIdx(void)
              {
                      //FMDigital = FM_FREQ_BASE+FMLevel;
                      //WORD wTmp = FM_FREQ_BASE + s_FMIdx;
              
                      return s_FMIdx;
              }
              
              BYTE halFMFreq2Idx(WORD wFreq)
              {
                      WORD wTmp = wFreq;
              
                      //Checking parameter validation
                      if((wFreq>=FM_FREQ_BASE) && (wFreq<=FM_FREQ_MAX)){
                              wTmp = wTmp - FM_FREQ_BASE; 
                      }else{
                              wTmp = FM_CHIDX_INVALID;
                      }               
                      
                      return (BYTE)wTmp;
              }
              
              #endif


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   ----    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.

C51 COMPILER V8.01   HALGFT808                                                             04/17/2008 09:55:04 PAGE 3   


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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