女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機(jī)IIC通信協(xié)議詳解

CHANBAEK ? 來源:落木青云 ? 作者:一顆糯米 ? 2023-03-20 15:20 ? 次閱讀

再話單片機(jī)通信

前面的文章中已經(jīng)介紹了單片機(jī)的并口通信和UART串口通信,在實(shí)際開發(fā)過程中我們還可能用到很多其他通信協(xié)議,IIC協(xié)議就是其中常見的一種,它的用途很廣,很多資料都講得比較專業(yè)化,這篇文章我們一起通過簡單的文字來熟悉它,以后應(yīng)用時(shí)再講專業(yè)點(diǎn)。

何為IIC

IIC總線全稱是Inter Integrated Circuit總線,也寫做I^2C總線,它是由飛利浦公司推出的一種同步通信協(xié)議,這種協(xié)議只用兩根通信引腳,一根信號(hào)SDA,另一根時(shí)鐘線SCL,即它使用兩根信號(hào)線就可實(shí)現(xiàn)全雙工的同步數(shù)據(jù)傳輸。 總之,它具有接口線少、占用資源小、控制簡單、通信速率較高等優(yōu)點(diǎn)。 至于為什么,現(xiàn)在我們先不用管,等后面介紹完其他通信協(xié)議后再做對(duì)比了解。

所有與IIC兼容的器件都具有標(biāo)準(zhǔn)的接口,可以把多個(gè)IIC總線器件同時(shí)接到IIC總線上。 *當(dāng)然,因?yàn)镮IC協(xié)議比較簡單,所以我們使用時(shí)通常也會(huì)直接通過軟件模擬協(xié)議來實(shí)現(xiàn),特別是對(duì)于沒有IIC接口的單片機(jī),比如普通51,52單片機(jī)。 * 在總線上通過地址來識(shí)別通信對(duì)象,使它們可以之間可以通過IIC總線直接通信,總線上的各設(shè)備具有唯一的識(shí)別地址,正是因?yàn)榫邆渫ㄐ抛R(shí)別功能,并且簡單容易實(shí)現(xiàn),使得它在電子領(lǐng)域有非常廣的應(yīng)用,比如各種低速存儲(chǔ)IC,各類傳感器等等。

圖片
通信線路

因?yàn)樗蠭IC通信引腳內(nèi)部電路使用的是開漏結(jié)構(gòu),所以在實(shí)際應(yīng)用中需要對(duì)其引腳添加上拉電阻,以保證正常通信。

圖片
內(nèi)部電路結(jié)構(gòu)

通信協(xié)議總覽

IIC總線協(xié)議上的設(shè)備分主設(shè)備和從設(shè)備,猶如常說的主機(jī)和從機(jī),顧名思義,主設(shè)備是發(fā)送命令或數(shù)據(jù)的器件,從設(shè)備為接收命令或向主設(shè)備傳送數(shù)據(jù)的器件。 并且主設(shè)備控制時(shí)鐘信號(hào),從設(shè)備根據(jù)主設(shè)備的時(shí)鐘信號(hào)和地址信息進(jìn)行響應(yīng)。

主從設(shè)備之間還需要遵循一定的規(guī)則:

  1. IIC總線空閑狀態(tài)下,SCL和SDA均為高電平,只有在總線空閑時(shí)才允許啟動(dòng)數(shù)據(jù)傳送。
  2. 起始信號(hào):鐘線SCL為高電平時(shí),數(shù)據(jù)線SDA從高電平到低電平的跳變被定義為起始信號(hào)。
  3. 停止信號(hào):時(shí)鐘線SCL為高電平時(shí),數(shù)據(jù)線SDA從低電平到高電平的跳變被定義為停止信號(hào)。
  4. 除以上被定義的起始信號(hào)和停止信號(hào)外,數(shù)據(jù)傳送過程,時(shí)鐘線為高電平時(shí),數(shù)據(jù)線必須保持穩(wěn)定狀態(tài),即時(shí)鐘線為高電平時(shí),數(shù)據(jù)線的任何電平變化都將被看作總線的起始或停止信號(hào)。

圖片
協(xié)議總覽

通信一般步驟

發(fā)送命令:

  1. 發(fā)送起始(START)信號(hào);
  2. 發(fā)送設(shè)備地址;
  3. 等待從設(shè)備響應(yīng)(ACK);
  4. 發(fā)送數(shù)據(jù),一般情況每發(fā)送一個(gè)字節(jié)數(shù)據(jù)后會(huì)等待接收來自從設(shè)備的響應(yīng)(ACK)信號(hào);
  5. 數(shù)據(jù)發(fā)送完畢,發(fā)送停止(STOP)信號(hào),終止傳輸。

