QN8035介紹
發射頻率:60MHz~108MHz
供電電壓:2.7~5.0V
通訊接口:IIC
芯片引腳
IIC通訊時序
IIC 設備地址,寫:0x20 讀:0x21,讀寫方法和AT24C02相同,
寄存器設置
時鐘輸入方式
REG 01H[7],
1:數字信號方波輸入,
0:正弦波輸入
頻道設置
REG 0AH[1:0] CH的高2bit
REG 07H[7:0] CH 的第8bit
FM頻道=(60+CH*0.05)MHz
例如計算105.8MHz
CH=(105.8-60)*20=9160(23C8H)
XTAL設置
REG 15H[7:0] XTAL_DIV[10:0]的低8bit
REG 16H[2:0] XTAL_DIV[10:0]的高3bit
round()是四捨五入的意思
PLL設置
REG 16H[7:3] PLL_DLT[12:0]的低5bit
REG 17H[7:0] PLL_DLT[12:0]的高8bit
晶振參照表
我這裏計算了幾個常見晶振對應是數值
頻率 | 6MHz | 12MHz | 24MHz | 11.0592MHz | 22.1184MHz |
---|---|---|---|---|---|
XTAL_DIV[10:0] | B7 | 16E | 2DC | 151 | 2A3 |
PLL_DLT[12:0] | A80 | A80 | A80 | 8ED | B81 |
部分程序
#define QN_8035 0x20
#define DEFAULT_CHANNEL 1000 //例如105.8MHz 表示爲1058
bit QN8035_Init()
{
delay10ms();
//復位
if(IIC_Write_Byte(QN_8035,0x00,0x80))return 1;
delay10ms();
//外部時鐘
if(IIC_Write_Byte(QN_8035,0x01,0x00))return 1;
//分頻,倍頻 //24MHz
if(IIC_Write_Byte(QN_8035,0x15,0xDC))return 1;
delay10ms();
if(IIC_Write_Byte(QN_8035,0x16,0x02))return 1;
delay10ms();
if(IIC_Write_Byte(QN_8035,0x17,0x54))return 1;
//設置頻道
if(setChannel(DEFAULT_CHANNEL))return 1;
//關閉自動搜臺 開啓收音機
if(IIC_Write_Byte(QN_8035,0x00,0x11))return 1;
return 0;
}
數據手冊鏈接:QN8035