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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5181|回復: 2
收起左側

MSP430 IIC 協議

[復制鏈接]
ID:51024 發表于 2014-8-14 14:39 | 顯示全部樓層 |閱讀模式
坐在電腦前寫了一整個下午加一個晚上,終于在430上完成了 IIC 協議,在此附上 代碼吧,留個紀念,睡覺去,晚安!
#ifndef __IIC_h
#define __IIC_h

#include "basic.h"
//---------------------------------------
//宏定義
#define IIC_OUT P1OUT
#define IIC_DIR P1DIR
#define IIC_SEL P1SEL
#define IIC_IN  P1IN

#define IIC_SDA_IN   IIC_IN&0X01//取SDA讀取的值,根據接的高地位不同,與上不同的BIT

#define SDA_OUT IIC_DIR|=BIT0
#define SDA_IN  IIC_DIR&=~BIT0

#define SET_SDA IIC_OUT|=BIT0
#define SET_SCL IIC_OUT|=BIT1
#define SET_IIC_EN IIC_OUT|=BIT2
#define CLE_SDA IIC_OUT&=~BIT0
#define CLE_SCL IIC_OUT&=~BIT1
#define CLE_IIC_EN IIC_OUT&=~BIT2

uchar ERROR_BIT=0;//應答錯誤標志,1錯誤,0為正確
//---------------------------------------
//IO配置
void IIC_INIT()
{
  IIC_SEL=0X00;
  IIC_DIR|=(BIT0+BIT1+BIT2+BIT3);//設定三個位輸出
}
//----------------------------------------
//IIC_START
void IIC_START()
{
  SDA_OUT;//設定SDA輸出
  SET_SCL;
  delay();
  SET_SDA;
  delay();
  CLE_SDA;
  delay();
  CLE_SCL;
  delay();
}
//----------------------------------------
//IIC_STOP
void IIC_STOP()
{
  SDA_OUT;//設定SDA輸出
  SET_SCL;
  delay();
  CLE_SDA;
  delay();
  SET_SDA;
  delay();
  CLE_SCL;
  delay();
}
//---------------------------------------
//應答信號
void IIC_ACK()//IIC總線應答////////SCL為高電平時,SDA為低電平,(主機對從機)
{

  SDA_OUT;//設定SDA輸出
  CLE_SDA;
  delay();
  SET_SCL;
  delay();
  CLE_SCL;
  delay();
}
//----------------------------------------
//無應答信號
void NO_ACK()//(主機對從機)
{
  SDA_OUT;//設定SDA輸出


  SET_SDA;
  delay();
  SET_SCL;
  delay();
  CLE_SCL;
  delay();  
}
//---------------------------------------
uchar TEST_ACK()//應答錯誤檢測,1錯誤,0為正確
{
  SDA_IN;
  SET_SCL;  
  delay();
  if(IIC_SDA_IN&0x01)
    ERROR_BIT=1;
  else
    ERROR_BIT=0;
  delay();
  CLE_SCL;
  delay();
  return ERROR_BIT;
}
//--------------------------------------
//IIC寫字節
void IIC_WRITE_DATA(uchar data)
{
  uchar i;
  SDA_OUT;//設定SDA輸出

  for(i=0;i<8;i++)
  {
    SDA_OUT;
    if(data&0x80)
    {
      SET_SDA;//判斷發送位,送數據到數據線上
      delay();
    }
    else
    {
      CLE_SDA;
      delay();
    }
    data = data<<1;
    SET_SCL;//置時鐘信號為高電平,使數據有效
    delay();
    CLE_SCL;
    delay();
  }
  CLE_SCL;
  delay();

}
//----------------------------------------------
//IIC讀一個字節
unsigned char IIC_READ_DATA(void)
{
  SDA_IN;//置數據線為輸入方向
  unsigned char i,q0;
  unsigned char byte=0;
  for(i=0;i<8;i++)
  {
    SET_SCL; //置時鐘為高電平,使數據線數據有效
    delay();
    byte=byte<<1;
    SDA_IN;
    q0=(P1IN & 0X01);
    if(q0==0X01) byte=(byte|0x01); //將數據存入byte
    delay();
    CLE_SCL;
    delay();
  }
  return(byte);
}

