亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? [原創(chuàng)]at24c02 c語(yǔ)言驅(qū)動(dòng)程序.c

?? 本人收集和自己寫的部分51系列例程,供各位參考
?? C
字號(hào):
/*[原創(chuàng)]AT24c02 C語(yǔ)言驅(qū)動(dòng)程序At24c02 的C語(yǔ)言驅(qū)動(dòng)程序,使用ACC的位讀取、寫入,達(dá)到最快的速度。

實(shí)現(xiàn)了頁(yè)寫(自動(dòng)換頁(yè)),連續(xù)讀、讀寫單字節(jié)。*/

//作者:張子墨
//QQ:88240655
//zzm19850214@hotmail.com
//I2C總線24系列EEPROM讀寫程序
//要首先定義SCL與SDA
//使用12MH或更高晶振,適當(dāng)增加延時(shí)

#include <at89s53.h>
#define DelayTime 20   //延遲時(shí)間,頻率越高適當(dāng)增加
#define scl P1_1   //針腳定義
#define sda P1_0
#define uchar unsigned char
#define uint unsigned int

bit ACK;

sbit a0 = ACC^0;   //定義ACC位,使用ACC讀寫速度最快
sbit a1 = ACC^1;
sbit a2 = ACC^2;
sbit a3 = ACC^3;
sbit a4 = ACC^4;
sbit a5 = ACC^5;
sbit a6 = ACC^6;
sbit a7 = ACC^7;

void I2CStart (void)  //總線開(kāi)始函數(shù)
{
 sda=1;
 scl=1;
 Delay(DelayTime);  //起始條件建立時(shí)間大于4.7us
 sda=0;
 Delay(DelayTime);  //起始條件鎖定時(shí)大于4us
 scl=0;
 Delay(DelayTime);  //鉗住總線,準(zhǔn)備發(fā)數(shù)據(jù)
}

void I2CStop (void)   //總線停止函數(shù)
{
 sda=0;     //發(fā)送結(jié)束條件的時(shí)鐘信號(hào)
 scl=1;
 Delay(DelayTime);  //結(jié)束總線時(shí)間大于4us
 sda=1;     //結(jié)束總線
 Delay(DelayTime);  //保證一個(gè)終止信號(hào)和起始信號(hào)的空閑時(shí)間大于4.7us
}

bit CheckACK (void)  //檢查應(yīng)答函數(shù)
{
 sda=1;
 scl=1;
 Delay(DelayTime/2);
 ACK=sda;
 Delay(DelayTime/2);
 scl=0;
 if (ACK==1) return 0;  //沒(méi)有應(yīng)答返回0
 return 1;     //有應(yīng)答返回1
}

void SendACK (void)   /* SEND ACK 發(fā)送應(yīng)答信號(hào)*/
{
 sda=0;
 scl=1;
 Delay(DelayTime);
 scl=0;
}

void SendNACK (void) //發(fā)送非應(yīng)答信號(hào)
{
 sda=1;
 scl=1;
 Delay(DelayTime);
 scl=0;
}

void WriteI2C (uchar dd)  //寫入一個(gè)字節(jié)
{
 ACC = dd;
 sda=a7;scl=1;scl=0;
 sda=a6;scl=1;scl=0;
 sda=a5;scl=1;scl=0;
 sda=a4;scl=1;scl=0;
 sda=a3;scl=1;scl=0;
 sda=a2;scl=1;scl=0;
 sda=a1;scl=1;scl=0;
 sda=a0;scl=1;scl=0;
 sda = 1;
 scl = 1;
}

uchar ReadI2C (void)   //讀取一個(gè)字節(jié)
{
 sda = 1;
 scl=1;a7=sda;scl=0;
 scl=1;a6=sda;scl=0;
 scl=1;a5=sda;scl=0;
 scl=1;a4=sda;scl=0;
 scl=1;a3=sda;scl=0;
 scl=1;a2=sda;scl=0;
 scl=1;a1=sda;scl=0;
 scl=1;a0=sda;scl=0;
 return(ACC);
}

/*讀寫功能用戶函數(shù)*/

void WriteOneByte (uchar addr,char thedata)  //寫入一個(gè)字節(jié)到指定地址
{
 I2CStart();      //開(kāi)始總線
 WriteI2C(0xa0);     //發(fā)送控制數(shù)據(jù)
 ACK = CheckACK();    //檢查應(yīng)答信息
 WriteI2C(addr);     //寫入地址
 ACK = CheckACK();
 WriteI2C(thedata);    //寫入數(shù)據(jù)
 ACK = CheckACK();
 I2CStop();      //停止總線
}

