Application note от Atmel. "Manchester Coding Basics".
Atmel-9164-Manchester-Coding-Basics_Application-Note.pdfПрограмма для AVR на С, поэтому легка для переноса. Используется ногодрыг.
Там два варианта.
Первый - универсальный. Используется таймер, выдающий прерывания через равные промежутки времени и соответственно чтение данных с пина порта (или запись) и соответствующая обработка.
И второй вариант: использование прерывания от порта при изменении состояния пина и таймер для измерения интервалов между событиями.