資源簡介
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
評論
共有 條評論