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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? readwriteat24c08.c

?? 對I2C總線的EEPROM芯片AT24C08進行讀和寫的操作
?? C
字號:
#include <reg51.h>

// 對AT24C08的讀、寫
// extern void DelayMs(unsigned int);
// extern void ReadI2C(unsigned char *RamAddress,unsigned char RomAddress,unsigned char bytes);
// extern void WriteI2C(unsigned char *RamAddress,unsigned char RomAddress,unsigned char bytes);

/***************************************************************************/
#define WriteDeviceAddress 0xa0			//寫器件地址
#define ReadDviceAddress 0xa1			//讀器件地址

/***************************************************************************/
sbit SCL=P1^0;							//I2C時鐘線SCL
sbit SDA=P1^1;							//I2C數據線SDA
sbit DOG=P3^7;							//程序運行標志及數據讀寫正確標志

/***************************************************************************/
void DelayMs(unsigned int number)		//延時子程序,延時大小取決于工作頻率和number值
{
	unsigned char temp;
	for(;number!=0;number--,DOG=!DOG)	//循環,DOG用于輸出狀態信號
	{
		for(temp=112;temp!=0;temp--)	//空循環
		{
		}
	}
}

/***************************************************************************/
void Start()							//起始信號子程序
{
 SDA=1;									
 DelayMs(1);							//延時
 SCL=1;
 DelayMs(1);
 SDA=0;
 DelayMs(1);
 SCL=0;
 DelayMs(1);
}

/***************************************************************************/
void Stop()								//終止信號子程序
{
 SCL=0;
 DelayMs(1);
 SDA=0;
 DelayMs(1);
 SCL=1;
 DelayMs(1);
 SDA=1;
 DelayMs(1);
}

/***************************************************************************/
void Ack()								//發送應答位子程序
{
 SDA=0;
 DelayMs(1);
 SCL=1;
 DelayMs(1);
 SCL=0;
 DelayMs(1);
 SDA=1;
 DelayMs(1);
}

/***************************************************************************/
void NoAck()							//發送非應答位子程序
{
 SDA=1;
 DelayMs(1);
 SCL=1;
 DelayMs(1);
 SCL=0;
 DelayMs(1);
}

/***************************************************************************/
bit TestAck()							//應答位檢查子程序
{
 bit ErrorBit;
 SDA=1;
 DelayMs(1);
 SCL=1;
 DelayMs(1);
 ErrorBit=SDA;							//讀入數據線上的應答狀態
 DelayMs(1);
 SCL=0;
 DelayMs(1);
 return(ErrorBit);						//返回應答狀態,0為正常應答信號,1為非應答信號
}

/***************************************************************************/
bit Write8Bit(unsigned char input)		//寫一個字節數據子程序
{										//input為待發送的數據
 unsigned char temp;
 for(temp=8;temp!=0;temp--)				//循環移位,逐位發送數據
 {
  SDA=(bit)(input&0x80);				//取數據的最高位
  DelayMs(1);
  SCL=1;
  DelayMs(1);
  SCL=0;
  DelayMs(1);
  input=input<<1;						//左移一位
 }
 return 1;
}

/***************************************************************************/
void WriteI2C(unsigned char *Wdata,unsigned char RomAddress,unsigned char number)
{ 										//寫n個字節數據子程序
 Start();								//啟動
 Write8Bit(WriteDeviceAddress);			//寫寫器件的尋址地址
 TestAck();								//應答檢查
 Write8Bit(RomAddress);					//寫入I2C器件內部的數據存儲首地址
 TestAck();								//應答檢查
 for(;number!=0;number--)				//循環,逐個字節發送
 {
  Write8Bit(*Wdata);					//寫一個字節
  TestAck();							//應答檢查
  Wdata++;								//指針增加,指向下一個數據
 }
 Stop();								//停止
 DelayMs(10);
}

/***************************************************************************/
unsigned char Read8Bit()				//讀一個字節數據子程序
{
 unsigned char temp,rbyte=0;
 for(temp=8;temp!=0;temp--)				//循環,逐位讀入字節數據
 {
  SCL=1;
  DelayMs(1);
  rbyte=rbyte<<1;						//左移一位
  DelayMs(1);
  rbyte=rbyte|((unsigned char)(SDA));	//數據線SDA上的數據存入rbyte的最低位
  SCL=0;
  DelayMs(1);
 }
 return(rbyte);							//返回讀入的字節數據
}

