Дисплей Nokia 3410 (3310)

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
Pavel V.
Мявтор!
Сообщения: 384
Зарегистрирован: Ср май 17, 2006 18:39:01
Откуда: Москва
Контактная информация:

Дисплей Nokia 3410 (3310)

Сообщение Pavel V. »

Доброго времени суток!

Наверняка многие пробовали подключать один из этих симпатичных дисплейчиков к МК. Вот и я не исключение - купил дисплеи (один 3310, другой 3410), спаял схемку на ATMEGA8, нарыл две библиотеки для работы с 3310, и после некоторых танцев с бубном оно даже что-то стало показывать. Но, несмотря на все мои усилия, не совсем то что хотелось бы..

Алгоритм их работы более-менее понятен, но при казалось бы логичных телодвижениях что-нибудь да не так. То какая-то часть изображения не отобразится, то сдвинется куда-то - в общем чудеса..

А при попытке подключить экран 3410 (у него разрешение больше - 96х65, у 3310 - 84х48), переменныя с кэшем данных для отправки в дисплей вылезает за пределы RAM :( Неужели придется внешнюю память довешивать? Или какие-то еще приемы существуют?

Не завалялось ли ни у кого каких-нибудь наработок в данном направлении? Очень хотелось бы изучить! А то я замучился уже..

К сообщению прикладываю свои файлики.
Вложения
main.c
(4.04 КБ) 2425 скачиваний
NokiaLCD.c
(17.34 КБ) 2679 скачиваний
NokiaLCD.h
(2.76 КБ) 3303 скачивания
Аватара пользователя
Spider
Опытный кот
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск
Контактная информация:

Сообщение Spider »

Я так понял ты взял библиотеки с МикроСилк. У этого человека старнное понятие о работе с дисплеем, он хранит картинку в памяти МК и её целиком выводит. Если немного переработать его код на прямую работу с дисплеем, то всё нормально.

ЗЫ. Мог бы ты кинуть схему включения дисплея так "как оно работает у тебя", ибо пытался я заставить работать 3310, не получилось.
Аватара пользователя
Pavel V.
Мявтор!
Сообщения: 384
Зарегистрирован: Ср май 17, 2006 18:39:01
Откуда: Москва
Контактная информация:

Сообщение Pavel V. »

Сейчас пробую напрямую. Вот так:

Код: Выделить всё

void LcdDrawBitmap( void )   
{
   unsigned short i;
          LcdSend(0x80, LCD_CMD);
          LcdSend(0x40, LCD_CMD);               
   for (i=0; i<504; i++)
   LcdSend( glcdNokia[i], LCD_DATA);
}


glcdNokia[i] - массив с картинкой.

А получаю на экране то, что приложил к сообщению (IMG1443)..
Должно быть так: nokia02.jpg

Схема подключения как на микросилке, тоже прицепил к сообщению.
Контроллер и дисплей питаю +3 В, шью 5-вольтовым программатором, ничего не отключая. Все живо-здорово.
Вложения
nokia02.jpg
(20.03 КБ) 5210 скачиваний
IMG_1443_sm.jpg
(32.75 КБ) 4423 скачивания
shematic.gif
(7.27 КБ) 4876 скачиваний
Аватара пользователя
Pavel V.
Мявтор!
Сообщения: 384
Зарегистрирован: Ср май 17, 2006 18:39:01
Откуда: Москва
Контактная информация:

Сообщение Pavel V. »

Ура!! Я его победил! После того как попробовал данные отправлять кусками (постранично). Вот мой код:

Код: Выделить всё

void LcdDrawBitmap( void /* unsigned char* bitmap */)   
{
        int col, page, i = 0;       
   byte myPageAddr;
   for(page = 0; page < 6; page++)
   {
      myPageAddr = (page | 0x40);
      LcdSend( myPageAddr, LCD_CMD );
      LcdSend( 0x80, LCD_CMD );
      for (col = 0; col < LCD_X_RES; col++)
         LcdSend( glcdNokia[page * LCD_X_RES + col], LCD_DATA);
   }
}


Круто :)

Если интересно, то могу выложить готовый код когда приведу в порядок (сейчас там творческий хаос :) )
Вложения
IMG_1444_sm.jpg
(26.49 КБ) 4463 скачивания
Аватара пользователя
Spider
Опытный кот
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск
Контактная информация:

Сообщение Spider »

