機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
經(jīng)典的24C01--24C256讀寫操作程序
經(jīng)典的24C01--24C256讀寫操作程序
 更新時間:2008-8-19 14:32:58  點擊數(shù):156
【字體: 字體顏色
 

#pragma  ot(6 SIZE)
#include
#include
#define  ERRORCOUNT 10
sbit     SDA=P0^0;
sbit     SCL=P0^1;
enum  eepromtype  {M2401 M2402 M2404 M2408 M2416 M2432 M2464 M24128 M24256};
enum  eepromtype EepromType;

//DataBuff為讀寫數(shù)據(jù)輸入/輸出緩沖區(qū)的首址
//ByteQuantity 為要讀寫數(shù)據(jù)的字節(jié)數(shù)量
//Address 為EEPROM的片內(nèi)地址
//ControlByte 為EEPROM的控制字節(jié),具體形式為(1)(0)(1)(0)(A2)(A1)(A0)(R/W) 其中R/W=1
//表示讀操作 R/W=0為寫操作 A2 A1 A0為EEPROM的頁選或片選地址;
//EepromType為枚舉變量 需為M2401至M24256中的一種 分別對應(yīng)24C01至24C256;
//函數(shù)返回值為一個位變量,若返回1表示此次操作失效,0表示操作成功;
//ERRORCOUNT為允許最大次數(shù),若出現(xiàn)ERRORCOUNT次操作失效后,則函數(shù)中止操作,并返回1
//SDA和SCL由用戶自定義,這里暫定義為P0^0和P0^1;
//其余的用戶不用管,只要把只子程序放在你的程序中并調(diào)用它就可以了;


/***********************************************************************************/
bit   RW24XX(unsigned char *DataBuff unsigned char ByteQuantity unsigned int Address
                     unsigned char ControlByte enum eepromtype EepromType)
{
void Delay(unsigned char DelayCount);
void IICStart(void);
void IICStop(void);
bit  IICRecAck(void);
void IICNoAck(void);
void IICAck(void);
unsigned char IICReceiveByte(void);
void IICSendByte(unsigned char sendbyte);
unsigned char data j i=ERRORCOUNT;
bit      errorflag=1;
while(i--)
   {
   IICStart();
   IICSendByte(ControlByte&0xfe);
   if(IICRecAck())
       continue;
   if(EepromType>M2416)
      {
      IICSendByte((unsigned char)(Address>>8));
      if(IICRecAck())
         continue;
      }
   IICSendByte((unsigned char)Address);
   if(IICRecAck())
       continue;
   if(!(ControlByte&0x01))
      {
      j=ByteQuantity;
      errorflag=0;                      //********clr errorflag
      while(j--)
        {
        IICSendByte(*DataBuff++);
        if(!IICRecAck())
           continue;
        errorflag=1;
        break;
        }
      if(errorflag==1)
        continue;

[1] [2] [3]  下一頁
  • 上一篇: 74hc595驅(qū)動串行l(wèi)ed顯示
  • 下一篇: 沒有了
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1