wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

I2C總線驅(qū)動(C51語言源程序)

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2007年08月25日   【字體:

i2c 總線上單片機系統(tǒng)中常用到的總線技術(shù)這里給大家介紹一個I2C總線驅(qū)動的C51語言源程序。

//#pragma  ot(6,SIZE)
#i nclude <AT89X52.H>
#i nclude <intrins.h>
#define  ERRORCOUNT 10
#define  readI2C  0xa1
#define  writeI2C 0xa0  
sbit     SDA=P1^6;
sbit     SCL=P1^5;
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)用它就可以了;


/*******************************I2C總線驅(qū)動(C51語言源程序)**********************************************/
bit   RW24XX(unsigned char *DataBuff,unsigned char ByteQuantity,unsigned int Address,
                     unsigned char ControlByte,enum eepromtype EepromType)
{
void Delay(unsigned char DelayCount);
void I2CStart(void);
void I2CStop(void);
bit  I2CRecAck(void);
void I2CNoAck(void);
void I2CAck(void);
unsigned char I2CReceiveByte(void);
void I2CSendByte(unsigned char sendbyte);
unsigned char data j,i=ERRORCOUNT;
bit      errorflag=1;
while(i--)
   {
   I2CStart();
   I2CSendByte(ControlByte&0xfe);
   if(I2CRecAck())
       continue;
   if(EepromType>M2416)
      {
      I2CSendByte((unsigned char)(Address>>8));
      if(I2CRecAck())
         continue;
      }
   I2CSendByte((unsigned char)Address);
   if(I2CRecAck())
       continue;
   if(!(ControlByte&0x01))
      {
      j=ByteQuantity;
      errorflag=0;                      //********clr errorflag
      while(j--)
        {
        I2CSendByte(*DataBuff++);
        if(!I2CRecAck())
           continue;
        errorflag=1;
        break;
        }
      if(errorflag==1)
        continue;
      break;
      }
   else
     {
     I2CStart();
     I2CSendByte(ControlByte);
     if(I2CRecAck())
       continue;
     while(--ByteQuantity)
       {
       *DataBuff++=I2CReceiveByte();
       I2CAck();
       }
     *DataBuff=I2CReceiveByte();        //read last byte data
     I2CNoAck();
     errorflag=0;
     break;
     }
  }

I2CStop();
if(!(ControlByte&0x01))
  {
  Delay(255);
  Delay(255);
  Delay(255);
  Delay(255);
  }
return(errorflag);
}


/*****************以下是對I2C總線的操作子程序***/
/*****************啟動總線**********************/
void I2CStart(void)
{
SCL=0;                  //
SDA=1;
SCL=1;
_nop_();
_nop_();
_nop_();
SDA=0;
_nop_();
_nop_();
_nop_();
_nop_();
SCL=0;
SDA=1;                  //
}

/*****************停止I2C總線****************/
void I2CStop(void)
{
SCL=0;
SDA=0;
SCL=1;
_nop_();
_nop_();
_nop_();
SDA=1;
_nop_();
_nop_();
_nop_();
SCL=0;
}

/**************檢查應(yīng)答位*******************/
bit I2CRecAck(void)
{
SCL=0;
SDA=1;
SCL=1;
_nop_();
_nop_();
_nop_();
_nop_();
CY=SDA;                 //因為返回值總是放在CY中的
SCL=0;
return(CY);
}

/***************對I2C總線產(chǎn)生應(yīng)答*******************/
void I2CACK(void)
{
SDA=0;
SCL=1;
_nop_();
_nop_();
_nop_();
_nop_();
SCL=0;
_nop_();
SDA=1;
}

/*****************不對I2C總線產(chǎn)生應(yīng)答***************/
void I2CNoAck(void)
{
SDA=1;
SCL=1;
_nop_();
_nop_();
_nop_();
_nop_();
SCL=0;
}

/*******************向I2C總線寫數(shù)據(jù)*********************/
void I2CSendByte(unsigned char sendbyte)
{
unsigned char data j=8;
for(;j>0;j--)
   {
   SCL=0;
   sendbyte<<=1;        //無論C51怎樣實現(xiàn)這個操作,始終會使CY=sendbyte^7;
   SDA=CY;
   SCL=1;
   }
SCL=0;
}

/**********************從I2C總線上讀數(shù)據(jù)子程序**********/
unsigned char I2CReceiveByte(void)
{
register receivebyte,i=8;
SCL=0;
while(i--)
   {
   SCL=1;
   receivebyte=(receivebyte<<1)|SDA;
   SCL=0;
   }
return(receivebyte);
}