От чего же у меня не работает? :(
ВРОДЕ всё уже проверил что касается подключения....
Аватара пользователя
Pavel V.
Мявтор!
Сообщения: 384
Зарегистрирован: Ср май 17, 2006 18:39:01
Откуда: Москва
Контактная информация:

Сообщение Pavel V. »

Видимо, дисплей битый :(

Кстати, я понял почему в оригинальной библиотеке данные хранятся в оперативке, а потом идут в дисплей. Это для того, чтобы рисовать точки и линии, ведь данные отправляются в контроллер экрана не попиксельно, а в виде массива 1х8, и если требуется нарисовать/стереть заданный пиксел, надо знать что там было до этого..

Но я думаю, можно и блоками рисовать. Хочу еще написать функцию для вывода картинки произвольного размера в необходимую часть экрана..

Прицепил свой код к сообщению, может кому пригодится.

(Кстати, проверено и на 3410 - работает. Достаточно поменять значения LCD_X_RES и LCD_Y_RES)

3310 - 84 и 6
3410 - 96 и 8
Вложения
nokia_lcd.c
(3.94 КБ) 2467 скачиваний
nokia_lcd.h
(10.42 КБ) 2630 скачиваний
Аватара пользователя
Spider
Опытный кот
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск
Контактная информация:

Сообщение Spider »

Ну всё. выручайте. Всё собрал и не работает. Прикладываю скрины асцилогрофа чтобы не возникало вопросов. Скрины конечно абстрактные, но видно, что на шинах сигналы есть. Что касается правильности подключения - да уже проверил на 9E99 раз. Софт с mycrosylc.com (или как там его)
Вложения
SCK.jpg
SPI.SCK
(32.98 КБ) 2468 скачиваний
MOSI.jpg
SPI.MOSI
(28.58 КБ) 2321 скачивание
SS.jpg
ChipSelect
(27.47 КБ) 2194 скачивания
RES.jpg
Reset
(18.25 КБ) 2521 скачивание
DC.jpg
D/C
(27.82 КБ) 3443 скачивания
Pavel V

Сообщение Pavel V »

Проверь контакт между шлейфом и дисплеем. У меня тоже сначала не работал, пока я его не разобрал и не почистил.
Гость

Сообщение Гость »

В смысле между стеклышком и контактной площадкой? Грубо говоря поджать?

ЗЫ. А куда делись аттачи? :)
Аватара пользователя
Spider
Опытный кот
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск
Контактная информация:

Сообщение Spider »

Всё понял с аттачами - сам дурак.
Аватара пользователя
Pavel V.
Мявтор!
Сообщения: 384
Зарегистрирован: Ср май 17, 2006 18:39:01
Откуда: Москва
Контактная информация:

Сообщение Pavel V. »

Да, да. Между стеклом и контактами. Можешь попробовать резинку от калькулятора/часов..
Аватара пользователя
Spider
Опытный кот
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск
Контактная информация:

Сообщение Spider »

Уууу у меня много (достаточно) дисплеев с резинками, ваще ненавижу их. Гемор их подключать если честно :)
Гость

Сообщение Гость »

Чёрт. Что-же оно не помогает....
Аватара пользователя
Spider
Опытный кот
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск
Контактная информация:

Сообщение Spider »

Anonymous писал(а):Чёрт. Что-же оно не помогает....

Урааа! Работает. Что было не знаю, просто работает :)
Аватара пользователя
Voodoo-Cat
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб мар 03, 2007 21:08:15
Откуда: Киев. Украина.

3310

Сообщение Voodoo-Cat »

Помогите прикрутить к 3213 дислей от 3310! :o
Библиотеки первого поста не пашут, ошибки в асемблерном коде.
Аватара пользователя
Tohey
Грызет канифоль
Сообщения: 257
Зарегистрирован: Сб сен 09, 2006 19:00:18
Откуда: СССР

Сообщение Tohey »

А кто подскажет для чего нога SCE? По даташиту не разобрался, но понял одно, что если она в "1" то в память ни чего не записуется. Когда именно её следует "дёргать"? И ещё вопрос, можно ли обнулять счетчики адреса X, Y - НЕ программным путем, не изменяя содержимого LCD-RAM?

P.S. Сегодня наконец то подключил LCD-3410 - понравилось :))
Аватара пользователя
Tohey
Грызет канифоль
Сообщения: 257
Зарегистрирован: Сб сен 09, 2006 19:00:18
Откуда: СССР

Сообщение Tohey »

Ок. А кто скажет есть кака то софтина для преобразования файла типа Ч\Б *.bmp > в массив, для LCD NOKIA?
Аватара пользователя
Tohey
Грызет канифоль
Сообщения: 257
Зарегистрирован: Сб сен 09, 2006 19:00:18
Откуда: СССР

Сообщение Tohey »

Тогда придется писать :cry:
Аватара пользователя
Vadim
Команданте
Сообщения: 402
Зарегистрирован: Вс апр 09, 2006 19:05:18
Откуда: Vorkuta
Контактная информация:

Сообщение Vadim »

Tohey, не спешите, посмотрите во здесь: http://www.institute-rt.ru/common/archive.shtml Обратите внимание на четвёртую новость сверху (от 8 августа), "Предлагаем новую конструкцию MP3-плеера на базе микросхемы ...." Плеер с экраном от 3310, и одна из его особенностей- наличие фоновых картинок. Ссылка на программу-конвертер,- прямо под новостью. Может и подойдёт Вам. А ежели, чего подправить в проге захотите, там же и е-мыл автора приведён.
ЗЫ. Оригинально, между Вашими постами- ровно сутки. Невелико у Вас терпение :)))
Молодой человек познакомится для серьёзных отношений с pin to pin аналогом Венеры Милосской.
Аватара пользователя
Tohey
Грызет канифоль
Сообщения: 257
Зарегистрирован: Сб сен 09, 2006 19:00:18
Откуда: СССР

Сообщение Tohey »

Vadim спасибо! То что надо!
Терпения очень мало, сразу после работы на РадиоКот ))
Ответить

Вернуться в «Периферия»