Страница 9 из 12

Re: LCD nokia 3310

Добавлено: Ср дек 08, 2010 17:13:43
Elessar
Потыкал я этот CS. Никак не работает, ни подключив к МК, ни посадив на землю. Распсиховался короче я и бросил...
Зато купил вот такие забавные штучки: тык и туц

Re: LCD nokia 3310

Добавлено: Ср дек 08, 2010 19:27:09
bend
не ну сам дисплей 3310 хороший, есть даташит, впринципе работает нормально, я сделал подсветку как на родной 3310 и светодиоды оттуда использовал, поставил их в ряд внизу и получил ровную подсветку всего дисплея как на телефоне. Вот только остается загадкой почему CS глючит.

Re: LCD nokia 3310

Добавлено: Чт дек 09, 2010 00:10:35
Valentin44
ИМХО проблема с CS программая. Смотрел в протеусее осциллографом, что-то не то. Сильно часто дергает ЦС, при том что сигналы на других ногах идут. Можт это так и должно быть, но врядли. Факт что с ЦС не работает. Сделаюю эксперимент с линеей ЦС, попробую сам ее рулить. Т.е. перед вызовом функций управления экраном опускать уровень, а после поднимать.

Re: LCD nokia 3310

Добавлено: Чт дек 09, 2010 08:53:00
bend
дело в том что сама библиотека pcd8544.c впринципе не грамотно написана в плане отсыла байтов, когда нужно передать несколько байт подряд вызывается функция LcdSend которая перед отправкой каждого байта дергает CS отсылает байт, поднимает CS и тут же опускает для посыла следующего байта. ИМХО гамасятина где-то тут, к сожелению я уже собрал девайс и просто посадил на землю CS от дисплея ибо у меня тока одно устройство на SPI, хлтя он работал и когда SC висел на ножке порта где находится SPI, но в процессе экспериментов выяснилось что зависон происходит именно здесь: /* Send data to display controller. */
SPDR = data;

/* Wait until Tx register empty. */
while ( (SPSR & 0x80) != 0x80 ); -тут

потому что CS скорее всего рассинхронизирован. Впринципе грамотно былоб ставить CS не перед отправкой одного байта, а перед отправкой нескольких байт. Посмотри в протеусе как будет себя вести LCD если CS пересадить на другой порт (не на котором SPI) и просто вначале дернуть, погонять много байт на дисплей, потом CS поднять, немного подождать и повторить операцию.

Re: LCD nokia 3310

Добавлено: Вс янв 09, 2011 00:32:05
fiksx
Добрый вечер уважаемые КОТЫ! Вот тоже решил разобратся с экранчиком от 3310. Скачал файлы которые прикреплены к статье. http://www.radiokot.ru/articles/29/
Пробывал просимулировать в протезе, но на дисплей ничего не выводится. Писал сам прогу, пробывал подставлять уже скомпилированые hex, из статьи, но дисплей молчит. Пробывал подставлять хексы из других источников дисплей выводит данные. Но хочу чтобы заработало из данной статьи, так как здесь есть возможность подключать китайский дисплей(именно такой я купил). помогите пожалуйста :cry:

Re: LCD nokia 3310

Добавлено: Вс янв 09, 2011 23:16:44
ELcat
Всем привет! Вот тоже дошли руки до дисплейчика Nokia3310 "китайского" варианта. Пытаюсь прикрутить к Меге8-й, исходник под свою разводку переделывал от сюда http://radiokot.ru/articles/29/ , но так нифига и не получилось. Не мог бы кто поелиться рабочим исходничком под Мегу8?

Re: LCD nokia 3310

Добавлено: Вс янв 09, 2011 23:22:53
ELcat
fiksx, смотрю ты тож от туда драл? Две неудачи не мож быть совпдением, по ходу там лажа какая-то в исходниках. Я вообще-то дозиметр ваяю, всю обвязку уже запустил на готовой плате, осталось только дисп прилинковать.

