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

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

?? at24c02.c

?? PCF8563,AT24C02驅(qū)動程序
?? C
字號:

/*
作者:劉文廣
日期:2007-9-30
說明:AT24C02驅(qū)動程序
*/


#ifndef _I2C24C02_C_
#define _I2C24C02_C_


/********************************************************************************************
* 函數(shù)名稱:I2C_Start()
* 功    能:啟動I2C總線
* 入口參數(shù):無
* 出口參數(shù):無
*********************************************************************************************/
void I2C_Start(void)
{
  SDA=1;
  NOP; 
  SCL=1; 
  NOP;
  NOP;
  NOP;
  SDA=0; 
  NOP;
  NOP;
  NOP;
  SCL=0;
  NOP;
}

/********************************************************************************************
* 函數(shù)名稱:I2C_Stop()
* 功    能:終止I2C總線
* 入口參數(shù):無
* 出口參數(shù):無
*********************************************************************************************/
void I2C_Stop(void)
{
  SDA=0;
  NOP;
  SCL=1;
  NOP;
  NOP;
  NOP;
  SDA=1;
  NOP;
  NOP;
  NOP;
}
/********************************************************************************************
* 函數(shù)名稱:I2C_Check_Ack()
* 功    能:發(fā)送完一個字節(jié)后檢驗設(shè)備的應(yīng)答信號
* 入口參數(shù):無
* 出口參數(shù):返回值為True,成功
*           返回值為False,失敗
*********************************************************************************************/
bit I2C_Check_Ack(void)
{
  SDA=1;
  NOP;
  SCL=1;
  NOP;
  NOP;
  F0=SDA;
  SCL=0;
  if(F0==1) return FALSE;
  return TRUE;
}
/***********************************************
函數(shù)名字:Ack()
功    能:mcu對器件進行連續(xù)讀操作時,回應(yīng)器件。
入口參數(shù):無
出口參數(shù):無
 **********************************************/
void Ack(void)
{
SDA=0; //數(shù)據(jù)線保持低,時鐘線上升沿
NOP;
SCL=1; 
NOP;
SCL=0;
NOP;
SDA=1;
}
//非應(yīng)答
void NoAck()
{
 SDA=1;
 NOP;
 NOP;
 SCL=1;
 NOP;
 NOP;
 SCL=0;
}
/********************************************************************************************
* 函數(shù)名稱:I2C_Write8Bit()
* 功    能:向I2C總線寫入8bit數(shù)據(jù)
* 入口參數(shù):I2C_data     將要寫入I2C總線的8bit數(shù)據(jù) 
* 出口參數(shù):無
*********************************************************************************************/
void I2C_Write8Bit(uint8 I2C_data)
{
  uint8 i;
 for(i=8;i!=0;i--)
 {
  SDA=(bit)(I2C_data&0x80);  //寫一個BIT
  NOP;
  NOP;
  SCL=1;
  NOP;
  NOP;
  SCL=0;
  I2C_data=I2C_data<<1;
 }
}

/********************************************************************************************
* 函數(shù)名稱:I2C_Read8Bit()
* 功    能:從I2C總線接收8bit數(shù)據(jù)
* 入口參數(shù):無
* 出口參數(shù):返回值為從I2C總線上接收到的8bit數(shù)據(jù)
*********************************************************************************************/
uint8 I2C_Read8Bit(void)  //reentrant
{
  uint8 I2C_data=0,i;
  
  for(i=0;i<8;i++)
    {   
    SCL=1;    
      NOP;
      NOP;
      NOP;
      F0=SDA;
      NOP;
      SCL=0;
      if(F0==1)
       {
         I2C_data=I2C_data<<1;
         I2C_data=I2C_data|0x01;
       }
      else
        I2C_data=I2C_data<<1;
    }
    return I2C_data;
}

/********************************************************************************************
* 函數(shù)名稱:AT24C02_Write1Byte()
* 功    能:向AT24C02指定地址上寫入1字節(jié)數(shù)據(jù)
* 入口參數(shù):AT24C02_Address   AT24C02內(nèi)的地址
*           AT24C02_1Byte     將要寫入AT24C02的1字節(jié)數(shù)據(jù)
* 出口參數(shù):無
*********************************************************************************************/
void AT24C02_Write1Byte(uint8 AT24C02_Address,uint8 AT24C02_1Byte)
{
  bit AckTemp=1;
  
  I2C_Start();
  I2C_Write8Bit(AT24C02_WriteDeviceAddress);
  AckTemp=I2C_Check_Ack();
  I2C_Write8Bit(AT24C02_Address);                   
  AckTemp=I2C_Check_Ack();
  I2C_Write8Bit(AT24C02_1Byte);                 
  AckTemp=I2C_Check_Ack();
  I2C_Stop();
}