/*uchar IIC_READ_DATA()
{
  uchar temp=0;
  uchar i;

  SDA_IN;//設定SDA輸入

  for(i=0;i<8;i++)
  {
    SDA_IN;
    SET_SCL;
    delay();
    temp=temp<<1;   
    if(IIC_SDA_IN ==1)
    {
      temp++;
    }
    delay();
    CLE_SCL;
    delay();
  }
  CLE_SCL;
  delay();
  return temp;
}*/
#endif



下面這部分是AT24C02的操作程序


#ifndef __EEPROM_H
#define __EEPROM_H
#include "basic.h"
#include "IIC.H"
//--------------------------------------
//宏定義
#define READ_MODE 0XA1
#define WRITE_MODE 0XA0


//--------------------------------------
//在一個地址寫一個數據
uchar AT24C02_W_BYTE(uchar ADD,uchar DATA)
{
  IIC_START();//啟動IIC

  IIC_WRITE_DATA(WRITE_MODE);//寫入模式
  //delay();
  if(TEST_ACK())
    return 1;
  IIC_WRITE_DATA(ADD);//寫入數據存儲地址
  //delay();
  if(TEST_ACK())
    return 1;
  IIC_WRITE_DATA(DATA);//寫入數據
  //delay();
  if(TEST_ACK())
    return 1;

  IIC_STOP();//停止IIC
  return 0;
}
//-----------------------------------------
//讀一個地址的數據
uchar AT24C02_R_BYTE(uchar ADD)
{
  uchar temp=0;
  IIC_START();//啟動IIC

  IIC_WRITE_DATA(WRITE_MODE);//偽寫模式
  if(TEST_ACK())
    return 1;

  IIC_WRITE_DATA(ADD);//寫入讀取地址
  if(TEST_ACK())
    return 1;

  IIC_START();//重新啟動IIC

  IIC_WRITE_DATA(READ_MODE);//讀取模式
  if(TEST_ACK())
    return 1;

  temp=IIC_READ_DATA();//讀取數據
  NO_ACK();

  IIC_STOP();

  return temp;  
}
//------------------------------------------
//頁寫
uchar AT24C02_W_PAGE(uchar *p,uchar ADD,uchar lengh)
{
  uchar i;

  IIC_START();//啟動IIC

  IIC_WRITE_DATA(WRITE_MODE);//寫模式
  //delay();
  if(TEST_ACK())
    return 1;
  IIC_WRITE_DATA(ADD);//寫入起始地址
  //delay();
  if(TEST_ACK())
    return 1;
  for(i=0;i<lengh;i++)//寫入數據
  {
    IIC_WRITE_DATA(*p);
    //delay();
    if(TEST_ACK())//來自EEPROM的應答
      return 1;
    p++;
  }
  IIC_STOP();//停止IIC
  delayms(25);//延時讓IIC進行擦除,
              //延時時間很重要,
              //如果出現寫入數據錯誤,
              //則試試延長時間
  return 0;
}
//------------------------------------------
//連續讀數據
uchar AT24C02_R_PAGE(uchar *p,uchar ADD,uchar lengh)//*p為要存儲數據的數組,
                                                    //ADD為讀取的起始地址,
                                                    //lengh是要讀取的長度,一般小于7
{
  uchar i;
  IIC_START();//啟動IIC

  IIC_WRITE_DATA(WRITE_MODE);//偽寫模式
  if(TEST_ACK())
    return 1;

  IIC_WRITE_DATA(ADD);//寫入起始地址
  if(TEST_ACK())
    return 1;

  IIC_START();//重新啟動IIC

  IIC_WRITE_DATA(READ_MODE);//讀模式
  if(TEST_ACK())
    return 1;

  for(i=0;i<(lengh-1);i++)//讀取數據并存儲
  {
    *p=IIC_READ_DATA();

    IIC_ACK();//來自主機的應答
    p++;
  }
  *p=IIC_READ_DATA();
  NO_ACK();  //停止時主機無應答
  delay();
  IIC_STOP();//停止IIC
  delayms(15);
  return 0;  
}
#endif

評分

參與人數 1黑幣 +5 收起 理由
ssfc + 5 贊一個!

查看全部評分

回復

使用道具 舉報

ID:77610 發表于 2015-4-28 13:02 | 顯示全部樓層
430單片機的IIC可以不用這么寫  你這么相當于沒用到IIC模塊本身啊
回復

