📄 halgft808.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 + -