void WriteOnePage (uchar addr,char *thedata) //寫入一頁(yè)16個(gè)字節(jié)到指定開(kāi)始地址,可以自動(dòng)翻頁(yè)
{
 uchar i,j;      //計(jì)數(shù)器
 i=16-(addr&0x0F);    //計(jì)算應(yīng)寫入第一頁(yè)的數(shù)據(jù)量    ??????
 I2CStart();      //開(kāi)始總線
 WriteI2C(0xa0);     //發(fā)送控制數(shù)據(jù)
 ACK = CheckACK();    //檢查應(yīng)答信息
 WriteI2C(addr);     //寫入地址
 ACK = CheckACK();
 for(j=0;j<i;j++)    //循環(huán)寫入第一頁(yè)的數(shù)據(jù)
 {  
  WriteI2C(*thedata);   //寫入數(shù)據(jù)
  ACK = CheckACK();
  thedata++;     //數(shù)據(jù)指針加1
 }
 I2CStop();      //停止總線
 if(i!=16)      //如果第一頁(yè)不夠,開(kāi)始寫入第二頁(yè)
 {
  I2CStart();      //開(kāi)始總線
  WriteI2C(0xa0);     //發(fā)送控制數(shù)據(jù)
  ACK = CheckACK();    //檢查應(yīng)答信息
  WriteI2C(addr+i);     //寫入地址
  ACK = CheckACK();
  for(j=i;j<17;j++)     //循環(huán)寫入第二頁(yè)數(shù)據(jù)
  {
   WriteI2C(*thedata);   //寫入數(shù)據(jù)
   ACK = CheckACK();
   thedata++;
  }
  I2CStop();
 }
}

char ReadOneByte (uchar addr)    //讀取指定地址一個(gè)字節(jié)
{
 char mydata;     //準(zhǔn)備寫入的數(shù)據(jù)
 I2CStart();
 WriteI2C(0xa0);     //寫入控制數(shù)據(jù)
 ACK = CheckACK();
 WriteI2C(addr);     //寫入地址
 ACK = CheckACK();
 I2CStart();      //重新開(kāi)始總線
 WriteI2C(0xa1);     //寫入讀取控制碼
 ACK = CheckACK();
 mydata=ReadI2C();    //讀取數(shù)據(jù)
 I2CStop();      //停止總線
 return mydata;
}

