新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 結(jié)合單片機(jī)用匯編實(shí)現(xiàn)I2CBUS總線協(xié)議

結(jié)合單片機(jī)用匯編實(shí)現(xiàn)I2CBUS總線協(xié)議

作者: 時(shí)間:2013-02-16 來(lái)源:網(wǎng)絡(luò) 收藏

  CLR A

  LOOP4:CLR P1.3

  NOP

  NOP

  NOP

  SETB P1.3;P1.3=1

  MOV C,P1.2

  RLC A

  DJNZ R0,LOOP4

  MOV R2,A

  POP 00H

  POP 0EH

  RET

 ?。?)寫(xiě)數(shù)據(jù)程序:

  WRITE:PUSH 0EH

  CLR P1.4

  LCALL BSTART

  MOV A,#0A0H

  LCALL SENDBYTE;

  SEND CONTROL BYTE

  LCALL ACK

  MOV A,R1;SEND THE ADDRESS

  LCALL SENDBYTE

  CLALL ACK

  MOV A,R2;WERITE THE CONTENT

  LCALL SENDBYTE

  LCALL ACK

  LCALL BSTOP

  POP 0EH

  RET

  連續(xù)寫(xiě)的兩個(gè)字節(jié)之間最好是要有10ms的延時(shí)。當(dāng)然,也可以進(jìn)行頁(yè)寫(xiě)(PAGE WTITE),一次性連續(xù)寫(xiě)8個(gè)字節(jié),每個(gè)字節(jié)后要一個(gè)應(yīng)答信號(hào)。

 ?。?)停止位程序:

  BSTOP:CL的P1.3

  NOP

  NOP

  CLR P1.2

  NOP

  NOP

  NOP

  SETB P1.3

  NOP

  NOP

  NOP

  SETB P1.2

  RET


上一頁(yè) 1 2 3 4 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