資源簡(jiǎn)介
QN8027 FM調(diào)頻發(fā)射開(kāi)發(fā)程序.rar
里面有詳細(xì)文檔介紹 FM調(diào)頻發(fā)射 QN8027 中文版的
還有源程序參考 單片機(jī) 80C52的測(cè)試已經(jīng)通過(guò) ,并且包含詳細(xì)開(kāi)發(fā)文檔。
詳細(xì)介紹,模塊初始化步驟。

代碼片段和文件信息
#include?
#include?
/*********************************************************************/
/*?----------------------------51單片機(jī)模擬IIC程序-------------------*/
/*********************************************************************/
/*********************************************************************/
//引腳定義
sbit?I2C_SCL=P2^2;?
sbit?I2C_SDA=P2^1;?
/*********************************************************************/
//定義空指令
#define?NOP()??_nop_()_nop_()_nop_()_nop_()_nop_()_nop_()_nop_()_nop_()?
/*********************************************************************/
//啟動(dòng)I2C總線
void?I2C_Start(void)
{
I2C_SDA=1;??
NOP();
I2C_SCL=1;
NOP();NOP();NOP();NOP();NOP();?
I2C_SDA=0;??
NOP();NOP();NOP();NOP();NOP();??????
I2C_SCL=0;?
}
/*********************************************************************/
//停止I2C總線
void?I2C_Stop(void)
{
I2C_SCL=0;
I2C_SDA=0;
NOP();?
I2C_SCL=1;?
NOP();NOP();NOP();NOP();NOP();
I2C_SDA=1;
NOP();NOP();NOP();NOP();NOP();
NOP();NOP();NOP();NOP();NOP();
I2C_SCL=0;
I2C_SDA=0;
}
/*********************************************************************/
//單片機(jī)接收應(yīng)答位(返回0表示應(yīng)答)
bit?I2C_ReadAck(void)
{
unsigned?char?ccsj?=?220;
I2C_SCL=0;
I2C_SDA=1;
NOP();
I2C_SCL=1;
while(I2C_SDA)
{
ccsj--;
if?(ccsj?==?0)
{
I2C_Stop();
return?0;
}
}
I2C_SCL=0;
return?1;??
}
/*********************************************************************/
//單片機(jī)發(fā)送應(yīng)答信號(hào)
void?I2C_SendAck(void)
{
I2C_SCL=0;
I2C_SDA=0;
NOP();NOP();NOP();NOP();NOP();
I2C_SCL=1;
NOP();NOP();NOP();NOP();NOP();
I2C_SCL=0;
}
/*********************************************************************/
//單片機(jī)發(fā)送非應(yīng)答信號(hào)
void?I2C_SendNoack(void)
{
I2C_SCL=0;
I2C_SDA=1;
NOP();NOP();
I2C_SCL=1;
NOP();NOP();
I2C_SCL=0;
}
/*********************************************************************/
//單片機(jī)發(fā)送一個(gè)字節(jié)
void?I2C_Send_Byte(unsigned?char?sendbyte)
{
unsigned?char?count?=?8;
while(?count--?)
{
I2C_SCL?=?0;
NOP();?
if?(?sendbyte?&0x80?)?
I2C_SDA?=1;
else?
I2C_SDA?=0;
NOP();
I2C_SCL?=?1;
NOP();
sendbyte?<<=?1;
}
I2C_ReadAck();
}
/*********************************************************************/
//單片機(jī)接收一個(gè)字節(jié)
unsigned?char?I2C_Receive_Byte(void)
{
unsigned?char?count?=?8?data_buffer;
I2C_SDA?=?1;
while?(?count--)
{
I2C_SCL?=0;
NOP();NOP();
I2C_SCL?=1;
NOP();NOP();
data_buffer?<<=?1;
if?(?I2C_SDA?)?
data_buffer++;?
}
return?(data_buffer);
}
/*********************************************************************/
//單片機(jī)發(fā)送數(shù)據(jù)
//向指定的硬件地址寫count個(gè)數(shù)據(jù)
void?I2C_Data_Write(unsigned?char?Mac_ID?unsigned?char?*ptrunsigned?char?num)
{
I2C_Start();
I2C_Send_Byte(?Mac_ID?);
while(num--)
{
I2C_Send_Byte(?*(unsigned?char*)ptr?);
((unsigned?char*)ptr)++;
}
I2C_Stop();
}
/*********************************************************************/
//單片機(jī)讀取數(shù)
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????547483??2014-02-20?13:22??QN8027開(kāi)發(fā)指南.rar
?????文件???????4241??2010-12-16?14:45??80c52測(cè)試OK代碼參考\I2C.c
?????文件????????285??2010-06-03?13:32??80c52測(cè)試OK代碼參考\I2C.h
?????文件???????2555??2011-01-04?13:38??80c52測(cè)試OK代碼參考\QN_8027.c
?????文件????????145??2011-01-04?13:45??80c52測(cè)試OK代碼參考\說(shuō)明.txt
?????目錄??????????0??2014-02-21?09:38??80c52測(cè)試OK代碼參考
-----------?---------??----------?-----??----
???????????????554709????????????????????6
評(píng)論
共有 條評(píng)論