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

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

?? i2c.c

?? i2c驅動 開發 仿i2c,用于51單片機
?? C
字號:
#include<at89x51.h>
#include<intrins.h>

#define uint  unsigned int 
#define uchar unsigned char

code uchar SenData[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
                      0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10};

sbit SCL=P1^4;
sbit SDA=P1^5;

/***********************************************
**函數名稱:DelayNms()
**函數功能:延時N毫秒
**入口參數:n
**出口參數:無
**說明    :無
***********************************************/
void DelayNms(uint n)
{
  uint i,j;
  for(i=0;i<n;i++)
  for(j=0;j<120;j++);
}


/***********************************************
**函數名稱:I2C_Start()
**函數功能:發送起始條件
**入口參數:無
**出口參數:無
**說明    :時序按照標準模式建立
***********************************************/
void I2C_Start()
{
  SDA=1; 
  _nop_();//數據建立時間大于250ns
  _nop_();
  _nop_();
  SCL=1;
  _nop_();
  _nop_();
  _nop_();
  SDA=0;
  _nop_();
  _nop_();
  SCL=0; //SCL高電平時間大于4us,嵌住時鐘總線
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
}

/***********************************************
**函數名稱:I2C_Stop()
**函數功能:發送停止條件
**入口參數:無
**出口參數:無
**說明    :時序按照標準模式建立
***********************************************/
void I2C_Stop()
{
  SDA=0; 
  _nop_();//數據建立時間大于250ns
  _nop_();
  _nop_();
  SCL=1;
  _nop_();
  _nop_();
  _nop_();
  SDA=1;
  _nop_();
  _nop_();
  SCL=0; //SCL高電平時間大于4us,嵌住時鐘總線
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
}

/***********************************************
**函數名稱:I2C_SendByte()
**函數功能:發送一個字節
**入口參數:待發送字節n
**出口參數:無
**說明    :時序按照標準模式建立
***********************************************/
void I2C_SendByte(uchar n)
{
	 char i;
	 for(i=7;i>=0;i--)
	 {
		  SDA=(n>>i)&0x01;
		  _nop_();
		  _nop_();
		  _nop_();
		  SCL=1;
		  _nop_();
		  _nop_();
		  _nop_();
		  _nop_();
		  _nop_();
		  SCL=0;
	      _nop_();
		  _nop_();
		  _nop_();
		  _nop_();
		  _nop_();
	 }
}


/***********************************************
**函數名稱:I2C_RecByte()
**函數功能:接收一個字節
**入口參數:無
**出口參數:已接收字節
**說明    :時序按照標準模式建立
***********************************************/
 I2C_RecByte(void)
{
	 char i,j=0;
	 for(i=7;i>=0;i--)
	 {
		  j<<=1;
		  SDA=1;
		  _nop_();
		  _nop_();
		  _nop_();
		  SCL=1;
		  _nop_();
		  _nop_();
		  _nop_();
		  j|=SDA&0x01;
		  _nop_();
		  _nop_();
		  SCL=0;
	      _nop_();
		  _nop_();
		  _nop_();
		  _nop_();
		  _nop_();
	 }
	 return (j);
}



/***********************************************
**函數名稱:Check_Ack()
**函數功能:檢測從機響應
**入口參數:無
**出口參數:從機響應則為'0',否則為'1'
**說明    :時序按照標準模式建立
***********************************************/
Check_Ack()
{
	uchar i=1;
	SDA=1;
	_nop_();
    _nop_();
	_nop_();
	SCL=1;
	_nop_();
	_nop_();
	_nop_();
	i=SDA;
	_nop_();
	_nop_();
	_nop_();
	SCL=0;
	_nop_();
    _nop_();
    _nop_();
    _nop_();
    _nop_();
	return (i);  
}

/***********************************************
**函數名稱:Gen_Ack()
**函數功能:產生應答
**入口參數:i
**出口參數:無
**說明    :i=0產生應答,i=1產生非應答
***********************************************/
Gen_Ack(char i)
{	
	SDA=i;
	_nop_();
    _nop_();
	SCL=1;
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	SCL=0;
	_nop_();
    _nop_();
	SDA=1;
    _nop_();
    _nop_();
    _nop_();
}

/***********************************************
**函數名稱:I2C_SendNByte()
**函數功能:發送N個字節
**入口參數:字節個數n,待發送數據隊列首地址
**出口參數:無
**說明    :時序按照標準模式建立
***********************************************/
void I2C_SendNByte(uchar n,uchar *p)
{
  while(n--)
   {
	send:I2C_SendByte(*p);
		 if(Check_Ack()) goto send;
		 p++;
   }
   I2C_Stop();

}

/***********************************************
**函數名稱:I2C_RecNByte()
**函數功能:接收N個字節
**入口參數:字節個數n,存放數據隊列首地址
**出口參數:無
**說明    :時序按照標準模式建立
***********************************************/
void I2C_RecNByte(char n,uchar *p)
{
  while(n--)
   {
	*p=I2C_RecByte();
	if(n>0)
	    {Gen_Ack(0x00);//產生應答
		p++;
		}
    else
	    {Gen_Ack(0x01);//產生非應答
		 I2C_Stop();
		 }
	}
}



