При попытках найти IR-приёмник для AVR гугл, в основном, посылал либо на... примеры, писанные ассемблеорм, либо на C примеры, но для RC5-пультов.
Лично у меня ни RC5 пультов не оказалось, ни знания (хотения/умения) работать с ассемблером. Обостряло ситуацию и то, что работаю с микроконтроллёрами я исключительно в CodeVision AVR. Как следствие, во всём мире не нашлось ни единого человека, коий бы написал реализацию ИК-приёмника под самую популярную в мире (не перегнул ведь?) аппаратную платформу на CodeVision.
В сети наткнулся на замечательный сайт - GetChip.net, автор которого, в частности, написал универсальный преобразователь IR-сигналов в UART. Смысл устройста прост как 5 копеек: принимаем сигнал с абсолютно любого ИК-пульта, работающего на частоте, улавливаемой TSOP-приёмником и выдаём прочитанный из посылки код в UART. Аппаратная реализация была выполнена на, пожалуй, самом дешёвом AVR контроллёре ATTiny13. А в нём, как известно пытливому читателю, нет аппаратной реализации USART и, как следствие, его тоже предстояло реализовать програмно. Возможности микросхемы, должен заметить, крайне скудны. Так, ATTiny13 содержит 1Кб памяти под прошивку и по 64Байта оперативной памяти и EEPROM'а. Таким образом, проект весьма удачно использовал грошовую микросхему, но... прошивка была выполнена на Algorith Builder'е. Вещица, как и Assembler - на любителя, к коим я точно не отношусь.
Принял решение портировать прошивку под хорошо знакомый и любимый CVAVR. Должен заметить, пришлось не сладко, однако, удача улыбнулась мне.
Итак, прошивка Универсального ИК-приёмника, "читающего" любые пульты основана на работах 3-х людей:
1. Программный UART был написан товарищем AndryG. (универсальная библиотека под CVAVR и IAR, поэтому так много "лишних" файлов...)
2. Собственно, проект с GetChip.net.
3. Моей работы по портированию (и отладке) из AB в CVAVR.
В итоге, мы имеем первый в мире (?) пример работы с абсолютно любыми ИК-пультами на AVR под CodeVision.
Скачать можно непосредственно с форума (нужна регистрация) или с файлообменника.