资源简介
RDA5820技术资料参考源码,5820是FM的数字收音机资料,C语言开发很有参考价值
代码片段和文件信息
#include “myiic.h“
#include “delay.h“
#include “intrins.h“
#include
//IO操作函数
sbit SCL=P1^1;//SCL
sbit SDA=P1^0;//SDA
///////////////////////////////////////////////////////////////////////////////////////////////
/**************************************
延时5微秒(STC90C52RC@12M)
不同的工作环境需要调整此函数,注意时钟过快时需要修改
当改用1T的MCU时请调整此延时函数
**************************************/
void Delay5us()
{
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
}
/**************************************
延时5毫秒(STC90C52RC@12M)
不同的工作环境需要调整此函数
当改用1T的MCU时请调整此延时函数
**************************************/
void Delay5ms()
{
unsigned int n = 560;
while (n--);
}
/**************************************
起始信号
**************************************/
void IIC_Start()
{
SDA = 1; //拉高数据线
SCL = 1; //拉高时钟线
Delay5us(); //延时
SDA = 0; //产生下降沿
Delay5us(); //延时
SCL = 0; //拉低时钟线
}
/**************************************
停止信号
**************************************/
void IIC_Stop()
{
SDA = 0; //拉低数据线
SCL = 1; //拉高时钟线
Delay5us(); //延时
SDA = 1; //产生上升沿
Delay5us(); //延时
}
/**************************************
发送应答信号
入口参数:ack (0:ACK 1:NAK)
**************************************/
void IIC_SendACK(bit ack)
{
SDA = ack; //写应答信号
SCL = 1; //拉高时钟线
Delay5us(); //延时
SCL = 0; //拉低时钟线
Delay5us(); //延时
}
/**************************************
接收应答信号
**************************************/
bit IIC_RecvACK()
{
SCL = 1; //拉高时钟线
Delay5us(); //延时
CY = SDA; //读应答信号
SCL = 0; //拉低时钟线
Delay5us(); //延时
return CY;
}
/**************************************
向IIC总线发送一个字节数据
**************************************/
void IIC_Send_Byte(unsigned char dat)
{
unsigned char i;
for (i=0; i<8; i++) //8位计数器
{
dat <<= 1; //移出数据的最高位
SDA = CY; //送数据口
SCL = 1; //拉高时钟线
Delay5us(); //延时
SCL = 0; //拉低时钟线
Delay5us(); //延时
}
IIC_RecvACK();
}
/**************************************
从IIC总线接收一个字节数据
**************************************/
unsigned char IIC_Read_Byte(void)
{
unsigned char i;
unsigned char dat = 0;
SDA = 1; //使能内部上拉准备读取数据
for (i=0; i<8; i++) //8位计数器
{
dat <<= 1;
SCL = 1; //拉高时钟线
Delay5us(); //延
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 594 2014-11-25 10:45 RDA5820\RDA5820系列参考代码V3\说明.txt
文件 820928 2014-11-25 10:45 RDA5820\RDA5820系列参考代码V3\RDA5820_datasheet_V1_3.pdf
文件 2405 2014-11-25 10:45 RDA5820\RDA5820系列参考代码V3\RDA5820参考代码V3.1.h
文件 12885 2014-11-25 10:45 RDA5820\RDA5820系列参考代码V3\RDA5820参考代码V3.1.c
文件 13331 2014-11-25 10:45 RDA5820\RDA5820系列参考代码V3\RDA5820参考代码V3.3.c
文件 551016 2014-11-25 10:45 RDA5820\RDA5820系列参考代码V3\PL-102BH-V1.0 5820.pdf
文件 2405 2014-11-25 10:45 RDA5820\RDA5820系列参考代码V3\RDA5820参考代码V3.5.h
文件 6016 2015-01-10 23:41 RDA5820\rda5820.c
文件 2483 2015-01-10 23:41 RDA5820\rda5820.h
文件 3439 2015-01-10 23:42 RDA5820\myiic.c
文件 281 2015-01-10 23:42 RDA5820\myiic.h
目录 0 2015-01-10 22:14 RDA5820\RDA5820系列参考代码V3
目录 0 2015-01-10 22:14 RDA5820
----------- --------- ---------- ----- ----
1415783 13
评论
共有 条评论