您所在位置: 网站首页 / RDA5807m+IIC收音机51单片机C程序.doc / 文档详情
RDA5807m+IIC收音机51单片机C程序.doc 立即下载
2024-12-16
约1.1万字
约16页
0
522KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

RDA5807m+IIC收音机51单片机C程序.doc

RDA5807m+IIC收音机51单片机C程序.doc

预览

免费试读已结束,剩余 11 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开


RDA5807m驱动程序+IIC程序




/****************************************************************************************
**介绍:RD5807M收音机程序供电3.3v主控使用51单片机显示使用LCD1602
**作者:胖子
**时间:2016-1-5
**地点:桂林电子科技大学
*****************************************************************************************/
#include<reg51.h>
#include<string.h>
#include<intrins.h>

#defineucharunsignedchar
#defineuintunsignedint
#defineulintunsignedlongint
#definelintlongint

ucharcodexian[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
ucharcodehang[]={0xfe,0xfd,0xfb,0xf7};//矩阵键盘扫描使用

//RDA的寄存器地址
#defineRDA_R00		0X00//读出16个位的ID=0X5800
#defineRDA_R02		0X02//DHIZ[15],DMUTE[14]静音,MONO[13]声道,BASS[12]重低音,SEEKUP[9],SEEK[8],SKMODE[7],CLK_MODE[6:4]时钟源选择,SOFTRESET[1]软复位,ENABLE[0]电源使能
#defineRDA_R03		0X03//CHAN[15:6],TUNE[4],BAND[3:2],SPACE[1:0]设置频率带宽步长
#defineRDA_R04		0X04//STCIEN[14],DE[11],I2Senable[6],
#defineRDA_R05		0X05//INT_MODE[15],SEEKTH[14:8](设定自动搜索信号强度阀值),LNA_PORT_SEL[7:6]=0b10,LNA_ICSEL_BIT[5:4],VOLUME[3:0]音量;
#defineRDA_R0A		0X0A//STC[14]seekcompleteSF[13]seekfailreadchan[9:0]当前频道
#defineRDA_R0B		0X0B//RSSI[15:9],FMTRUE[8]当前频道是一个节目台
#defineRDA_READ0X23//读RDA5807
#defineRDA_WRITE	0X22//写RDA5807

//IO操作函数
sbitSDA=P2^1;
sbitSCL=P2^0;

sbitRW=P1^1;
sbitRS=P1^0;
sbitEN=P2^5;

ucharcodea[]="FM:.";
ucharcodeb[]="Vol:RSSI:";
ucharcodeshu[]="0123456789";
ucharnum;

voiddelayms(uintx)			//延迟程序
{
uinti,j;
	for(i=x;i>0;i--)
	for(j=113;j>0;j--);
}

/***********************************************矩阵键盘程序********************************************************************/
ucharScanKey()				//矩阵键盘扫描返回值是当前按键数值如没按下则返回值为零
{	
uintx,y;
for(x=0;x<4;x++)
	{
uchartemp,gaowei;
	P3=hang[x];			//分行置零
	temp=P3&0xf0;
	if(temp!=0xf0)
	{
		delayms(10);
		if(temp!=0xf0)
		{
		gaowei=P3/16;//判断是第几列的按键按下,将数据装入高四位
			switch(gaowei)
			{
			case0xe:y=0;break;
			case0xd:y=1;break;
			case0xb:y=2;break;
			case0x7:y=3;break;
			}
		while(temp!=0xf0)
		{
		temp=P3&0xf0;
		}
		returnxian[x][y];
		}
	}
	}
	return0;
}

/*********************
查看更多
王子****青蛙
实名认证
内容提供者
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

RDA5807m+IIC收音机51单片机C程序

文档大小:522KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用