/***************一個簡單延時程序************************/
void Delay(unsigned char DelayCount)
{
while(DelayCount--);
}

void main()
{
//  unsigned int i;
  //unsigned char j[32]; 
  unsigned char *pa,*pb,temp=0;
  unsigned char a[8]={5,6,7,8,9,10,11,12};
  unsigned char b[8]={0,0,0,0,0,0,0,0};
  pa=&a[0];
  pb=&b[0];
  P2_7=0;
  RW24XX(pa,8,0x0,writeI2C,M2401);  
  RW24XX(pa,8,0x20,writeI2C,M2401); 
  RW24XX(pb,8,0x20,readI2C,M2401);
  RW24XX(pb,8,0x30,writeI2C,M2401);
//  RW24XX(unsigned char *DataBuff,unsigned char ByteQuantity,unsigned int Address,
//                     unsigned char ControlByte,enum eepromtype EepromType)
  while(1)
  {
   P2_7=1;   
  }
}

關(guān)閉窗口
99热精品免费| 青青草视频在线免费直播| 精品人妻在线播放| 污污网站在线观看视频| 精品欧美一区二区久久久伦| 一区二区三区精品99久久| 亚洲一区二区三区中文字幕在线| 日本强好片久久久久久aaa| 亚洲精品一二三**| 五月花成人网| 最近最新中文字幕在线| 国产一级影视| 精品欧美在线观看| 国产乡下妇女做爰视频| 日本一卡二卡在线| 国产精品人人妻人人爽人人牛| 久久精品ww人人做人人爽| 8x拔播拔播x8国产精品| 精品亚洲永久免费精品| 欧美在线观看你懂的| 欧美韩国日本一区| 国产乱码精品一品二品| 日韩天堂av| 精品久久久久久久久久久aⅴ| 精品久久福利| 超碰在线中文字幕| 午夜激情视频在线| 日韩精品系列| 性疯狂做受xxxx高清视频| 羞羞视频免费| 综合久久一本| 亚洲第一免费视频| 亚洲天堂网视频| 久久久久无码国产精品| 欧美特级黄色录像| xxxwww国产| 一级做a爱视频| 国产精品涩涩涩视频网站| 久久久久久久久影视| 欧美一区二区三区四区夜夜大片| 18成人在线| 国产精品影院在线观看| 奇门遁甲1982国语版免费观看高清| 国产一区二区三区免费视频| 精品少妇一区二区三区视频免付费 | 日韩成人中文电影| 91精品蜜臀在线一区尤物| 欧美日韩中文字幕在线| 夜夜嗨av一区二区三区四季av| 欧美极品xxx| 91麻豆swag| 99久久er热在这里只有精品66| 韩国v欧美v亚洲v日本v| 另类欧美日韩国产在线| 日本视频中文字幕一区二区三区| 亚洲国内精品| 99国产精品视频免费观看一公开| 欧美日韩国产综合网| 伊人久久大香线蕉精品组织观看| 日韩大片在线播放| 欧美电影《轻佻寡妇》| 婷婷久久国产对白刺激五月99| av中文字幕一区二区| 日韩激情在线| 婷婷六月综合| 精品999日本| 亚洲理伦在线| 日韩精品乱码av一区二区| 日本网站在线观看一区二区三区| 人人精品人人爱| 黄页视频在线91| 国产99精品国产| 久久网站最新地址| 中文字幕一区二区在线观看| 亚洲视频免费在线观看| 亚洲国产日韩a在线播放| 调教+趴+乳夹+国产+精品| 欧美午夜影院在线视频| 欧美探花视频资源| 日韩女优av电影在线观看| 亚洲精品97久久| 尤物九九久久国产精品的特点| 色偷偷888欧美精品久久久| 欧美美女15p| 国产ts一区二区| 99影视tv| 亚洲精品无人区| aa视频在线播放| www午夜视频| 亚洲色图14p| 波多野结衣不卡视频| 亚洲精品男人的天堂| 一区二区久久精品66国产精品| 欧美熟妇交换久久久久久分类| 男女啪啪无遮挡网站| 8x8x国产| 中文字幕在线免费观看| 岛国成人毛片| 天天综合在线观看| 欧美亚洲在线日韩| 久久精品二区三区| 不卡的av电影| 亚洲精品国产一区二区三区四区在线| 色婷婷亚洲综合| 亚洲国产天堂网精品网站| 欧美成人第一页| 国产在线观看精品一区二区三区| 国产呦系列欧美呦日韩呦| 99久re热视频精品98| 麻豆一区二区三区视频| 日韩视频在线观看免费视频| 天天干天天干天天操| 天天综合在线视频| 日日天天狠狠| 免费网站成人| 亚洲午夜国产成人| 一区二区三区四区日韩| 国产一区91精品张津瑜| 夜夜爽夜夜爽精品视频| 亚洲国产高清福利视频| 91国内在线视频| 麻豆传媒一区二区| 激情婷婷综合网| 91资源在线播放| 97人妻人人澡人人爽人人精品| 韩日在线播放| 狠狠色伊人亚洲综合网站l| 亚洲第一会所001| 日韩欧美国产精品综合嫩v| 麻豆免费看一区二区三区| 亚洲伦在线观看| 亚洲精品福利资源站| 日韩美女在线看| 午夜探花在线观看| 日韩成人av一区二区| 精品国产乱子伦| 在线观看wwww| 黄色网址视频在线观看| 亚洲网址在线观看| 日韩中文字幕1| 亚洲最快最全在线视频| 永久免费看mv网站入口亚洲| 亚洲一区二区少妇| 粗暴91大变态调教| 18岁成人毛片| 天堂精品高清1区2区3区| 亚洲男人网站| 91麻豆精品国产91久久久久推荐资源| 久久国产精品毛片| 亚洲综合一二三区| 日韩在线观看免费全| 精品欧美国产| 久久精品aⅴ无码中文字字幕重口| 日韩欧美在线观看免费| 91视频论坛| 欧美人与性动交α欧美精品济南到 | 欧美一级黄色片视频| 四虎免费在线视频| 久热国产在线视频| 国产秀色在线www免费观看| 夜夜春成人影院| 成人精品高清在线| 日韩精品中午字幕| 成人av在线网址| 国产一伦一伦一伦| 中文字幕丰满人伦在线| 色偷偷亚洲女人天堂观看欧| 欧美日韩电影免费看| 99热精品在线| 欧美日韩加勒比精品一区| 欧美美女操人视频| 亚洲色欲久久久综合网东京热| 在线观看黄网址| www.91在线观看| 岛国av在线网站| 国产一区二区高清| 国产精品日韩精品在线播放| 欧美亚韩一区| 亚洲成人精品在线观看| 久久久久久亚洲精品不卡| 无码人妻少妇伦在线电影| 久久中文字幕无码| eeuss影院在线观看第一页| 欧美aaa视频| 精品一区二区在线视频| 日韩一区二区三区精品视频| 91人成网站www| 完美搭档在线观看| 先锋影音男人站你懂得| 色呦呦在线看| 老**午夜毛片一区二区三区 | 免费看一级毛片| 黄色精品视频| 国产在线精品一区二区夜色| 欧美sm极限捆绑bd| 欧美另类视频在线| 国产黄色小视频网站| 黄色免费的网站| 久久久久亚洲精品中文字幕| av电影天堂一区二区在线| 亚洲欧美视频在线| 国产资源第一页| 国产精品久久久久久人| 在线视频中文字幕久| 精品一区电影| 午夜精品免费在线| 成人免费视频网址| 一区二区视频观看| 天堂www在线а√天堂| 精品九九久久| 国产性做久久久久久| 久久久久久网址| 青青草原播放器| 日韩经典在线观看| 午夜在线免费视频| 91精品久久久久久久久久不卡| 亚洲mv大片欧洲mv大片精品| 成人国产亚洲精品a区天堂华泰| 中文字幕在线播放一区| 国产成人精品自线拍| 成人亚洲精品| 国产精品色噜噜| 国产精品久久久久久久9999| 岛国精品一区二区三区| 91九色老女人| 露出调教综合另类| 亚洲图片欧美综合| 99精品欧美一区二区三区| 欧美色图17p| 性视频在线播放| 欧美影院一区| 精品久久久网站| 老太脱裤子让老头玩xxxxx| 99久久国产热无码精品免费| 爱情岛亚洲播放路线| 国产成人精品在线看| 免费91麻豆精品国产自产在线观看 | 91久久国语露脸精品国产高跟| 宅男在线观看免费高清网站| 激情综合色播激情啊| 日韩在线观看免费av| 中文字幕成人免费视频| 国产免费大片| 天堂成人娱乐在线视频免费播放网站| 夜夜嗨av一区二区三区| 国内精品视频免费| 一级黄色大片视频| 黄av在线免费观看| 国产激情精品久久久第一区二区 | 韩国精品主播一区二区在线观看| 久久精品欧美一区二区三区不卡 | 果冻天美麻豆一区二区国产| 偷窥国产亚洲免费视频| 久久久一本精品99久久精品66 | 污污片在线免费视频| 成人丝袜高跟foot| 国产ts人妖一区二区三区 | www黄色在线| 国产porny蝌蚪视频| 国产精品一区二区av交换| 欧美日本国产视频| 大陆极品少妇内射aaaaa| 欧美jizzhd欧美精品巨大| 日韩三区视频| 日韩一区二区三区视频| 欧美综合在线观看视频| 午放福利视频在线播放| 综合激情视频| 日韩在线资源网| 久久人人爽人人人人片| 色视频在线播放| 国产一区在线观看视频| 日韩免费观看av| 久久精品视频6| av电影院在线看| 亚洲欧美日本韩国| 日韩国产在线一区| 2020亚洲男人天堂| 青青草国产成人a∨下载安卓| 日韩精品自拍偷拍| www.日本久久| 污污网址在线观看| 成熟亚洲日本毛茸茸凸凹| 成人激情视频免费在线| 在线观看国产黄| 精品一区二区三区在线观看视频| 欧美自拍丝袜亚洲| 不卡av免费在线| 男男互摸gay网站| 奇米影视一区二区三区| 国产精品久久久999| 无码人妻精品一区二区三区9厂 | 五月婷婷在线观看| 国产女主播在线一区二区| 麻豆蜜桃91| 亚洲国产综合久久精品小蝴蝶| 日韩激情一区| 欧美成人精品在线| 久久精品国产亚洲AV无码男同| 中日韩精品一区二区三区| 亚洲国产精品一区| 国产精品专区第二| 成人中文字幕视频| 国产精品迅雷| 亚洲综合偷拍欧美一区色| 一区二区三区观看| 国产亚洲精品久久久久久移动网络| 国产精品毛片久久| 久久av资源网站| 日韩免费在线视频观看| 日本免费成人| 日韩一区二区高清| 四虎永久免费影院| 国产在线观看www| 色狠狠综合天天综合综合| 色综合色综合色综合色综合| 最近中文字幕在线中文视频 | 国产精品xxx在线观看| 亚洲精品在线视频| 最新一区二区三区| 国产精品久久久久久久久久齐齐| 欧美一区二区三区电影| 亚洲av综合一区二区| 国内激情视频在线观看| 欧美日韩精品一区二区在线播放| 日本精品一二三区| 大香伊人久久| 欧美日韩aaaaaa| 午夜理伦三级做爰电影| 黄色亚洲网站| 精品久久久三级丝袜| 午夜激情福利网| 亚洲综合网狠久久| 久久精品一偷一偷国产| 好吊色在线视频| 精品日韩欧美一区| 欧美在线视频观看免费网站| 精品国产av鲁一鲁一区| 亚洲手机视频| 99久久精品免费看国产一区二区三区| 青青国产视频| 国产主播一区二区三区| 先锋影音亚洲资源| 国产一级黄色片免费| 国产精品久久久久桃色tv| 一本色道无码道dvd在线观看| 欧美91精品久久久久国产性生爱| 亚洲成人一区在线| 国产精品入口麻豆| 欧美一级大黄| 永久免费毛片在线播放不卡| 欧美亚洲另类小说| 中文字幕一区二区三区乱码图片 | 国产精品福利电影| 一区二区三区国产精华| 91人人爽人人爽人人精88v| 在线伊人电影| 国产视频亚洲色图| 狠狠干狠狠操视频| 国产美女精品写真福利视频| 亚洲精品mp4| 中文字幕 日韩有码| 亚洲狼人精品一区二区三区| 九9re精品视频在线观看re6| 黄色国产网站在线观看| 亚洲一区二区三区免费视频| 手机在线成人av| 蜜桃在线一区| 7777免费精品视频| 欧美色图另类图片| 99视频精品全部免费在线| 国产97在线 | 亚洲| 精品自拍一区| 亚洲国产精品小视频| 久久99国产综合精品免费| 亚洲国产专区| 中文字幕久精品免| 91免费在线| 亚洲精品电影久久久| 国产精品伦理一区| 久久激五月天综合精品| 国产精品一线二线三线| 亚洲性图自拍| 自拍偷拍亚洲在线| 色婷婷中文字幕| 粉嫩aⅴ一区二区三区四区五区| 一本久道综合色婷婷五月| 天堂av在线网| 欧美黑人xxx| 国产丝袜美女| 中文字幕人成不卡一区| 特级西西人体wwwww| 久久精品凹凸全集| 91在线观看免费| 天堂中文字幕| 日韩一区二区精品在线观看| 欧美日韩在线视频播放| 日本不卡视频一二三区| 黄在线观看网站| 日本一道高清亚洲日美韩|