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

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
coder
Открыл глаза
Сообщения: 57
Зарегистрирован: Вт фев 06, 2007 14:09:10
Откуда: Россия.Пермь
Контактная информация:

Сообщение coder »

На сколько я знаю у СониЭриков есть такое. У одной модели есть дисплеи с разными драйверами. При прошивке телефона, дисплей сам не прошивается, только узнается драйвер дисплея. А дисплей готов к работе с самого начала.
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

VadimPa, выложи. мне интересно.
Ставим плюсы: )
VadimPa
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пт окт 02, 2009 18:02:01

Сообщение VadimPa »

Оказалось что выложить видео здесь я не могу - слишком большой
файл. Выложил на файлобменник [url]http://letitbit.net/download/3671.3a1c8439702eea7ab077cbe00/OutputFolder.rar.html
Справа LCD извлеченный из телефона, слева купленный в
магазине.
Передаю 8 строк. На правом 7 и 8 строка накладываются на 1 и 2,
а на левом мы их видим когда происходит сдвиг.
Обратите внимание на команду 05. После этой команды оба экрана
выглядят одинаково за исключением что на левом нет переноса строк видимо на них и в правой части есть неотображаемая память за прделами экрана как и вниз.
Может существуют другие версии LCD Nokia 3310, но у меня их нет.
Программа написана на ассемблере для PIC12F629. [/url]
Lobo
Родился
Сообщения: 16
Зарегистрирован: Ср авг 08, 2007 18:49:34
Откуда: Пермский край

Сообщение Lobo »

Интересно.. Спасибо..
Аватара пользователя
Man
Встал на лапы
Сообщения: 83
Зарегистрирован: Чт ноя 13, 2008 19:22:03

Сообщение Man »

Ктонибуть мог поделится библиотекой для протеуса pcd_8544.dll что для дисплея 3310?
Аватара пользователя
Иван23
Нашел транзистор. Понюхал.
Сообщения: 163
Зарегистрирован: Ср дек 05, 2007 18:55:07
Откуда: Санкт-Петербуг

Сообщение Иван23 »

прошу но не помню от какой версии протеуса
Вложения
Model 3310 для протеуса.rar
(27.24 КБ) 2811 скачиваний
Lobo
Родился
Сообщения: 16
Зарегистрирован: Ср авг 08, 2007 18:49:34
Откуда: Пермский край

Сообщение Lobo »

Вот..
Вложения
3310.zip
(78.99 КБ) 2225 скачиваний
Аватара пользователя
Иван23
Нашел транзистор. Понюхал.
Сообщения: 163
Зарегистрирован: Ср дек 05, 2007 18:55:07
Откуда: Санкт-Петербуг

Сообщение Иван23 »

кому интересно нашел магазин где есть дисплейчики 3310 правда не оригинальные http://ultraplus.ru
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

ты видел сколько они там стоят!!!???? :shock: :shock: :shock:
Ставим плюсы: )
Аватара пользователя
Иван23
Нашел транзистор. Понюхал.
Сообщения: 163
Зарегистрирован: Ср дек 05, 2007 18:55:07
Откуда: Санкт-Петербуг

Сообщение Иван23 »

видел это рубли, я например купил за 109р.
Аватара пользователя
Dexa
Встал на лапы
Сообщения: 119
Зарегистрирован: Ср ноя 07, 2007 15:17:20
Контактная информация:

Сообщение Dexa »

Здраствуйте. Есть ли алгоритм работы с дисплеем от 3310, или описание как выводить буквы и цифры как в обучалке про семисегментники? Интересует также бегущая строка.
p.s. все на ассемблере ищу.
......aлкоголь расширяет сосуды, курение их сужает, а сдают почему-то нервы......
Аватара пользователя
Иван23
Нашел транзистор. Понюхал.
Сообщения: 163
Зарегистрирован: Ср дек 05, 2007 18:55:07
Откуда: Санкт-Петербуг

Сообщение Иван23 »

тут матрица рисуй что хочеш,а так начинать стоит с чтения описания на дисп
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Сообщение clawham »

Лично я думаю что начинающему программеру с ассемблером в этот экран дорога заказана :)
Хоть он и прост до безобразия но....требует огромного объёма табличных данных которые к тому же таблицу надо правильно уметь обрабатывать :)
Да и на асме вы ничего толкового сложного не напишете чтоб был нужен такой экран! думаете зря прибуманы знакогенерирующие дисплюи с парралельным интерфейсом? они проще в управлении :) И от мк требуют только номера букры....а это - графическая матрица памяти :) бит =1 - точка закрасилась, 0 - точка погасла, хотя есть и режим инверсии когда 0-затемнена, 1 - прозрачная точка :)
Моё мнение - оно вам не нужно как начинающему АСМовцу :)
так...пошалить...
бегущая строка моргание скроллинг вверх-вниз - это всё вообще безо всяких проблем он же о символе понятия не имеет - гоните в него поток битов и они последовательно будут отображаться :)
Снова таки есть туча параметров этого потока последовательности битов последовательности байтов строк и т.д. всё конфигурится :)
Но помоему для него самое то - это Си!