Re: LCD nokia 3310

Добавлено: Вс янв 09, 2011 23:35:03
Valentin44
CS надо вешать на землю., вместо кинроллера.

после команды LcdUpdate();
Обязательно LcdMode(2);

И не забываем с начала Проинициализировать LcdInit();
И выставить контрастность LcdContrast(0x40); // вместо 0х40 можно настроить под себя

Re: LCD nokia 3310

Добавлено: Пн янв 10, 2011 00:01:50
fiksx
Самое интересное что с мегой16 в протеусе работает! Думал что глюк протеуса с м8, собрал в железе с м8, но результат 0!! И кстати попробывал залить хексы со статьи, так они в М8, почемуто недоливаются выскакивает ошибка.

Re: LCD nokia 3310

Добавлено: Пн янв 10, 2011 00:05:40
fiksx
Valentin44 писал(а):CS надо вешать на землю., вместо кинроллера.

после команды LcdUpdate();
Обязательно LcdMode(2);

И не забываем с начала Проинициализировать LcdInit();
И выставить контрастность LcdContrast(0x40); // вместо 0х40 можно настроить под себя
Попробую! Но с М16, работал и без этих изменеий, и врежиме 2, и в режиме 3

Re: LCD nokia 3310

Добавлено: Пн янв 10, 2011 01:28:18
CS16AMX
за прошивку огромное спасибо, переботал под себя ,дико доволен китайщиной) научился их легко клеить и пилить) прошивка имеет ограничения по колличеству линий шт 20-30 макс
немогу понять ток как вывести картинку , типа как её вбить в код или подогнать под карту памяти любую

Re: LCD nokia 3310

Добавлено: Пн янв 10, 2011 13:34:09
ELcat
Наиискреннейшим образом прошу прощения автора статьи http://radiokot.ru/articles/29/ Сачка за выше написанное мной. Всё работает, никакой CE никуда паять не надо, всем смотреть СВОЙ монтаж! Проблема была в контакте (я не паял дисплей). Автору СПАСИБО за статью :beer:

Re: LCD nokia 3310

Добавлено: Вт янв 11, 2011 01:15:38
CS16AMX
какая функция нужна для вывода картинки?под стандартную прошивку для китая, можно тупо глупо тело кинуть .далее я сам доработаю

Re: LCD nokia 3310

Добавлено: Вт янв 11, 2011 15:37:42
ELcat
Кому интересно, можно попробовать пробить по инету FD60146A - это надпись на стекле китайского дисплея N3310 (видно только под мелкоскопом), логотипчик " Rfd ", мож и даташит всплывёт.

Re: LCD nokia 3310

Добавлено: Чт янв 13, 2011 17:09:18
Elessar
Наконец-то таки и я запустил 3310 на своём арме LPC2103. Выяснил, что с выводом CS подключённому к МК дисплей не работает, а если повесить его на землю, то всё работает отлично.
Да помогут кому-нибудь выложенные мною исходники.
Пойти цветной 3510i помучать чтоли....

Кстати, очень удобная конвертилка bmp картинки в сишный код в компиляторе микроС. А также в микропаскале и микробейсике.

Re: LCD nokia 3310

Добавлено: Чт янв 13, 2011 21:08:06
ELcat
У меня CS висит на ноге контроллера, исходник автора статьи касательно функций управления диспом не менялся, всё отлично работает.

Re: LCD nokia 3310

Добавлено: Пт янв 14, 2011 14:29:16
Alex_EXE
В добавление к символьному генератору, написал небольшую статейку и программу для подготовки на компьютере массива изображения, для последующего вывода на дисплей.
Генератор изображений
Изображение

Re: LCD nokia 3310

Добавлено: Пт янв 14, 2011 18:51:47
ELcat
Спасибо, скачал, будет время поколупаюсь. Я смотрю ты Большой любитель 3310 :)

Re: LCD nokia 3310

