<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > PIC單片機的I2C 24LC02 C讀寫(xiě)程序

PIC單片機的I2C 24LC02 C讀寫(xiě)程序

作者: 時(shí)間:2009-12-29 來(lái)源:網(wǎng)絡(luò ) 收藏


/*************************************************************
起動(dòng)總線(xiàn)函數
函數原型: void start_i2c();
Function: start on the bus
*************************************************************/
void start_i2c()
{
SDA=1; //發(fā)送啟始條件的數據信號
nop();
SCL=1;
nop();nop();nop();nop();nop(); //要求建立時(shí)間大于4,7S
SDA=0; //發(fā)送起始信號
nop();nop();nop();nop();nop();
SCL=0; //鉗住總線(xiàn),準備發(fā)送數據或接收數據
nop();nop();
}


/*************************************************************
停止總線(xiàn)函數
函數原型: void stop_i2c();
Function: stop the bus
**************************************************************/
void stop_i2c()
{

SDA=0; //發(fā)送結束條件的數據信號
nop();
SCL=1;
nop();nop();nop();nop();nop();
SDA=1;
nop();nop();nop();nop();
}

/*====================================================
字節數據傳送函數
函數原型: void send_byte(uchar c);
Function: 將數據C發(fā)送出去,可以是地址,也可以是數據,發(fā)完后等待回應,并對此狀態(tài)
位進(jìn)行操作(不應答或非應答都使ack=0 ),發(fā)送數據正常,ack=1;ack=0
表示被控器無(wú)應答或損壞。
====================================================*/
void send_byte(uchar c)
{
uchar bit_count;
for (bit_count=0;bit_count8;bit_count++)
{
if ((cbit_count)0x80) {SDA=1;}
else {SDA=0;}
nop();
SCL=1;
nop();nop();nop();nop();nop();
SCL=0;
}
nop();nop();
SDA=1;
nop();nop();
SCL=1;
nop();nop();nop();
if (RC4==1) ack=0;
else ack=1; //用ASK=1為有應答信號
SCL=0;
nop();nop();
}

/*================================================
字節數據接收函數
函數原型:uchar receive_byte();
FUNCTION: 用來(lái)接收從器件傳來(lái)的數據,并判斷總線(xiàn)錯誤(不發(fā)應答信號),
發(fā)完后請用應答函數。
====================================================*/
uchar receive_byte()
{
uchar retc,bit_count;
retc=0;
SDA=1;
for (bit_count=0;bit_count8;bit_count++)
{
nop();
SCL=0;
nop();nop();nop();nop();nop();
SCL=1;
nop();nop();
retc=retc1;
if (RC4==1) retc=retc+1;
nop();nop();
}
SCL=0;
nop();nop();
return (retc);
}


/*=================================================
向有子地址器件發(fā)送多字節數據函數
函數原型: bit I_send_str(uchar sla,uchar suba,uchar *s,uchar no);
Function: 從啟動(dòng)總線(xiàn)到發(fā)送地址,數據,結束總線(xiàn)的全過(guò)程,從器件地址sla。如果
返回1表示操作成功,否則操作有誤。
================================================*/
void I_send_str(uchar sla,uchar suba,uchar *s,uchar no)
{
uchar i;
start_i2c();
send_byte(sla);
if (ack==0) i2c_error();
send_byte(suba);
if (ack==0) i2c_error();
for (i=0;ino;i++)
{
send_byte(*s);
if (ack==0) i2c_error();
s++;
}
stop_i2c();
// return(1);
}

/*****************************************************************
延時(shí)函數
函數原型: void delay_250ms();
FUNCTION: 延明250ms
*****************************************************************/
void delay_250ms()
{
unsigned int d=24999;
while (--d);
}

/*****************************************************************
總線(xiàn)錯誤函數
函數原型: void i2c_error();
Function: 通過(guò)RD7閃動(dòng)8次表示總線(xiàn)操作失敗一次報警。
*****************************************************************/
void i2c_error ()
{
uchar i;
for (i=0;i8;i++)
{
RD7=0;
delay_250ms();
RD7=1;
delay_250ms();
}

}
/**********END**************/

本文引用地址:http://dyxdggzs.com/article/173493.htm

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 讀寫(xiě) 程序 24LC02 I2C 單片機 PIC

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>