/***************************************************************************/
void ReadI2C(unsigned char *RamAddress,unsigned char RomAddress,unsigned char bytes)
{		 								//讀n個字節數據子程序
 Start();								//啟動
 Write8Bit(WriteDeviceAddress);			//寫寫器件的尋址地址
 TestAck();								//應答檢查
 Write8Bit(RomAddress);					//寫I2C器件內部數據的讀取首地址
 TestAck();								//應答檢查
 Start();								//重新啟動
 Write8Bit(ReadDviceAddress);			//寫讀器件的尋址地址
 TestAck();								//應答檢查
 while(bytes!=1)						//循環讀入字節數據
 {
 *RamAddress=Read8Bit();				//讀入一個字節
 Ack();									//應答
 RamAddress++;							//地址指針遞增
 bytes--;								//待讀入數據個數遞減
 }
 *RamAddress=Read8Bit();				//讀入最后一個字節數據
 NoAck();								//非應答
 Stop();								//停止
}

void main()
{
	unsigned char writeByte[8]={0xC0,0x34,0x12,0x11,0x22,0x01,0x00,0x00};
										//需要寫的8個字節USB數據ID
	unsigned char readByte[8];			//用于存讀入的8個字節數據
	unsigned char *addw;				//寫數據指針操作
	unsigned char *addr;				//讀數據指針操作
	unsigned char i;
	unsigned char ok=0;					
	bit write=1;						//讀寫標志
	DOG=0;								
	while(1)
	{
		if(write==1)					//當write==1時,執行寫和讀操作
		{
			addw=writeByte;				//寫地址映射
			addr=readByte;				//讀地址映射
			WriteI2C(addw,0x00,8);		//寫數據
			ReadI2C(addr,0x00,8);		//讀數據
			for(i=0;i<8;i++)		   	//判斷每個字節讀寫是否一致
			{
				if(writeByte[i]==readByte[i])
				{
					ok++;
				}
			}
			if(ok==8)
			{
				DOG=1;					//當讀寫一致時,P3.7輸出高電平
			}
			else
			{
				DOG=0;					//當讀寫不一致時,P3.7輸出低電平
			}	  
			write=0;					//置write==0,讀寫完畢
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线视频精品一区| 欧美美女一区二区三区| 亚洲午夜视频在线观看| 久久久久9999亚洲精品| 日韩区在线观看| 欧美日韩一区三区| 欧美少妇bbb| 欧美蜜桃一区二区三区| 69久久99精品久久久久婷婷| 欧美一二三区在线| 亚洲激情图片小说视频| 亚洲精品免费看| 国产成人在线视频网站| 99精品久久99久久久久| 色素色在线综合| 欧美三级视频在线| 亚洲色图.com| 午夜精品久久久久久久久久久| 午夜精品久久久久久久久久 | 555www色欧美视频| 中文字幕佐山爱一区二区免费| 国产一区二区91| 99久久99久久综合| 日本一区二区免费在线观看视频 | 色哟哟日韩精品| 国产精品丝袜一区| 亚洲欧美一区二区久久| 欧美96一区二区免费视频| 久久精品国产网站| 成人精品免费视频| 欧美日韩黄色影视| 亚洲国产精品久久人人爱| 日本韩国一区二区| 久久免费电影网| 加勒比av一区二区| 在线精品观看国产| 久久亚洲免费视频| 亚洲国产精品久久人人爱| 欧美性色综合网| 午夜精品在线看| 91精品国产综合久久香蕉的特点| 三级久久三级久久| av在线这里只有精品| 欧美一区日本一区韩国一区| 国产精品二三区| 狠狠色丁香久久婷婷综合_中| 欧美成人a在线| 亚洲午夜激情网站| 91精品国产全国免费观看| 青青草97国产精品免费观看| 精品日本一线二线三线不卡| 国产一区二区三区观看| 中文字幕欧美国产| 国产一区二区视频在线| 中文字幕一区二区三中文字幕| 蜜臀久久99精品久久久久宅男| 91蝌蚪国产九色| 欧美激情一区二区在线| av在线不卡电影| 午夜欧美在线一二页| 久久尤物电影视频在线观看| 成人污视频在线观看| 亚洲永久精品国产| 94色蜜桃网一区二区三区| 亚洲黄色性网站| 精品国产网站在线观看| 日日欢夜夜爽一区| 国产日韩欧美a| 欧美日韩国产a| 国产成人精品一区二区三区网站观看| 亚洲精品中文在线影院| 精品国产露脸精彩对白| 91麻豆国产福利在线观看| 蜜桃一区二区三区在线| 亚洲情趣在线观看| 精品少妇一区二区三区在线视频| 成人国产视频在线观看| 国产精品久久久久久福利一牛影视| 欧美亚洲高清一区| 国产suv精品一区二区6| 中文字幕国产一区| 欧美一区日韩一区| 色欧美乱欧美15图片| 国产一区二区成人久久免费影院 | 亚洲精品国久久99热| 欧美精品一区二区不卡| 欧美日韩一级片网站| 国产电影精品久久禁18| 日本欧美加勒比视频| 日韩三级视频中文字幕| 色狠狠色狠狠综合| www..com久久爱| 国产精品 欧美精品| 免费成人深夜小野草| 亚洲电影第三页| 欧美哺乳videos| 欧美精选一区二区| 日本韩国欧美国产| 99久久精品99国产精品| 国产成人免费视频网站 | 国产成人精品三级| 久久精品国产77777蜜臀| 亚洲va国产天堂va久久en| 亚洲日本在线a| 中文字幕一区二区三区精华液 | 久久青草欧美一区二区三区| 欧美一级免费观看| 在线播放一区二区三区| 色综合久久中文字幕| www.欧美日韩国产在线| 成人深夜福利app| 国产麻豆视频一区二区| 国产一区二区三区高清播放| 韩国理伦片一区二区三区在线播放| 日本不卡视频一二三区| 蜜桃视频一区二区| 久久99久久99精品免视看婷婷| 秋霞午夜鲁丝一区二区老狼| 日韩黄色片在线观看| 日本欧美一区二区| 狠狠色2019综合网| 国产一区二区三区香蕉| 国产91精品一区二区麻豆亚洲| 国产99久久久久久免费看农村| 粉嫩13p一区二区三区| 国产91在线看| 99国产精品国产精品久久| 91女厕偷拍女厕偷拍高清| 在线视频国内一区二区| 欧美日韩精品免费| 欧美成人一区二区三区片免费 | 久久99精品国产麻豆婷婷| 老司机精品视频一区二区三区| 久久精品国产久精国产爱| 国产麻豆成人精品| 99热这里都是精品| 欧美日韩免费电影| 精品久久久久久久久久久久包黑料| 久久一区二区三区国产精品| 国产精品久久影院| 亚洲一卡二卡三卡四卡五卡| 欧美a级一区二区| 国产精品亚洲а∨天堂免在线| 日本免费新一区视频| 九九在线精品视频| 波多野结衣视频一区| 欧美日韩成人激情| 久久蜜桃av一区精品变态类天堂| 国产精品国产三级国产aⅴ中文 | 精品在线免费观看| 成人免费视频播放| 欧美视频在线观看一区二区| 欧美变态口味重另类| 1024成人网色www| 三级一区在线视频先锋| 岛国精品一区二区| 欧美在线观看禁18| 久久精品在这里| 久久久综合网站| 亚洲精品乱码久久久久久久久 | 制服.丝袜.亚洲.中文.综合| 久久精品一二三| 丝袜亚洲精品中文字幕一区| 国产精品1区2区3区在线观看| 在线观看免费亚洲| 国产精品欧美久久久久无广告| 丝袜诱惑制服诱惑色一区在线观看| 高清不卡在线观看| 日韩精品一区二区三区swag| 日韩欧美在线123| 一区二区三区四区av| 亚洲一二三区在线观看| 国产成人精品一区二| 91精品综合久久久久久| 有坂深雪av一区二区精品| 国内精品国产三级国产a久久| 欧美调教femdomvk| 国产精品久久久久一区二区三区| 秋霞午夜av一区二区三区| 欧美性猛交一区二区三区精品| 国产精品久久久爽爽爽麻豆色哟哟| 另类中文字幕网| 91精品国产综合久久小美女| 亚洲一区二区偷拍精品| 91蜜桃免费观看视频| 国产精品久久久爽爽爽麻豆色哟哟| 九九九精品视频| 日韩一区二区三区av| 亚洲sss视频在线视频| 一本大道久久a久久综合婷婷 | 成人午夜激情影院| 久久久国产精品麻豆| 看国产成人h片视频| 日韩午夜电影在线观看| 日本系列欧美系列| 欧美日韩免费电影| 日本大胆欧美人术艺术动态| 欧美一区二区三区在| 免费成人结看片| 精品剧情v国产在线观看在线|