/********************************************************************************************
* 函數(shù)名稱:AT24C02_Read1Byte()
* 功    能:從AT24C02指定地址上讀出1字節(jié)數(shù)據(jù)
* 入口參數(shù):AT24C02_Address   AT24C02內(nèi)的地址
* 出口參數(shù):從AT24C02指定地址上讀出的1字節(jié)數(shù)據(jù)
*********************************************************************************************/
uint8 AT24C02_Read1Byte(uint8 AT24C02_Address)
{    
  bit AckTemp=1;
  uint8 AT24C02_1Byte;

  I2C_Start();
  I2C_Write8Bit(AT24C02_WriteDeviceAddress);
  AckTemp=I2C_Check_Ack();
  I2C_Write8Bit(AT24C02_Address);
  AckTemp=I2C_Check_Ack();
  I2C_Start();
  I2C_Write8Bit(AT24C02_ReadDeviceAddress);
  AckTemp=I2C_Check_Ack();
  AT24C02_1Byte=I2C_Read8Bit();
  AckTemp=I2C_Check_Ack();
  I2C_Stop();

  return AT24C02_1Byte;
}

/***********************************************************************
*函數(shù)名稱:AT24C02_WriteNByte()
*功    能:連續(xù)寫n個字節(jié)到AT24C02
*入口參數(shù):Address: 內(nèi)部儲存開始地址,*Wdata:數(shù)據(jù)起始指針,number:個數(shù)
*出口參數(shù):無
*備    注:每8個字節(jié)一頁,一次最多只能寫8個字節(jié)(超過則會與前面的重疊)
************************************************************************/
void AT24C02_WriteNByte(unsigned char Address,unsigned char *Wdata,unsigned char number)
{
	unsigned char i;
  bit AckTemp=1;
  
  I2C_Start();
  I2C_Write8Bit(AT24C02_WriteDeviceAddress);
  AckTemp=I2C_Check_Ack();
  I2C_Write8Bit(Address);   //開始的地址                
  AckTemp=I2C_Check_Ack();
  for(i=0;i<number;i++)
  {
  I2C_Write8Bit(*Wdata);   //數(shù)據(jù)              
  while(I2C_Check_Ack()==FALSE);
  Wdata++;
  }
  I2C_Stop();
}
/***********************************************************************
*函數(shù)名稱:AT24C02_ReadNByte()
*功    能:連續(xù)從AT24C02讀n字節(jié)出來
*入口參數(shù):Address: 內(nèi)部儲存開始地址,*Wdata:數(shù)據(jù)存儲起始指針,number:個數(shù)
*出口參數(shù):無
*備    注:每8個字節(jié)一頁,一次最多只能讀8個字節(jié)
************************************************************************/
void AT24C02_ReadNByte(unsigned char Address,unsigned char *Wdata,unsigned char number)
{
	unsigned char i;
	bit AckTemp=1;
  I2C_Start();
  I2C_Write8Bit(AT24C02_WriteDeviceAddress);
  AckTemp=I2C_Check_Ack();
  I2C_Write8Bit(Address);
  AckTemp=I2C_Check_Ack();
  I2C_Start();
  I2C_Write8Bit(AT24C02_ReadDeviceAddress);
  AckTemp=I2C_Check_Ack();
  for(i=0;i<number;i++)
  {
    *Wdata = I2C_Read8Bit();
    Ack();
    Wdata++;
  }
  NoAck();
  I2C_Stop();	
}
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
九九**精品视频免费播放| 国产精品久久久久影院亚瑟 | 久久精品国产亚洲高清剧情介绍 | 精品一区二区在线视频| 午夜婷婷国产麻豆精品| 一区二区免费在线播放| 亚洲欧美国产77777| 成人免费一区二区三区在线观看| 国产日韩精品一区二区浪潮av| 久久夜色精品国产噜噜av| 欧美电视剧在线看免费| 日韩欧美中文一区| 精品毛片乱码1区2区3区| 日韩免费观看高清完整版在线观看| 欧美精品1区2区| 欧美午夜免费电影| 欧美嫩在线观看| 日韩免费一区二区三区在线播放| 欧美一级理论片| 欧美r级在线观看| 久久久国产一区二区三区四区小说 | 色综合久久久久久久久| 色综合av在线| 欧美中文字幕久久| 欧美性淫爽ww久久久久无| 欧美精品日日鲁夜夜添| 日韩精品中文字幕在线不卡尤物| 久久久久久99精品| 久久久不卡网国产精品二区| 久久精品一区蜜桃臀影院| 国产日韩成人精品| 亚洲美女屁股眼交| 亚洲在线视频一区| 日韩av一级片| 精品中文字幕一区二区| 高清在线不卡av| 91色乱码一区二区三区| 欧美日韩国产综合视频在线观看| 日韩免费一区二区| 国产精品福利一区| 亚洲成人精品一区二区| 精品一区二区三区欧美| 久久人人爽人人爽| 国产精品不卡视频| 日韩福利电影在线| 成人av在线一区二区三区| 欧美日韩久久久久久| 久久久久久久av麻豆果冻| 亚洲免费在线视频一区 二区| 日韩国产精品久久久| 国产91富婆露脸刺激对白| 欧美三级韩国三级日本三斤| 精品99一区二区| 亚洲老司机在线| 国产综合色在线| 欧美日韩激情一区二区| 日本一区二区三区久久久久久久久不 | 99久久精品国产导航| 欧美一级日韩不卡播放免费| 国产精品乱码人人做人人爱| 图片区日韩欧美亚洲| 成人免费黄色大片| 日韩视频免费观看高清在线视频| 亚洲日本在线视频观看| 国产资源在线一区| 欧美美女网站色| 亚洲欧洲中文日韩久久av乱码| 美日韩黄色大片| 欧美在线三级电影| 国产欧美日韩在线| 美女任你摸久久| 欧美私人免费视频| 中文字幕亚洲一区二区va在线| 久久99精品久久久久久动态图| 在线视频欧美精品| 中文字幕不卡在线观看| 精品无人区卡一卡二卡三乱码免费卡| 久久精品无码一区二区三区| 婷婷国产在线综合| 91社区在线播放| 国产精品国产成人国产三级| 国产一区二区视频在线| 宅男噜噜噜66一区二区66| 一区二区三区不卡视频| 99精品欧美一区二区三区综合在线| 日韩视频在线你懂得| 午夜久久电影网| 欧美日韩一区二区三区在线看| 亚洲精品国产无天堂网2021| 99精品国产热久久91蜜凸| 国产亚洲综合在线| 国产自产高清不卡| 精品免费视频.| 麻豆成人av在线| 91精品国产综合久久精品图片| 亚洲五码中文字幕| 91国产福利在线| 一区二区三区免费网站| 91免费看`日韩一区二区| 亚洲特黄一级片| 91美女福利视频| 亚洲免费成人av| 色婷婷激情久久| 一区二区三区在线观看欧美 | 国产精品久久久久久户外露出 | 91麻豆精品一区二区三区| 国产精品美女久久久久久2018| 成人动漫一区二区三区| 国产精品视频一二三区 | 欧美国产在线观看| 成人免费毛片嘿嘿连载视频| 国产精品福利电影一区二区三区四区 | 久久精品国产第一区二区三区| 欧美一卡2卡三卡4卡5免费| 日本不卡一区二区| 欧美va天堂va视频va在线| 国产自产v一区二区三区c| 国产人成亚洲第一网站在线播放| 国产成人小视频| 中文字幕一区二区三区不卡在线 | 日本韩国精品一区二区在线观看| 亚洲精品成a人| 欧美揉bbbbb揉bbbbb| 日韩电影在线一区| 精品国产乱码久久久久久蜜臀| 国产精品综合视频| 国产精品色呦呦| 在线观看国产一区二区| 日韩国产成人精品| 久久久久97国产精华液好用吗| 国产成人免费网站| 亚洲色图20p| 91精品国产综合久久久久久漫画 | 久久久91精品国产一区二区精品 | 欧美一级二级三级蜜桃| 国产原创一区二区三区| 国产精品久久免费看| 欧美伊人精品成人久久综合97| 日韩成人一级大片| 久久久www成人免费无遮挡大片| 91网上在线视频| 青青青爽久久午夜综合久久午夜| 国产网红主播福利一区二区| 色哟哟一区二区在线观看| 日韩电影在线观看电影| 久久午夜羞羞影院免费观看| 色综合激情五月| 久久疯狂做爰流白浆xx| 中文字幕一区二区三区在线播放 | 欧美日韩一区二区三区在线看| 美女脱光内衣内裤视频久久影院| 日本一区二区三区在线不卡| 欧美日韩成人综合天天影院| 国产成人免费在线| 性做久久久久久免费观看| 国产日韩一级二级三级| 欧美日韩国产欧美日美国产精品| 国产精品99精品久久免费| 亚洲自拍偷拍综合| 久久久久88色偷偷免费| 欧美另类高清zo欧美| 成人ar影院免费观看视频| 日本人妖一区二区| 最新高清无码专区| 日韩美一区二区三区| 国产亚洲自拍一区| 欧美区在线观看| 成人av网站在线观看| 免费高清在线一区| 一区二区三区国产| 中文在线免费一区三区高中清不卡| 欧美精品黑人性xxxx| 99久久精品国产观看| 国产一区二区三区av电影 | 国产在线一区观看| 亚洲一区免费观看| 国产精品美女久久久久久久网站| 91精品国产色综合久久不卡电影 | 99在线精品一区二区三区| 男男成人高潮片免费网站| 亚洲线精品一区二区三区| 中文字幕国产一区二区| 日韩精品一区二区三区在线| 欧美日韩国产a| 91女神在线视频| 不卡一二三区首页| 国产乱码精品一区二区三区五月婷 | 亚洲精品日韩专区silk| 国产欧美一区二区精品性色| 精品国产亚洲在线| 欧美一区国产二区| 欧美久久久久免费| 91日韩一区二区三区| www.色综合.com| 成人福利视频在线看| 国产一区二区三区黄视频 | 天堂精品中文字幕在线| 亚洲一区二区三区在线| 成人欧美一区二区三区在线播放| 国产日韩欧美电影|