結(jié)合單片機(jī)用匯編實(shí)現(xiàn)I2CBUS總線協(xié)議
(2)讀數(shù)據(jù)程序:
讀字節(jié)可以在當(dāng)前地址讀(CURRENT READ),可以隨機(jī)讀(RANDOM READ),讀出數(shù)據(jù)的最后一個(gè)字節(jié)后不用加應(yīng)答信號(hào)。
READ:PUSH 0EH
CLR P1.4
LCALL BSTART;START
MOV A,#0A0H;SEND
THE CONTROL BYTE
LCALL SENDBYTE
LCALL ACK
MOV A,R1;SEND THE ADDRESS
LCALL SENDBYTE
LCALL ACK
LCALL BSTART;START
MOV A,#0A1H;SEND THE CONTROL BYTE
LCALL SENDBYTE
LCALL ACK
LCALL READBYTE
LCALL BSTOP
POP 0EH
RET
送字節(jié)子程序:
SENDBYTE:PUSH 0EH
PUSH 00H
MOV R0,#08H
LOOP1:CLR P1.3
NOP
NOP
RLC A
MOV P1.2,C
CPL P1.3; P1.3=1
NOP
NOP
DJNZ R0,LOOP1
POP 00H
POP 0EH
RET
讀字節(jié)子程序:
READBYTE:PUSH 0EH
PUSH 00H
MOV R0,#08H;
READ THE CONTENT
評(píng)論