Ькзпшмичта ///- Интерфейс с внешними устройствами
; ошибки
MOV.B #055h, address ; адрес = 55h
MOV.В #09h, data ; данные = 09h
EINT ; общее разреше-
; ние прерьшаний
******************************************************
; Начало пользовательской программы
******************************************************
repeat
JMP repeat ; ожидание прерывания
Завершение пользовательской программы *****************************************************
*****************************************************
приём байта (здесь обрабатывается прерывание) *****************************************************
rbp
;PUSH Rll ; если известно, что ; стартовая посылка ; длительная, можно ; добавить эти строки ;PUSH R12 ;PUSH R13 ;PUSH R14 BIC.B #SDA, POIFG ; очистить флаг
; прерывания ******************************************************
; проверка стартовой последовательности ******************************************************
wait2 MOV.B IN, Rll ; копировать состояние
; входов в Rll
wait3
DEC | R9 |
JZ | done |
AND | #DNC, Rll |
CMP | #SCL, Rll |
JNZ | wait2 |
MOV.B | IN, Rll |
DEC | R9 |
JZ | done |
маскировать все биты, кроме входов убедиться, что на линии SDA лог. «О» а на SCL лог. «1» если нет - ожидаем
копировать состояние входов в Rll