讀取命令:

  1. 發(fā)送起始(START)信號(hào);
  2. 發(fā)送設(shè)備地址;
  3. 等待從設(shè)備響應(yīng)(ACK);
  4. 接收來自從設(shè)備的數(shù)據(jù),一般情況下每接收一個(gè)字節(jié)數(shù)據(jù)后會(huì)向從設(shè)備發(fā)送一個(gè)響應(yīng)(ACK)信號(hào);
  5. 接收到最后一個(gè)數(shù)據(jù),發(fā)送一個(gè)無效響應(yīng)(NACK),然后發(fā)送停止(STOP)信號(hào),終止傳輸。

通信程序舉例

  1. 總線初始化
void init()
{
  SCL= 1;
  delay ();
  SDA= 1;
  delay ();
}
  1. 起始信號(hào)
void start()                     
{
  SDA= 1;
  delay ();
  SCL= 1;
  delay ();
  SDA= 0;
  delay ();
}
  1. 應(yīng)答信號(hào)
void respons()
{
  uchar i= 0;
  SCL= 1;
  delay();
  while ((SDA== 1)&&(i< 255))
  {
    i++ ;
  }
  SCL= 0;
  delay();
}
  1. 停止信號(hào)
void stop() 
{
  SDA= 0;
  delay();
  SCL= 1;
  delay();
  SDA= 1;
  delay();
}
  1. 寫數(shù)據(jù)
void writebyte(uchar date)
{
  uchar i,temp;
  temp= date;
  for(i= 0;i< 8;i++ )
  {
    temp= temp<< 1; 
    SCL= 0;
    delay();
    SDA= CY;
    delay();
    SCL= 1;
    delay();
  }
  SCL= 0;
  delay();
  SDA= 1;
  delay();
}
  1. 讀數(shù)據(jù)
