新聞中心

        EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 模擬I2C總線多主節(jié)點(diǎn)通信原理簡介

        模擬I2C總線多主節(jié)點(diǎn)通信原理簡介

        作者: 時(shí)間:2012-09-02 來源:網(wǎng)絡(luò) 收藏

        MOV B,#37H

        本文引用地址:http://www.104case.com/article/154009.htm

          WWAIT1: JB SCL,WWAIT1;等待SCL為低

          JC WR1;判斷是發(fā)送“1”還是發(fā)送“0”

          SETB SDA;發(fā)送“1”

          AJMP COM

          WR1:  CLR SDA;發(fā)送“0”

          COM:  DJNZ R0,WWAIT2;判斷是否發(fā)送完畢

          WWAIT3: JNB SCL,WWAIT3;發(fā)送完畢等待應(yīng)答信號(hào)

          WWAIT4: JB SCL,WWAIT4

          WWAIT5: JNB SCL,WWAIT5

          CLR ACK

          JB  SDA,ST0

          SETB ACK

          ST0:  RET;返回

          WWAIT2: JNB SCL,WWAIT2;等待SCL為高

          SJMP WAGAIN

          從的讀字節(jié)同時(shí)判斷是否有起始信號(hào)的子程序。如果有起始信號(hào),則轉(zhuǎn)為寫字節(jié)子程序:

          SRDBYTE:MOV R0,#08H

          SETB 20H;設(shè)置標(biāo)志位判斷是讀還是寫

          SETB SDA;釋放

          RWAITJ: JNB SCL,RWAITJ;等待SCL為高

          MOV C,SDA;從上讀取數(shù)據(jù)

          RRC A;存入累計(jì)器

          DEC R0

          MOV C,ACC.7;判斷是否為起始信號(hào)

          JNC RWAITJ1;為低繼續(xù)讀取數(shù)據(jù)

          REWAIT: JNB SCL,RWAITJ1;開始判斷是否為起始信號(hào)

          JB  SDA,REWAIT

          CLR 20H;是,則清標(biāo)志位并返回

          AJMP SjRDOUT

          RWAITJ1:JB SCL,RWAITJ1;等待SCL為低

          RWAITJ3:JNB SCL,RWAITJ3;等待SCL為高

          MOV C,SDA

          RRC A

          DJNZ R0,RWAITJ2

          SjRDOUT:RET

          RWAITJ2:JB SCL,RWAITJ2;等待SCL為低繼續(xù)讀數(shù)據(jù)

          SJMP RWAITJ3

          5 總結(jié)

          根據(jù)協(xié)議中的仲裁,提出的基于延時(shí)比較的多主的方法,不僅能夠體現(xiàn)了總線的高效性,而且還具有良好的擴(kuò)展性。它使普通不具有接口的MCU可以應(yīng)用在多主的系統(tǒng)中,既增加了普通MCU的使用范圍,又突破了I2C總線的應(yīng)用局限性,為I2C總線的推廣起到了積極的作用


        上一頁 1 2 3 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 海城市| 库尔勒市| 哈密市| 新巴尔虎左旗| 登封市| 枣强县| 德安县| 陕西省| 大庆市| 韶山市| 安阳县| 宾阳县| 宁远县| 城口县| 确山县| 岑溪市| 嘉禾县| 仙居县| 沽源县| 柞水县| 洪湖市| 河间市| 芦山县| 岳西县| 乌什县| 砀山县| 塔城市| 将乐县| 余庆县| 隆尧县| 淄博市| 镇巴县| 稷山县| 永顺县| 旬邑县| 固安县| 长阳| 报价| 怀远县| 孙吴县| 峡江县|