QN8035 FM收音机芯片 驱动程序
这里写自定义目录标题QN8035介绍芯片引脚IIC通讯时序寄存器设置时钟输入方式频道设置XTAL设置PLL设置晶振参照表部分程序QN8035介绍发射频率:60MHz~108MHz供电电压:2.7~5.0V通讯接口:IIC芯片引脚IIC通讯时序IIC 设备地址,写:0x20 读:0x21,读写方法和AT24C02相同,寄存器设置时钟输入方式REG 01H[7],1:数字信号...
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
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)