Добавлено: Пн мар 28, 2011 02:21:01
Avega
Всем доброго времени суток. Применяю дисплей от 3310 (оригинальный), вывод данных, управление в стандартном наборе команд осуществляются прекрасно. Но по какой-то причине не работает ни одна команда из расширенного, причем вне зависимости от того, отправляются ли команды установки Vop, BIAS и TCx или что я в них пишу, дисплей прекрасно отображает данные. Собственно это не так и плохо, но хотелось бы изменять контраст. Инициализирую так:
//настройка портов и аппаратный срос LCD
LcdDdr |= (1<<ChipEnable)|(1<<DataCmd)|(1<<Clk)|(1<<Mosi)|(1<<Res);
LcdPort |= 1<<ChipEnable;
LcdPort &= ~( (1<<DataCmd)|(1<<Clk)|(1<<Mosi)|(1<<Res) );
delay_ms(10);
//SBR(LcdPort, Res);
LcdPort |= (1<<Res);
// блок расширенных команд с текущим дисплеем по какой-то причине не работает
// имеется подозрение что контролер LCD сам определяет оптимальный режим
LCDSend( 0x21, SEND_CMD ); // LCD Extended Commands.
LCDSend( 0x80|0xFF, SEND_CMD ); // Set LCD Vop (Contrast).
LCDSend( 0x06, SEND_CMD ); // Set Temp coefficent.
LCDSend( 0x13, SEND_CMD ); // LCD bias mode 1:48.
LCDSend( 0x20, SEND_CMD ); // LCD Standard Commands, Horizontal addressing mode.

LCDSend( 0x08, SEND_CMD ); // LCD blank
//вывести картинку
LCDSend( 0x0C, SEND_CMD ); // LCD in normal mode.
Затем пишу данные.
Даташит перерыл весь, там сказано что после сброса, внутренний генератор выключен. Однако, получается что включен и настроен, а так же настроены остальные служебные регистры. Подскажите, в чем дело

Re: LCD nokia 3310

Добавлено: Пн мар 28, 2011 02:21:01
Avega
Всем доброго времени суток. Применяю дисплей от 3310 (оригинальный), вывод данных, управление в стандартном наборе команд осуществляются прекрасно. Но по какой-то причине не работает ни одна команда из расширенного, причем вне зависимости от того, отправляются ли команды установки Vop, BIAS и TCx или что я в них пишу, дисплей прекрасно отображает данные. Собственно это не так и плохо, но хотелось бы изменять контраст. Инициализирую так:
//настройка портов и аппаратный срос LCD
LcdDdr |= (1<<ChipEnable)|(1<<DataCmd)|(1<<Clk)|(1<<Mosi)|(1<<Res);
LcdPort |= 1<<ChipEnable;
LcdPort &= ~( (1<<DataCmd)|(1<<Clk)|(1<<Mosi)|(1<<Res) );
delay_ms(10);
//SBR(LcdPort, Res);
LcdPort |= (1<<Res);
// блок расширенных команд с текущим дисплеем по какой-то причине не работает
// имеется подозрение что контролер LCD сам определяет оптимальный режим
LCDSend( 0x21, SEND_CMD ); // LCD Extended Commands.
LCDSend( 0x80|0xFF, SEND_CMD ); // Set LCD Vop (Contrast).
LCDSend( 0x06, SEND_CMD ); // Set Temp coefficent.
LCDSend( 0x13, SEND_CMD ); // LCD bias mode 1:48.
LCDSend( 0x20, SEND_CMD ); // LCD Standard Commands, Horizontal addressing mode.

LCDSend( 0x08, SEND_CMD ); // LCD blank
//вывести картинку
LCDSend( 0x0C, SEND_CMD ); // LCD in normal mode.
Затем пишу данные.
Даташит перерыл весь, там сказано что после сброса, внутренний генератор выключен. Однако, получается что включен и настроен, а так же настроены остальные служебные регистры. Подскажите, в чем дело