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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