NOKIA 3310 ЖКИ и ИК пульт с RC5
Проект симбиоза библиотеки для работы с ЖКИ от NOKIA 3310 и декодера сигналов протокола RC5.
Программа принимает сигналы от инфракрасного пульта работающего по протоколу RC5, пульт подходит от бытовой техники. Мой пульт от спутникового ТВ тюнера Sky Star II.
Для нормальной работы необходимо иметь в наличии приемник ИК лучей из серии TSOP1736. Для конкретного пульта лучше конечно подобрать свой приемник со своей несущей частотой.
Принципе работы программы:
При нажатии кнопок на пульте 5,9,0,7 на экране ЖКИ от NOKIA 3310 ,будет отрисовываться пиксель(точка).
Нажатие на кнопку 8 будет очищать экран дисплея.
Текст главного файла программы находится ниже:
/* Дисплей - МК 1-+ 2-pb5 3-pb3 4-pb1 5-pb2 6-- 7-конденсатор 8-pb4 */ // В настройках проекта обязательно правильно укажите свою тактовую частоту #include <avr/io.h> #include <util/delay.h> #include <avr/pgmspace.h> #include<avr/interrupt.h> #include "n3310.h" #include "picture.h" #include "rc5_german.h" #include "rc5_german_c.c" void pixel (void); void pause_ (unsigned int a); int a; int l; void pixel (void) { LcdPixel(a,l,PIXEL_ON); LcdUpdate(); } int main() { uint i; TCCR0 = 1<<CS02; //Деление тактовой частоты на 256 TIMSK = 1<<TOIE0; //Разрешаем прерывание по таймеру sei(); //Разрешаем глобально прерывания LcdInit(); LcdClear(); LcdImage(Picture); LcdUpdate(); _delay_ms(1000); LcdClear(); LcdPixel(a,l,PIXEL_ON); LcdUpdate(); _delay_ms(1000); LcdClear(); sei(); //Начальные координаты a=47; l=25; for(;;) //Главный цикл { cli(); //запрет прерывания i = rc5_data; //Читаем два байта из прерывания rc5_data = 0; sei();//разрешаем прерывания if( i ) { int n = ((i & 0x3F)|(~i >> 7 & 0x40)); //Выделяем только код команды switch (n) //Проверяем что выполнять в зависимости от команды { case 5: l=l-1; pixel (); break; case 9: a=a+1; pixel (); break; case 7: a=a-1; pixel (); break; case 0: l=l+1; pixel (); break; case 8: LcdClear(); LcdUpdate(); break; } } } }
При включении устройства на экране на секунду включается картинка приветствия после чего программа готова к работе.