INSiraJMENTS


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


 


BIC.B #DNC, DIR ; проверка освобождения шины

50 микросе-
дополнительное освобождение линии с целью использования этой же подпрограммы для команды повторяю­щегося старта ; отправка стартовой последовательности BIS.В #SDA, DIR BIS.В #SCL, DIR ; отправка адреса MOV.В #07h, R13
MOV
wait

#05h, R1C

rsbit

MOV.В IN, Rll

 

AND #DNC, Rll
CMP #DNC, Rll
JNZ busy  
DEC RIO  
JNZ wait  
BIC.B #DNC, DIP
MOV. В RLA.B
ashift

R7, Rll Rll

MOV.В Rll, R12

без потери данных

 

  AND. В #080h, R12
  CMP. В #00h, R12
  JNZ one
  CALL tsendzero
  JMP zero
one CALL #sendone
zero DEC R13
  JNZ ashift

счетчик на кунд

копировать состояние

входов в R11

маска входов

если линии SDA или SCL

в лог. «0»то шина

занята

декремент счётчика

счётчик на 7 бит адреса

копировать адрес в R11 сдвиг влево, при этом СЗР 7-битного адреса будет находиться на 7-й позиции скопировать его для возможности маскирова­ния

маскировать все биты кроме СЗР сравнить с С

отправить «1»

отправить «0» декремент счётчика если счётчик <7 бит,