void main(void)
{
 uchar RecData[18]={0x00};
 
/***********************************************/
  start:I2C_Start();
	       I2C_SendByte(0xae);//發送從地址選擇24c01

	       if(Check_Ack())
	       {
		      I2C_Stop();
		      goto start;
	       }
		   I2C_SendByte(0x30);//發送子地址
	       if(Check_Ack())
	       {
		      I2C_Stop();
		      goto start;
	       }
           I2C_SendNByte(17,SenData);//在頁寫入模式下一次最多寫一頁,寫的數據超過16個將覆蓋前面所寫的
           DelayNms(1000);//這個延時很有用,去掉試試看
/***********************************************/

/***********************************************/
  start2:I2C_Start();
	       I2C_SendByte(0xac);//發送從地址選擇24c02

	       if(Check_Ack())
	       {
		      I2C_Stop();
		      goto start2;
	       }
		   I2C_SendByte(0x80);//發送子地址
	       if(Check_Ack())
	       {
		      I2C_Stop();
		      goto start2;
	       }
           I2C_SendNByte(17,SenData);//在頁寫入模式下一次最多寫一頁,寫的數據超過16個將覆蓋前面所寫的
           DelayNms(1000);//這個延時很有用,去掉試試看
/***********************************************/

/***********************************************/
  start3:I2C_Start();
	       I2C_SendByte(0xa0);//發送從地址,選擇24c04,第0頁

	       if(Check_Ack())
	       {
		      I2C_Stop();
		      goto start3;
	       }
		   I2C_SendByte(0x80);//發送子地址
	       if(Check_Ack())
	       {
		      I2C_Stop();
		      goto start3;
	       }
           I2C_SendNByte(17,SenData);//在頁寫入模式下一次最多寫一頁,寫的數據超過16個將覆蓋前面所寫的
           DelayNms(1000);//這個延時很有用,去掉試試看
	
  start4:I2C_Start();
	       I2C_SendByte(0xa2);//發送從地址,選擇24c04,第1頁

	       if(Check_Ack())
	       {
		      I2C_Stop();
		      goto start4;
	       }
		   I2C_SendByte(0x70);//發送子地址
	       if(Check_Ack())
	       {
		      I2C_Stop();
		      goto start4;
	       }
           I2C_SendNByte(17,SenData);//在頁寫入模式下一次最多寫一頁,寫的數據超過16個將覆蓋前面所寫的
           DelayNms(1000);//這個延時很有用,去掉試試看
/***********************************************/


/***********************************************/
 start1:    I2C_Start();
           I2C_SendByte(0xa0);//發送從地址
		   	 if(Check_Ack())
	       {
		      I2C_Stop();
		      goto start1;
	       }
		   I2C_SendByte(0x08);//發送子地址
	       if(Check_Ack())
	       {
		      I2C_Stop();
		      goto start1;
	       }
		   I2C_Start();
		   I2C_SendByte(0xa1);//這一步不要忘記檢測應答
	       if(Check_Ack())
	       {
		      I2C_Stop();
		      goto start1;
	       }
		   I2C_RecNByte(18,RecData);
/***********************************************/
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日精品一区二区三区| 亚洲欧洲美洲综合色网| 欧美一区二区三区播放老司机| 欧美日韩综合色| xfplay精品久久| 亚洲乱码一区二区三区在线观看| 亚洲色图制服丝袜| 蜜桃av一区二区三区| 大桥未久av一区二区三区中文| 91免费看`日韩一区二区| 日韩欧美国产一区二区三区| 亚洲色图另类专区| 麻豆精品视频在线观看| 欧美视频中文一区二区三区在线观看| 日韩一区二区电影网| 1区2区3区精品视频| 一区二区三区欧美在线观看| 国产一区二区视频在线| 欧美日韩另类国产亚洲欧美一级| 国产精品久久国产精麻豆99网站| 日韩综合小视频| 色视频成人在线观看免| 日本一区二区三区高清不卡| 奇米影视在线99精品| 欧美三级电影在线观看| 亚洲精品老司机| 成人av网站大全| 国产精品麻豆久久久| 国产精品99久久久久久久女警 | 国产精品视频观看| 国产精品综合av一区二区国产馆| 7777精品伊人久久久大香线蕉超级流畅| 亚洲免费观看高清完整版在线观看 | 国产精品1024| 中文av一区二区| 99在线精品免费| 亚洲高清免费在线| 制服丝袜亚洲精品中文字幕| 日韩精品福利网| 2024国产精品| 99久久久国产精品| 亚洲午夜电影网| 欧美精选一区二区| 蜜臀久久久久久久| 最近中文字幕一区二区三区| 欧美亚洲自拍偷拍| 热久久一区二区| 国产精品午夜电影| 欧美亚洲国产一区二区三区| 喷水一区二区三区| 中文字幕在线一区免费| 欧美日韩另类国产亚洲欧美一级| 精品在线观看视频| 亚洲卡通动漫在线| 亚洲精品在线观| 91九色02白丝porn| 久久99国产乱子伦精品免费| 亚洲人成网站影音先锋播放| 精品视频色一区| 成人天堂资源www在线| 男女男精品视频网| 亚洲色图清纯唯美| 国产婷婷色一区二区三区在线| 色丁香久综合在线久综合在线观看| 爽好多水快深点欧美视频| 中文字幕电影一区| 久久午夜色播影院免费高清| 欧美亚洲一区二区在线观看| 国产精品自拍在线| 久热成人在线视频| 美美哒免费高清在线观看视频一区二区 | 国产mv日韩mv欧美| 青草av.久久免费一区| 婷婷久久综合九色综合伊人色| 亚洲精品乱码久久久久久久久| 天堂成人国产精品一区| 一区二区三区蜜桃网| 中文字幕在线不卡| 国产精品成人免费在线| 欧美激情在线一区二区三区| 国产精品午夜免费| 国产精品国产自产拍高清av| 中文字幕亚洲电影| 亚洲一区二区三区小说| 亚洲第一主播视频| 亚洲h动漫在线| 亚洲高清久久久| 久久99久国产精品黄毛片色诱| 久久99国产精品久久99| 国产黑丝在线一区二区三区| 成人美女视频在线观看| 91麻豆自制传媒国产之光| 精品视频在线免费看| 日韩欧美一级二级| 久久久久久久久久久黄色| 亚洲乱码国产乱码精品精小说| 日韩国产在线一| 国产成人av一区二区三区在线观看| 92国产精品观看| 欧美mv日韩mv亚洲| 国产精品美女一区二区| 日韩av电影免费观看高清完整版 | 亚洲aaa精品| av激情亚洲男人天堂| 日韩视频免费观看高清完整版| 欧美激情综合在线| 久久久久综合网| 日韩精品中文字幕一区二区三区| 欧美一级xxx| 国产日韩三级在线| 国产在线精品国自产拍免费| 国产老肥熟一区二区三区| 在线观看成人小视频| 国产欧美一区在线| 久久精品99国产精品| 欧美日韩在线不卡| 亚洲欧美日韩中文播放| 国产资源在线一区| 日韩欧美一区在线| 日韩电影在线免费| 欧美日韩精品三区| 一区二区三国产精华液| 99re8在线精品视频免费播放| 欧美tickling挠脚心丨vk| 亚洲一二三四区| 91麻豆免费观看| 亚洲色图制服诱惑| av资源站一区| 国产精品九色蝌蚪自拍| 国产成人av自拍| 国产精品乱人伦中文| av色综合久久天堂av综合| 国产精品美女久久久久久久久久久 | 午夜激情一区二区三区| 欧美精品一二三| 日韩二区三区在线观看| 51午夜精品国产| 国产精品一区专区| 综合av第一页| 欧美日韩国产精选| 久久精品噜噜噜成人88aⅴ| 国产无一区二区| 欧美在线不卡一区| 久久精品国产网站| 中文久久乱码一区二区| 色久优优欧美色久优优| 麻豆精品在线看| 国产精品美女视频| 欧美一卡2卡三卡4卡5免费| 国产成人99久久亚洲综合精品| 国产欧美一区二区精品仙草咪| 91久久精品午夜一区二区| 久久电影网电视剧免费观看| 欧美国产欧美综合| 欧美女孩性生活视频| 成人精品免费视频| 精品在线一区二区| 玉足女爽爽91| 日本一区二区视频在线观看| 在线免费观看日本欧美| 成人激情动漫在线观看| 麻豆精品在线播放| 日韩电影在线看| 一区二区三区中文字幕在线观看| 久久久精品2019中文字幕之3| 欧美日韩高清一区二区| 在线免费一区三区| 色播五月激情综合网| 91污片在线观看| 在线视频一区二区三区| 91在线免费视频观看| 99久久亚洲一区二区三区青草| 欧洲一区在线观看| 99久久精品免费看| 99久久国产综合色|国产精品| 国产福利一区二区三区视频在线| 久久se这里有精品| 国产乱码精品一区二区三| 岛国精品一区二区| kk眼镜猥琐国模调教系列一区二区| 懂色av中文字幕一区二区三区| 国产传媒欧美日韩成人| www.在线成人| 欧美精选一区二区| 国产偷国产偷精品高清尤物| 国产精品久久久久久亚洲毛片 | 99久久婷婷国产综合精品电影 | 水野朝阳av一区二区三区| 麻豆精品一区二区| 成人丝袜高跟foot| 欧美在线影院一区二区| 一区二区三区中文字幕电影| 日韩精品在线网站| 日韩福利电影在线观看| 日韩二区三区四区| 波多野结衣中文字幕一区二区三区| 在线免费观看日本一区| 久久免费的精品国产v∧| 亚洲欧美日韩国产综合在线| 另类小说图片综合网|