LCD nokia 3310

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 10
Зарегистрирован: Ср дек 08, 2010 08:51:35

Сообщение Elessar »

Потыкал я этот CS. Никак не работает, ни подключив к МК, ни посадив на землю. Распсиховался короче я и бросил...
Зато купил вот такие забавные штучки: тык и туц
Реклама
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Сб окт 10, 2009 02:49:27
Откуда: Krasnoyarsk

Сообщение bend »

не ну сам дисплей 3310 хороший, есть даташит, впринципе работает нормально, я сделал подсветку как на родной 3310 и светодиоды оттуда использовал, поставил их в ряд внизу и получил ровную подсветку всего дисплея как на телефоне. Вот только остается загадкой почему CS глючит.
Контактная информация:
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 104
Зарегистрирован: Пн ноя 15, 2010 23:48:09
Откуда: Украина, Кривой Рог

Сообщение Valentin44 »

ИМХО проблема с CS программая. Смотрел в протеусее осциллографом, что-то не то. Сильно часто дергает ЦС, при том что сигналы на других ногах идут. Можт это так и должно быть, но врядли. Факт что с ЦС не работает. Сделаюю эксперимент с линеей ЦС, попробую сам ее рулить. Т.е. перед вызовом функций управления экраном опускать уровень, а после поднимать.
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Сб окт 10, 2009 02:49:27
Откуда: Krasnoyarsk

Сообщение 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 поднять, немного подождать и повторить операцию.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Сообщения: 85
Зарегистрирован: Сб май 01, 2010 23:09:26
Откуда: Одесса

Сообщение fiksx »

Добрый вечер уважаемые КОТЫ! Вот тоже решил разобратся с экранчиком от 3310. Скачал файлы которые прикреплены к статье. http://www.radiokot.ru/articles/29/
Пробывал просимулировать в протезе, но на дисплей ничего не выводится. Писал сам прогу, пробывал подставлять уже скомпилированые hex, из статьи, но дисплей молчит. Пробывал подставлять хексы из других источников дисплей выводит данные. Но хочу чтобы заработало из данной статьи, так как здесь есть возможность подключать китайский дисплей(именно такой я купил). помогите пожалуйста :cry:
Вложения
Design.rar
проект в протеусе
(12.81 КБ) 313 скачиваний
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

Сообщение ELcat »

Всем привет! Вот тоже дошли руки до дисплейчика Nokia3310 "китайского" варианта. Пытаюсь прикрутить к Меге8-й, исходник под свою разводку переделывал от сюда http://radiokot.ru/articles/29/ , но так нифига и не получилось. Не мог бы кто поелиться рабочим исходничком под Мегу8?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

Сообщение ELcat »

fiksx, смотрю ты тож от туда драл? Две неудачи не мож быть совпдением, по ходу там лажа какая-то в исходниках. Я вообще-то дозиметр ваяю, всю обвязку уже запустил на готовой плате, осталось только дисп прилинковать.
Встал на лапы
Аватара пользователя
Сообщения: 104
Зарегистрирован: Пн ноя 15, 2010 23:48:09
Откуда: Украина, Кривой Рог

Сообщение Valentin44 »

CS надо вешать на землю., вместо кинроллера.

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

И не забываем с начала Проинициализировать LcdInit();
И выставить контрастность LcdContrast(0x40); // вместо 0х40 можно настроить под себя
Встал на лапы
Сообщения: 85
Зарегистрирован: Сб май 01, 2010 23:09:26
Откуда: Одесса

Сообщение fiksx »

Самое интересное что с мегой16 в протеусе работает! Думал что глюк протеуса с м8, собрал в железе с м8, но результат 0!! И кстати попробывал залить хексы со статьи, так они в М8, почемуто недоливаются выскакивает ошибка.
Встал на лапы
Сообщения: 85
Зарегистрирован: Сб май 01, 2010 23:09:26
Откуда: Одесса

Сообщение fiksx »

Valentin44 писал(а):CS надо вешать на землю., вместо кинроллера.

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

И не забываем с начала Проинициализировать LcdInit();
И выставить контрастность LcdContrast(0x40); // вместо 0х40 можно настроить под себя
Попробую! Но с М16, работал и без этих изменеий, и врежиме 2, и в режиме 3
Нашел транзистор. Понюхал.
Сообщения: 195
Зарегистрирован: Вт ноя 30, 2010 00:50:40

Сообщение CS16AMX »

за прошивку огромное спасибо, переботал под себя ,дико доволен китайщиной) научился их легко клеить и пилить) прошивка имеет ограничения по колличеству линий шт 20-30 макс
немогу понять ток как вывести картинку , типа как её вбить в код или подогнать под карту памяти любую
Друг Кота
Аватара пользователя
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

Сообщение ELcat »

Наиискреннейшим образом прошу прощения автора статьи http://radiokot.ru/articles/29/ Сачка за выше написанное мной. Всё работает, никакой CE никуда паять не надо, всем смотреть СВОЙ монтаж! Проблема была в контакте (я не паял дисплей). Автору СПАСИБО за статью :beer:
Нашел транзистор. Понюхал.
Сообщения: 195
Зарегистрирован: Вт ноя 30, 2010 00:50:40

Сообщение CS16AMX »

какая функция нужна для вывода картинки?под стандартную прошивку для китая, можно тупо глупо тело кинуть .далее я сам доработаю
Друг Кота
Аватара пользователя
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

Сообщение ELcat »

Кому интересно, можно попробовать пробить по инету FD60146A - это надпись на стекле китайского дисплея N3310 (видно только под мелкоскопом), логотипчик " Rfd ", мож и даташит всплывёт.
Родился
Сообщения: 10
Зарегистрирован: Ср дек 08, 2010 08:51:35

Сообщение Elessar »

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

Кстати, очень удобная конвертилка bmp картинки в сишный код в компиляторе микроС. А также в микропаскале и микробейсике.
Вложения
LCD_image.h
(7.76 КБ) 404 скачивания
LCD_fonts.h
(6.93 КБ) 363 скачивания
1.c
(7.36 КБ) 616 скачиваний
Друг Кота
Аватара пользователя
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

Сообщение ELcat »

У меня CS висит на ноге контроллера, исходник автора статьи касательно функций управления диспом не менялся, всё отлично работает.
Вымогатель припоя
Аватара пользователя
Сообщения: 580
Зарегистрирован: Сб дек 27, 2008 12:01:35
Откуда: Россия, Екатеринбург

Сообщение Alex_EXE »

В добавление к символьному генератору, написал небольшую статейку и программу для подготовки на компьютере массива изображения, для последующего вывода на дисплей.
Генератор изображений
Изображение
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

Сообщение ELcat »

Спасибо, скачал, будет время поколупаюсь. Я смотрю ты Большой любитель 3310 :)
Родился
Сообщения: 6
Зарегистрирован: Чт фев 10, 2011 12:48:05

Сообщение 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.
Затем пишу данные.
Даташит перерыл весь, там сказано что после сброса, внутренний генератор выключен. Однако, получается что включен и настроен, а так же настроены остальные служебные регистры. Подскажите, в чем дело
Родился
Сообщения: 6
Зарегистрирован: Чт фев 10, 2011 12:48:05

Сообщение 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.
Затем пишу данные.
Даташит перерыл весь, там сказано что после сброса, внутренний генератор выключен. Однако, получается что включен и настроен, а так же настроены остальные служебные регистры. Подскажите, в чем дело
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»