У Ридико описано все, кроме модуляции. Отсюда и недопонимание.
Вот описание протокола RC5
http://infrared.h1.ru/protocol.shtmlИ вот описание
http://fi-com.ru/mcu/rc5.htmОбщая идея такая, поскольку инфракрасный светодиод пульта выдает пачки посылок. В каждой пачке 32 периода тактовой 36КГц, затем пауза длиной в 32 периода, потом опять пачка, затем пауза. Вот когда идет пачка импульсов это у Ридико на рис.3 верхний уровень сигнала, а когда пауза, это нижний уровень. И лог."1" на осциллографе будет выглядеть как пауза длиной в 32 такта, а затем 32 импульса.
Для построения ответной части или "базы", алгоритм такой. Сначала приемник просто ловит перепады уровня. Если перепадов больше 8 подряд, и расстояние укладывается в 36кГц (при помощи таймера измерять расстояние между перепадами, для 36кГц оно будет 27мкс а для измерений использовать вилку от 24 до 32мкс.)
Если прошло на входе подряд 8 перепадов и расстояние между ними от 24..32мкс, то база делает вывод что пришла пачка от пульта ДУ.
Ждем окончания пачки, попутно считаем число перепадов, если их от 29 до 33 значит это пачка от пульта ДУ "верхний" уровень. Если пачка не прошла, отбрасываем ее и опять ждем валидную пачку. Дождались нормально пачки, записываем в память 1, затем ждем окончание паузы. Если пауза укладывается в размер протокола, примерно 900мкс, записываем в память 0 и продолжаем принимать, до тех пор, пока не попадется либо сбойная пачка, либо очень длинная пауза.
Если сбойная пачка, все сбрасываем и ждем по новой. Если длинная пауза, делаем вывод, что принята посылка от пульта, начинаем ее анализ.
В памяти записана последовательность 10011010100101 где нули это нижний уровень, а единицы верхний уровень по рисунку 3 Ридико. По этому же рисунку переход 01 это лог.1,
а переход 10, это лог 0, и тогда последовательность означает "0"1"0"0"0"1"1" это уже биты посылки, которые означают адрес, код команды.