void ReadNByte (uchar addr,char *thedata,uchar n)   //連續(xù)讀取N個(gè)字節(jié)
{
 uchar i;
 I2CStart();      
 WriteI2C(0xa0);     
 ACK=CheckACK();
 WriteI2C(addr);
 ACK=CheckACK();
 I2CStart();
 WriteI2C(0xa1);
 ACK=CheckACK();
 for(i=0;i<n-1;i++)    //循環(huán)讀取前N-1個(gè)數(shù)據(jù)
 {  
  *thedata=ReadI2C();   //讀取數(shù)據(jù)
  SendACK();     //發(fā)送應(yīng)答,表示繼續(xù)讀取
  thedata++;     //數(shù)據(jù)指針加1
 }
 *thedata=ReadI2C();    //讀取最后一個(gè)數(shù)據(jù)
 SendNACK();      //發(fā)送非應(yīng)答,結(jié)束讀取
 I2CStop();      //停止總線
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美美女网站色| 中文字幕乱码日本亚洲一区二区| 91丝袜美腿高跟国产极品老师 | 亚洲综合色婷婷| 亚洲欧美日韩系列| 自拍偷拍亚洲综合| 国产精品三级av| 国产精品久久久久影院亚瑟 | 日本一区二区不卡视频| 国产亚洲婷婷免费| 久久久久久免费毛片精品| 欧美精品一区二区三区在线| 久久综合色8888| 亚洲国产精华液网站w| 国产精品看片你懂得| 亚洲美女精品一区| 又紧又大又爽精品一区二区| 亚洲一二三区在线观看| 亚洲成人7777| 卡一卡二国产精品 | 制服丝袜激情欧洲亚洲| 欧美一级欧美一级在线播放| 精品久久五月天| 国产欧美一区二区精品性| 最好看的中文字幕久久| 亚洲一二三区视频在线观看| 六月丁香婷婷色狠狠久久| 国产精品12区| 在线免费亚洲电影| 在线播放亚洲一区| 久久综合一区二区| 最新欧美精品一区二区三区| 亚洲自拍偷拍网站| 麻豆一区二区99久久久久| 国产suv精品一区二区6| 在线视频综合导航| 欧美高清精品3d| 久久久久久久久久久久久女国产乱| 久久久久高清精品| 一区在线观看视频| 免费亚洲电影在线| 精品亚洲欧美一区| 成人国产精品免费网站| 91成人免费在线视频| 懂色av中文一区二区三区| 色激情天天射综合网| 91碰在线视频| 欧美一区二区福利在线| 久久久久久久久久久久久夜| 亚洲免费观看高清完整版在线观看熊| 亚洲综合区在线| 久久精品国产精品亚洲红杏 | 国产精品亚洲一区二区三区妖精 | 国产精品久久久久久久久免费相片 | 精品少妇一区二区三区免费观看 | 日本va欧美va瓶| 国产麻豆精品在线| av在线一区二区| 日韩视频一区在线观看| 国产欧美日韩麻豆91| 亚洲h动漫在线| 国产精品99久久久久久久女警| 国产高清一区日本| 欧美精品tushy高清| 久久欧美一区二区| 午夜精品久久久久影视| 国产一区二区三区最好精华液| 欧美艳星brazzers| 久久久亚洲综合| 视频一区中文字幕国产| 成人午夜在线免费| 在线影院国内精品| 久久免费午夜影院| 一区二区免费看| 成人免费视频播放| 51午夜精品国产| 亚洲一区二区在线免费观看视频| 激情文学综合丁香| 这里只有精品99re| 亚洲欧洲无码一区二区三区| 国产成人在线视频网址| 欧美喷潮久久久xxxxx| 日韩理论电影院| 韩国v欧美v亚洲v日本v| 欧美日韩成人综合在线一区二区| 国产视频一区二区在线| 一区二区三区精品在线| 99久久伊人精品| 久久综合久久鬼色| 国产一区二区三区综合| 欧美中文一区二区三区| 一区二区三区色| 国产福利视频一区二区三区| 精品国产露脸精彩对白| 亚洲韩国精品一区| 欧美私人免费视频| 成人欧美一区二区三区1314| 国产成人精品三级麻豆| 欧美精品一区二区精品网| 欧美激情在线一区二区| 国产激情偷乱视频一区二区三区| 欧美一区二区三区电影| 捆绑调教美女网站视频一区| 欧美一区二区三区日韩| 日韩av电影天堂| 欧美三级蜜桃2在线观看| 一区二区三区在线观看视频| 成人av午夜电影| 亚洲欧美在线另类| 成人高清在线视频| 亚洲欧美一区二区三区国产精品| 粉嫩高潮美女一区二区三区| 国产精品剧情在线亚洲| 成人午夜私人影院| 国产精品久久久久久久久免费樱桃 | 国产女人aaa级久久久级| 久久 天天综合| 国产亚洲美州欧州综合国| 久久不见久久见免费视频7| 精品久久一区二区三区| 久久99精品久久久久| 久久这里只有精品首页| 久久99国产精品免费| 国产网站一区二区| 国产成人福利片| **网站欧美大片在线观看| 91蜜桃传媒精品久久久一区二区| 亚洲精品综合在线| 在线观看精品一区| 丝袜诱惑制服诱惑色一区在线观看 | 欧美午夜一区二区三区免费大片| 一级做a爱片久久| 欧美日韩国产另类一区| 日本免费在线视频不卡一不卡二 | 懂色av一区二区三区蜜臀| 欧美国产日本韩| 免费高清成人在线| 国产欧美日韩精品在线| 国产激情91久久精品导航| 亚洲欧美日韩中文播放 | 亚洲精选在线视频| 4438亚洲最大| 久久精品国产亚洲高清剧情介绍| 欧美国产视频在线| 色欧美片视频在线观看在线视频| 免费在线观看一区| 国产偷国产偷亚洲高清人白洁| 91啪在线观看| 午夜视频一区二区| 国产午夜亚洲精品午夜鲁丝片 | 欧美福利电影网| 成人免费观看av| 一区二区三区在线视频免费| 精品99999| 成年人国产精品| 日本色综合中文字幕| 国产人成一区二区三区影院| 91成人看片片| 久久精品国产秦先生| 中文字幕人成不卡一区| 欧美不卡一区二区| 波多野结衣中文字幕一区| 美女一区二区在线观看| 国产欧美日韩综合精品一区二区| 欧美日本精品一区二区三区| 国产综合久久久久久鬼色| 亚洲成人免费在线| 日本一区二区视频在线| 91精品国产色综合久久ai换脸| 久久av中文字幕片| 亚洲精品久久7777| 欧美另类videos死尸| 91在线精品秘密一区二区| 一区av在线播放| 亚洲欧美综合色| 欧美高清精品3d| 欧美中文字幕一二三区视频| 夜夜精品浪潮av一区二区三区| 久久综合九色综合97婷婷女人| gogo大胆日本视频一区| 国产麻豆精品在线| 亚洲尤物视频在线| 综合在线观看色| 欧美一级夜夜爽| 欧美性一级生活| 精品一二三四区| 五月天婷婷综合| 一区二区三区中文字幕精品精品| 国产视频不卡一区| 91精品国产福利在线观看| 色婷婷国产精品综合在线观看| 国产白丝精品91爽爽久久| 蜜桃av一区二区三区| 天堂午夜影视日韩欧美一区二区| 国产精品不卡视频| 国产精品久久久久久久久晋中| 日韩欧美国产一区在线观看| 欧美一三区三区四区免费在线看| 色综合久久88色综合天天6 | 欧美日韩一区 二区 三区 久久精品|