Не думаю что начинающий сможет сделать вот такое :
1) расширенный режим
ну или хотябы
2) Базовый режим
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
sachok
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк
Контактная информация:

Сообщение sachok »

В CVAVR кто то запустил дисплей??? Я написал

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

writecomm(0x21); 
writecomm(0xC8);
writecomm(0x06); 
writecomm(0x13);
writecomm(0x20);
writecomm(0x0C);
writecomm(0b00100001);
writecomm(0b00011111);

writecomm((0x40|1));   // Y axis
writecomm((0x80|1));   // X axis
writedata(0b11111111);

увидел кучу мусора на LCD в Proteus. Планурую разобратся с библиотекой Pavel V. и попробовать переписать на CVAVR но знания у меня не большые и скоро сесия(((
Я не Сашок!!!
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Сообщение clawham »

Ну вообще-то лично у меня именно так он и заработал - важно выбрать правильную скорость spi и правильный режим и правильно комутировать вывод комманды/данных, правильно питать и правильно согласовать....не забывать что в экране есть диоды которые поднимут ему питание до 5-ти вольт поэтому нужен стабилизатор на 3.3 который умеет и повышенное напряжение понижать до нужного уровня :)(а можно нагрузить кроме экрана 3.3 вольтовую линию ещё резюком омм на 200
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Иван23
Нашел транзистор. Понюхал.
Сообщения: 163
Зарегистрирован: Ср дек 05, 2007 18:55:07
Откуда: Санкт-Петербуг

Сообщение Иван23 »

у меня он работает и от 5в живой пока :tea:
Аватара пользователя
sachok
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк
Контактная информация:

Сообщение sachok »

пока.... лучше не игратся и поставить стабилизатор на 3,3В

Коечто у меня получается :) Понял что полноценную библиотеку для CVAVR написать не хватит ума то я сделал немного по другому, к проекту прикрепил два исходных файла в одном функции работы с диплеем, а в главном эти функции использую. Работаю пока в Proteus так как дисплея нету и не скоро будет((( Текст вывести удалось, но есть несколько вопросов: почему вывод не начинается с самого верху?,

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

// Wait until Tx register empty
while ( (SPSR & 0x80) != 0x80 );

если при передаче (данных, команды) ждать пока буфер не станет пустым то виснет програма и ничего не выводит? без этой строчки работает.
Вложения
3310.jpeg
Вот что у меня получилось в Proteus
(19.39 КБ) 1562 скачивания
3310.c
Мой основной исходник и банальный вывод символов :)
(2.83 КБ) 996 скачиваний
lcd.c
Функции работы с дисплеем
(6.08 КБ) 1047 скачиваний
Я не Сашок!!!
Аватара пользователя
sachok
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк
Контактная информация:

Сообщение sachok »

Ещё немного переписал функции LCD. За основу взята библиотека pcd8544.c в теме она есть. Теперь слова отображаются с верхнего левого угла LCD.
Вопрос по

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

// Wait until Tx register empty 
while ( (SPSR & 0x80) != 0x80 );

остался открытым.

И ещё: что делает pgm_read_byte и как его заменить в CVAVR?
Я не Сашок!!!
Аватара пользователя
sachok
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2008 11:05:15
Откуда: Україна м.Луцьк
Контактная информация:

Сообщение sachok »

Написал елементарные функции вывода символа и строки

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

void lcd_putc (unsigned char index)
{
    int i=0;
    for (i=0; i<5; i++)
    {
        lcd_send (font_lookup[index][i], lcd_data);
    }
   
    lcd_send (0b0000000, lcd_data);
}

void lcd_put_str (unsigned char string[])
{
    int tmp_index=0;
   
    while (string[tmp_index] != '\0')
    {
        lcd_putc (string[tmp_index]);
        tmp_index++;
    }
}

С выводом символов всё хорошо но вот если скразу строка то олучается бред, моя голова уже неварит(((
Переменые где записаны индексы символов попорядку

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

unsigned char www [] = {87,87,87}; //www
unsigned char radiokot [] = {82,65,68,73,79,75,79,84}; //radiokot
unsigned char ru [] = {82,85}; //ru

Вывод на дисплей

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

lcd_put_str (www);
lcd_putc (14);
lcd_put_str (radiokot);
lcd_putc (14);
lcd_put_str (ru);

И вот что получается
Изображение
Я не Сашок!!!
Аватара пользователя
urry
Сверлит текстолит когтями
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница
Контактная информация:

Сообщение urry »

"Или наденьте трусы, или снимите крестик"
В смысле, вы можете позволить себе так сделать строку только при объявлении массива через указатель, а так, как Вы делаете. то только с завершающим нулем

unsigned char www [] = {87,87,87,\0}; //www

через указатель

char *www="www"; // так можно
Ответить

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