void readbyte()             
{
  uchar i,k;
  SCL= 0;
  delay();
  SDA= 1;
  for(i= 0;i< 8;i++ )         
  {
    SCL= 1;
    delay();
    k= (k<< 1)|SDA;            
    SCL= 0;
    delay();
  }
  delay();
  return k;                   
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6063

    文章

    44915

    瀏覽量

    646904
  • 通信協(xié)議
    +關(guān)注

    關(guān)注

    28

    文章

    997

    瀏覽量

    40947
  • IIC
    IIC
    +關(guān)注

    關(guān)注

    11

    文章

    306

    瀏覽量

    39155
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1267

    瀏覽量

    103245
  • 串口通信
    +關(guān)注

    關(guān)注

    34

    文章

    1635

    瀏覽量

    56537
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    單片機(jī)常用的通信協(xié)議有哪些

    單片機(jī)的應(yīng)用中,通信協(xié)議是其中必不可少的一部分,上位機(jī)與下位機(jī)單片機(jī)單片機(jī)
    發(fā)表于 11-18 06:57

    單片機(jī)串口通信協(xié)議的實(shí)現(xiàn)實(shí)例分享

    單片機(jī)串口通信協(xié)議的實(shí)現(xiàn)JiaLiang_825 2017-12-13 13:27:02 3998 收藏 16分類專欄: 單片機(jī) 文章標(biāo)簽: 串口通信 人機(jī)交互
    發(fā)表于 01-20 07:35

    IIC通信協(xié)議的相關(guān)資料推薦

    IIC通信協(xié)議詳解IIC的概述IIC分為軟件IIC和硬件IICIIC
    發(fā)表于 01-20 07:06

    PC與單片機(jī)串口通信協(xié)議

    PC與單片機(jī)串口通信協(xié)議
    發(fā)表于 12-26 22:12 ?0次下載

    單片機(jī)C語言之串口通信協(xié)議

    本文首先介紹了串口的基本結(jié)構(gòu),其次介紹了串口通信方式,最后詳細(xì)介紹了單片機(jī)C語言之串口通信協(xié)議
    發(fā)表于 05-22 12:37 ?5165次閱讀
    <b class='flag-5'>單片機(jī)</b>C語言之串口<b class='flag-5'>通信協(xié)議</b>

    淺析六種常用的單片機(jī)通信協(xié)議

    單片機(jī)的應(yīng)用中,通信協(xié)議是必不可少的一部分,上位機(jī)與下位機(jī)單片機(jī)單片機(jī)
    發(fā)表于 11-08 16:36 ?1.7w次閱讀

    單片機(jī)通信協(xié)議的應(yīng)用情況

    單片機(jī)的片上資源有多種通信方式,常用的如IIC、SPI、UART/USART、CAN,甚至高端一點(diǎn)的還具有以太網(wǎng)和USB通信。這么多的通信
    的頭像 發(fā)表于 11-09 04:29 ?4432次閱讀
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>通信協(xié)議</b>的應(yīng)用情況

    單片機(jī)通信協(xié)議有哪一些常用的

    單片機(jī)的應(yīng)用中,通信協(xié)議是必不可少的一部分,上位機(jī)與下位機(jī)單片機(jī)單片機(jī)
    發(fā)表于 12-10 16:53 ?4224次閱讀

    單片機(jī)常用的幾種通信協(xié)議

    單片機(jī)的應(yīng)用中,通信協(xié)議是其中必不可少的一部分,上位機(jī)與下位機(jī)單片機(jī)單片機(jī)
    發(fā)表于 11-11 10:06 ?19次下載
    <b class='flag-5'>單片機(jī)</b>常用的幾種<b class='flag-5'>通信協(xié)議</b>

    單片機(jī):Modbus 通信協(xié)議介紹

    實(shí)用串口通信程序的時(shí)候,我們通過串口發(fā)給單片機(jī)三條指令,讓單片機(jī)做了三件不同的事情,分別是“buzz on”、“buzz off”和“showstr”。隨著系統(tǒng)復(fù)雜性的增加,我們希望可以實(shí)現(xiàn)更多的指令。而指令越來越多,帶來的后果
    發(fā)表于 11-13 20:51 ?11次下載
    <b class='flag-5'>單片機(jī)</b>:Modbus <b class='flag-5'>通信協(xié)議</b>介紹

    51單片機(jī)IIC通信協(xié)議

    * @author Byron ([email protected]) * @version V1.0.0 * @date 05/12/2020 * @brief 51系列單片機(jī)I2C通信協(xié)議頭文件 * --------------------------
    發(fā)表于 11-20 20:06 ?5次下載
    51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>IIC</b><b class='flag-5'>通信協(xié)議</b>

    單片機(jī)常用的幾種通信協(xié)議

    單片機(jī)的應(yīng)用中,通信協(xié)議是其中必不可少的一部分,上位機(jī)與下位機(jī)單片機(jī)單片機(jī)
    發(fā)表于 11-23 17:21 ?16次下載
    <b class='flag-5'>單片機(jī)</b>常用的幾種<b class='flag-5'>通信協(xié)議</b>

    制定通信協(xié)議,實(shí)現(xiàn)單片機(jī)與PC機(jī)通信

    單片機(jī)與PC機(jī)串口通信編程實(shí)驗(yàn)?zāi)康睦肞ROTUES仿真軟件、串口調(diào)試助手、虛擬串口,搭建單片機(jī)與PC通信仿真平臺(tái),熟悉
    發(fā)表于 12-17 18:30 ?22次下載
    制定<b class='flag-5'>通信協(xié)議</b>,實(shí)現(xiàn)<b class='flag-5'>單片機(jī)</b>與PC<b class='flag-5'>機(jī)</b><b class='flag-5'>通信</b>

    如何利用MODBUS通信協(xié)議實(shí)現(xiàn)觸摸屏與單片機(jī)通信和控制

    講解如何利用MODBUS通信協(xié)議,實(shí)現(xiàn)觸摸屏與單片機(jī)通信和控審I。詳細(xì)介紹了觸摸屏與單片機(jī)的硬件連接、軟件 設(shè)置及編輯、MODBUS通信協(xié)議
    發(fā)表于 08-02 09:50 ?19次下載

    詳解物聯(lián)網(wǎng)常用協(xié)議IIC和RS485通信協(xié)議

    單片機(jī)開發(fā)中我們經(jīng)常會(huì)聽到協(xié)議二字,協(xié)議單片機(jī)相互通信中必須遵守的規(guī)則,只有遵守協(xié)議才能實(shí)現(xiàn)
    的頭像 發(fā)表于 03-02 17:12 ?1800次閱讀
    <b class='flag-5'>詳解</b>物聯(lián)網(wǎng)常用<b class='flag-5'>協(xié)議</b>:<b class='flag-5'>IIC</b>和RS485<b class='flag-5'>通信協(xié)議</b>