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

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

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

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

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

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

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

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

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

Сообщение Spider »

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

ЗЫ. Мог бы ты кинуть схему включения дисплея так "как оно работает у тебя", ибо пытался я заставить работать 3310, не получилось.
Контактная информация:
Реклама
Мявтор!
Аватара пользователя
Сообщения: 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 - массив с картинкой.

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

Схема подключения как на микросилке, тоже прицепил к сообщению.
Контроллер и дисплей питаю +3 В, шью 5-вольтовым программатором, ничего не отключая. Все живо-здорово.
Вложения
nokia02.jpg
(20.03 КБ) 5216 скачиваний
IMG_1443_sm.jpg
(32.75 КБ) 4434 скачивания
shematic.gif
(7.27 КБ) 4886 скачиваний
Контактная информация:
Мявтор!
Аватара пользователя
Сообщения: 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 КБ) 4468 скачиваний
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Опытный кот
Аватара пользователя
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск

Сообщение Spider »

От чего же у меня не работает? :(
ВРОДЕ всё уже проверил что касается подключения....
Контактная информация:
Реклама
Мявтор!
Аватара пользователя
Сообщения: 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 КБ) 2472 скачивания
nokia_lcd.h
(10.42 КБ) 2635 скачиваний
Контактная информация:
Реклама
Опытный кот
Аватара пользователя
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск

Сообщение Spider »

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

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

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

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

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

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

Сообщение Spider »

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

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

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

Сообщение Spider »

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

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

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

Сообщение Spider »

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

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

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

Сообщение Tohey »

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

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

Сообщение Tohey »

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

Сообщение Tohey »

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

Сообщение Vadim »

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

Сообщение Tohey »

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

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