使用道具 舉報

ID:72995 發表于 2015-8-10 13:16 | 顯示全部樓層
430的好多板子沒有IIC的
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
91久久在线| 精品久久久久99| 亚洲成人在线| 精品视频一区二区三区在线观看| 青娱乐免费在线视频| 欧美精品99久久| 高清国语自产拍免费一区二区三区| 国产一区二区三区在线视频| 色婷婷亚洲综合| 久久久美女毛片| 99国产精品私拍| 日韩三级毛片| 欧洲av一区二区| 第一页在线观看| 97福利电影| 自拍偷拍国产| 国产伦理一区二区| 亚洲精品午夜久久久久久久| 人妻无码一区二区三区| 亚洲免费黄色网| 成人区一区二区| 蜜桃视频在线观看成人| 国产精品美女免费看| 久精品免费视频| 国产午夜精品麻豆| 欧美一区欧美二区| 一本大道久久精品懂色aⅴ| 欧美国产日韩精品免费观看| 国产精品综合av一区二区国产馆| 国产婷婷精品| 久久精品青草| 国产成人一区二区三区影院| 日韩视频一区二区三区四区| 欧洲精品一区二区三区| 啦啦啦中文在线观看日本| 国产日本在线视频| 真不卡电影网| 超污网站在线观看| www天堂在线观看| 午夜色香蕉导航| 国产一区你懂的| 美女脱光衣服与内衣内裤一区二区三区四区| 久草视频在线免费| 日韩毛片在线播放| 久久久国产精华液| 在线看的片片片免费| 久久精品—区二区三区舞蹈| 亚洲一级av无码毛片精品| 91欧美一区二区三区| 一道本视频在线观看| 日韩av资源在线| 青青艹视频在线| www.av91| 欧美一级视频在线播放| 久久久无码中文字幕久...| 一区二区三区四区欧美| 亚洲视频在线观看日本a| 视频一区二区精品| 亚洲精品一区二区三区av| 日韩精品一区二区三区外面| 日本10禁啪啪无遮挡免费一区二区| 国产激情美女久久久久久吹潮| 91成人免费视频| 成人自拍网站| 精品在线不卡| 日本不卡一区二区三区视频| 亚洲高清视频一区| 国产人妻互换一区二区| 免费拍拍拍网站| 成人3d动漫一区二区三区| 九色porny自拍| 国产欧美视频一区| 日本高清www| 黄色片网站在线播放| 久久av红桃一区二区禁漫| 91狠狠综合久久久| 日韩乱码一区二区| 在线观看亚洲一区二区| 精品人妻一区二区三区含羞草 | 可以在线观看的黄色| 成人高清免费观看mv| a毛片在线看免费观看| 日韩深夜视频| 成人国产精品久久| 欧美中文一区| 女人天堂亚洲aⅴ在线观看| 亚洲黄色精品| 国产自产视频一区二区三区| 91丝袜高跟美女视频| 国产精品系列在线| 天天影视色香欲综合网老头| 在线不卡欧美精品一区二区三区| 亚洲第一av在线| 伦伦影院午夜日韩欧美限制| 日本电影亚洲天堂| 国产麻豆一区二区三区在线观看| 欧美一级爽aaaaa大片| youjizz.com在线观看| 成人日韩在线视频| 欧美日韩生活片| 在线观看日本网站| 亚洲人成电影在在线观看网色| 国产美女极度色诱视频www| 天天色天天操天天做| 青青草超碰在线| 黄色aa久久| 免费成人三级| 国产视频欧美| 91麻豆福利精品推荐| 午夜精品久久一牛影视| 欧美精品一区二区蜜臀亚洲| 欧美疯狂做受xxxx高潮| 亚洲影院高清在线| 国产一区二区三区在线免费| 一个人看的视频www| 国产精品老熟女一区二区| 99国产在线播放| 全部免费的黄色毛片| 四虎精品在线| 三上悠亚激情av一区二区三区| 西瓜成人精品人成网站| 午夜一级在线看亚洲| 91蜜桃视频在线| 色婷婷综合久久久久中文一区二区 | 国产后入清纯学生妹| 在线观看无遮挡| 国模吧精品人体gogo| 国产精品99| 久久久久久久久丰满| 粉嫩嫩av羞羞动漫久久久 | 波多野结衣久草一区| 久久国产午夜精品理论片最新版本| 91精品啪在线观看国产| 色av性av丰满av| 国产视频福利| 毛片在线不卡| 露出调教综合另类| 久久66热偷产精品| 欧美午夜精品久久久久久久| 日韩在线中文字幕| 久久精品综合一区| 日日干夜夜操s8| 国产成人在线观看网站| 亚洲欧美日韩综合精品网| 一个人免费观看视频www在线播放| 日韩经典一区| 日韩午夜黄色| 亚洲日本一区二区| 亚洲欧美综合图区| 国产精品永久入口久久久| 超碰在线97免费| 日韩欧美三级视频| 成人欧美视频在线观看播放| 欧美黑人激情| 成人在线免费观看视频| av激情亚洲男人天堂| 欧美一级一级性生活免费录像| 国产精品video| 俄罗斯av网站| 国产香蕉视频在线| 两个人免费视频观看日本| 午夜小视频在线观看| 国产精品久久观看| 国产精品久久久久影院色老大 | 亚洲综合在线免费观看| 中文字幕精品久久久久| 久久国产精品久久精品国产| 极品白嫩的小少妇| 精品国精品国产自在久不卡| 污污网址在线观看| 北条麻妃一区二区三区在线观看 | 色综合91久久精品中文字幕| 欧美日韩一级在线| 国产一区在线观看免费| 欧美乱大交xxxxx免费| av网站免费在线观看| 一区二区日韩欧美| 伊人婷婷欧美激情| 欧美国产视频日韩| 免费观看国产精品视频| 国产欧美日韩另类| 天天摸天天操天天干| 亚洲资源在线| 丁香亚洲综合激情啪啪综合| 精品裸体舞一区二区三区| 国产一区二区久久久| 玖玖爱在线观看| 四虎精品成人a在线观看| 成年网站在线视频网站| 午夜在线精品偷拍| 欧美日韩国产另类不卡| 91香蕉视频在线下载| 天天躁日日躁狠狠躁免费麻豆| 亚洲色图另类小说| 麻豆av在线免费观看| 可以看av的网站久久看| 欧美日韩国产123区| 国产日韩三区| 久久爱一区二区| 5566先锋影音夜色资源站在线观看| crdy在线观看欧美| 91一区一区三区| 日韩视频免费看| 噜噜噜久久亚洲精品国产品麻豆| 一本到在线视频| www亚洲人| 一本色道精品久久一区二区三区| 欧美无砖砖区免费| 国产精品污www一区二区三区| 国产精品久久免费观看| www.先锋影音av| 蜜桃精品wwwmitaows| 亚洲图片欧美一区| 成人有码在线播放| 美女av免费看| 久草福利资源在线视频| 欧美国产小视频| 色狠狠一区二区三区香蕉| 俄罗斯精品一区二区| 国产第一页浮力| av在线电影网站| 欧美一区综合| 日韩欧美亚洲另类制服综合在线| 午夜免费电影一区在线观看| 亚洲影院在线播放| 风间由美一区| 天堂一区二区在线| 亚洲性生活视频| 亚洲色图久久久| 欧美最猛性xxxxx喷水| 国产日韩在线观看视频| 亚洲狼人国产精品| 国产视频999| 日韩国产第一页| 校园春色综合| 巨乳诱惑日韩免费av| 色一区av在线| 日本黄色一级网站| 免费黄色小网站| 欧美国产一级| 精品免费日韩av| 欧洲av无码放荡人妇网站| 综合久久一本| 99精品国产高清一区二区麻豆| 亚洲成人福利片| 日本一区二区三区精品视频| 无码人妻精品一区二区| www.8ⅹ8ⅹ羞羞漫画在线看| 91麻豆.com| 91九色单男在线观看| 精品无码黑人又粗又大又长| 日韩在线资源| 97se亚洲国产综合自在线| 国产精品极品在线| 亚洲国产综合久久| 国产三线在线| 国产精品无码永久免费888| 成人欧美一区二区三区视频| 黄色一级视频免费看| 九色porny丨入口在线| 亚洲欧洲av色图| 精品午夜一区二区三区| 这里只有精品6| 久久精品国产精品亚洲毛片| 亚洲国产成人av好男人在线观看| 色噜噜一区二区| 四虎永久在线观看| 日本欧美高清| 日韩亚洲欧美在线| 性生活免费在线观看| 99热手机在线观看| 乱人伦精品视频在线观看| 欧美精品亚州精品| 亚洲色图27p| 亚洲国产精品精华素| 国产精品久久久久一区二区三区| 国产亚洲精品自在久久| 一区二区三区免费在线| 精品国产三级| 欧美一区二区三区四区视频| 手机av在线网| 三级国产三级在线| 成人国产在线观看| 99久久一区三区四区免费| 在线观看免费视频一区| 日韩精品三级| 欧美一区二区三区视频免费 | 久久精品国产美女| 手机看片一区二区| 精品久久视频| 中文字幕日本精品| 国产日产精品一区二区三区的介绍| 在线不卡日本v二区707| 亚洲精品中文字幕乱码三区| 91看片淫黄大片91| 狠狠色丁香婷婷| 日本中文字幕一区| 国产精品入口免费视| 在线观看国产黄| 成人台湾亚洲精品一区二区 | 激情五月开心婷婷| 日本我和搜子同居的日子高清在线| 国内精品写真在线观看| 91免费精品视频| 国产77777| 88国产精品视频一区二区三区| 欧美大尺度在线观看| 日韩三级小视频| 天堂影视av| 国产福利91精品一区二区三区| 动漫3d精品一区二区三区| 在线视频亚洲色图| 牛牛国产精品| 欧美在线视频免费| 波多野结衣电影在线播放| 噜噜噜天天躁狠狠躁夜夜精品 | 天堂资源在线中文| 一区二区三区美女| 岳毛多又紧做起爽| 黄页免费在线| 国产精品青草久久| 国内精品视频一区二区三区| 高清国语自产在线观看| 久久久久久麻豆| 日本大胆人体视频| 国产在线视频你懂| 国产精品日产欧美久久久久| 国产欧美日韩网站| 天堂av电影在线观看| 亚洲一区在线观看网站| 特级西西444www| av理论在线观看| 欧美视频一区二区在线观看| yy6080午夜| 亚洲最大网站| 亚洲国产日韩欧美综合久久| 欧美激情18p| 精品久久国产视频| 精品动漫av| 97se视频在线观看| 成人欧美色图| 不卡高清视频专区| 久久久久久久9| 国产人成在线观看| 91国内精品野花午夜精品| 蜜桃传媒一区二区亚洲av| 成人免费一区| 精品精品国产国产自在线| 午夜视频网站在线观看| 你懂的一区二区| 国产伦精品一区二区三区高清版 | 亚洲特级黄色片| 亚洲黄色毛片| 久久久一本精品99久久精品66| 免费的av网址| 亚洲视频一区二区在线| 99精品视频免费版的特色功能| 色综合亚洲图丝熟| 亚洲人成电影网站色xx| 国产三级理论片| 中文国产一区| 日韩精品另类天天更新| 中文字幕一二三区在线观看| 色综合久久综合| 男人晚上看的视频| 国产va免费精品观看精品视频| 国产精品十八以下禁看| 日本h在线观看| 中文字幕乱码久久午夜不卡| 亚洲精品国产一区二区三区| 性欧美hd调教| 九九热这里只有在线精品视| 亚洲小说图片区| 成人晚上爱看视频| 一级片视频免费观看| 成人直播视频| 色综合久久88| 青青草国产免费自拍| 国产亚洲欧洲997久久综合| 一级黄色片在线免费观看| 成人mm视频在线观看| 97超碰国产精品女人人人爽| 国产精品18久久久久网站| 综合久久国产九一剧情麻豆| 中文成人无字幕乱码精品区| 99国产精品免费网站| 91久久久在线| 日韩加勒比系列| 欧美高清视频在线高清观看mv色露露十八| 日本熟妇乱子伦xxxx| 国产情侣一区| 国产真人做爰毛片视频直播| 成人一级福利| 欧美疯狂xxxx大交乱88av| 久热中文字幕在线精品免费| 亚洲天堂成人在线观看| 麻豆视频免费在线播放| 2023国产精品久久久精品双| 亚洲精品中文综合第一页| 日本高清视频在线观看|