///. Интерфейс с внешними устройствами
rwait7
rwaitS
done
BIS.В | #SDA, DIR |
MOV. В | IN, Rll |
DEC | R9 |
JZ | done |
AND. В | #SCL, Rll |
JZ | rwait7 |
MOV. В | IN, Rll |
DEC | R9 |
JZ | done |
AND. В | #SCL, Rll |
JNZ | rwaitS |
BIC.B | #SDA, DIR |
;POP R14
; перевести линию SDA
; в лог. «О»
; ждём лог. «1» на SCL
; маскировать все биты, ; кроме SCL
; ждём лог. «О» на SCL
маскировать все биты, кроме SCL
«отпустить» линию SDA
если известно, что стартовая посылка длительная, можно добавить эти строки
RETI
;РОР | R13 | |
;РОР | R12 | |
;РОР | R11 | |
MOV | #0FFh, | R9 |
г************?
г*******?
г**********
; переменные
. -к-к-к-к-к-к-к-к-к-к-к-к-к-к-к-к-!
г*********?
г***************
address | equ | 0248h | ; | адрес | устройства | ||||||||
data | equ | 0242h | г | отправляемые данные | |||||||||
datin | equ | 0244h | ; | принимаемые | данные | ||||||||
error | equ | 0246h | г | флаг | ошибки | ||||||||
Приложение | Е. Содержимое файла ASCII.txt | ||||||||||||
@В50С | |||||||||||||
00 ОС | ОС | ОС | ос | ОС | ОС | 00 ОС | ОС | ОС | ОС | ОС | ОС | ОС | ОС |
00 ОС | ОС | ОС | ос | ОС | ОС | 00 ОС | ОС | ОС | ОС | ОС | ОС | ОС | ОС |
00 ОС | ОС | ОС | ОС | ОС | ОС | 00 ОС | ОС | ОС | ОС | ОС | ОС | ОС | ОС |
В7 12 | 8F | IF | ЗА | 3D | BD | 13 BF | 3F | ОС | ОС | ОС | ОС | ОС | ОС |
00 ВВ | ВС | А5 | 9Е | AD | А9 | 3F BA | ОС | А4 | ВЗ | 9С | |||
АВ ОС | 3D | АС | ОС | 00 00 | ЗЕ | 8F | ОС | ОС | ОС | ОС | |||
00 ВВ | ВС | А5 | 9Е | AD | А9 | 3F BA | ОС | А4 | ВЗ | 9С | |||
АВ ОС q ОАГ | 88 1 | 3D | АС | ОС | 00 00 | ЗЕ | 8F | ОС | Ri | лйпмптркяК |
Ь ///- Интерфейс с внешними устройствами
IrDA SIR кодер-декодер на MSP430C112
Juergen Mayer [slaaO44.pdf (Англ.)]
В данном примере применения описывается использование микроконтроллера MSP430x112 в качестве IrDA SIR кодер-декодера. Аппаратная часть обсуждается на уровне блок-схемы и принципиальной схемы IrDA модуля. Также обсуждаются вопросы программирования и проблемы пользовательского интерфейса. В приложении А приведена прикладная программа IrDA кодера-декодера.