INSiraJMENTS


///. Интерфейс с внешними устройствами


адрес правильный, продолжаем


; чтение бита R/W (чтение/запись)

rwait2

MOV.В IN, Rll ; ждём лог. «О» на SCL

DEC R9

JZ done

AND.В #SCL, Rll ; маскировать все биты,

; кроме SCL

JNZ rwait2

rwait

MOV.В IN, Rll ; ждём лог. «1» на SCL

DEC R9

JZ done

маскировать все биты, кроме SCL

AND.В #SCL, Rll

JZ rwait

MOV.В IN, Rll

AND.В #SDA, Rll JNZ done

копировать данные из порта

маскировать все биты, кроме SDA

О если запись, пере­ход, если 1 (чтение) ******************************************************

; Отправить бит подтверждения (АСК) ******************************************************


rwait3

rwait4

rwait5


MOV.В IN, Rll ; ждём лог. «О» на SCL

DEC R9

JZ done

AND.В #SCL, Rll ; маскировать все биты,

; кроме SCL JNZ rwait3 BIS.В #SDA, DIR ; перевести линию SDA

; в лог. «О»

MOV.В IN, Rll ; ждём лог. «1» на SCL DEC R9 JZ done AND.В #SCL, Rll ; маскировать все биты,

ждём лог. «О» на SCL маскировать все биты, кроме SCL
JNZ

; кроме SCL JZ rwait4 DEC R9 JZ done MOV.В IN, Rll AND.В #SCL, Rll

rwait5