關鍵字:
商品分類:

聯系人:王先生 
電   話:(025)84412473 
            (025)86642420  86642429
手   機:(0)13905184409
            (0)13382799382 
QQ:717279726     
QQ:264354310      
傳  真: (025)86642420
郵  箱: 
郵  編:210000 
地  址:江蘇省南京市中山東路110號4樓403室(華龍電子城) 

新聞中心
您當前所在的位置:首頁>新聞中心>詳細信息
24c01a的讀寫程序
發表時間:2011-6-21  文字 〖 〗  閱讀次數:3968   [關閉窗口]

24c01a的讀寫程序

#include <at24c01a.h>


/*******************************************************************************
******
向24C01A寫入一個字節
輸入:E2ROM地址,字節數據
********************************************************************************
******/
void write24c01a(uchar uadd_1,uchar udata_1)
{
sendbyte=0xa0;
start();
send(sendbyte);
if (!ack())
continue;
send(uadd_1);
if (!ack())
continue;
send(udata_1)
if (!ack())
continue;
stop();


}
/*************************************************************************
發送開始
************************************************************************/
void start(void)
{
a_scl=1;
a_sda=1;
a_sda=0;
a_scl=0;
a_scl=1;
}
/****************************************************************************
發送停止
****************************************************************************/

void stop(void)
{
a_scl=0;
a_sda=0;
a_scl=1;
a_sda=1;
}
/*******************************************************************************
發送反饋
********************************************************************************
/
bit ack(void)
{
int a_ack
a_scl=0;
a_scl=0;
a_scl=0;
a_scl=1;
a_ack=a_sda;
a_scl=0;
return(a_ack)
}
/*******************************************************************************
*
發送無反饋
*******************************************************************************/
bit noack(void)
{
int a_ack;
a_scl=1;
a_scl=1;
a_scl=0;

}
/*******************************************************************************
*
發送
********************************************************************************
/
void send(uchar undata)
{
uchar i;
sendbyte=undata
for(i=8;i>0;i--)
{
a_sda=sendbyte7;
a_scl=0;
a_scl=1;
sendbyte=sendbyte<<1
}

}
/******************************************************************************
接受
********************************************************************************
/
void receive(void)
{
int i;
uchar data;
for(i=8;i>0;i--)
{ a_scl=1;
receivebyte7=a_sda;
a_scl=0;
receivebyte=receivebyte>>1
}
receivedata=receivebyte;
}
/*******************************************************************************
*
向 24c01a讀一個字節;
輸入:EEROM地址;
輸出:EEROM數據;
*******************************************************************************/
void read24c01a(uchar counter)
{
receivebyte=0xa1;
start();
send(receivebyte);
if (!ack())
continue;
send(counter);
if (!ack())
continue;
receive()
noack();
stop();

}

文章分頁:1 
上一條:重庆快乐十分开奖规律 下一條:AVR官方設計的充電器

版權所有:南京愛思電子有限公司   
ICP備:蘇ICP備05023762號-1        聯系我們:0)13905184409        (0)13382799382 
 QQ交談:1)QQ717279726       2)QQ264354310