Страница 9 из 15
Добавлено: Пт окт 02, 2009 18:50:00
coder
На сколько я знаю у СониЭриков есть такое. У одной модели есть дисплеи с разными драйверами. При прошивке телефона, дисплей сам не прошивается, только узнается драйвер дисплея. А дисплей готов к работе с самого начала.
Добавлено: Пт окт 02, 2009 23:00:40
ibiza11
VadimPa, выложи. мне интересно.
Добавлено: Сб окт 03, 2009 15:17:17
VadimPa
Оказалось что выложить видео здесь я не могу - слишком большой
файл. Выложил на файлобменник [url]http://letitbit.net/download/3671.3a1c8439702eea7ab077cbe00/OutputFolder.rar.html
Справа LCD извлеченный из телефона, слева купленный в
магазине.
Передаю 8 строк. На правом 7 и 8 строка накладываются на 1 и 2,
а на левом мы их видим когда происходит сдвиг.
Обратите внимание на команду 05. После этой команды оба экрана
выглядят одинаково за исключением что на левом нет переноса строк видимо на них и в правой части есть неотображаемая память за прделами экрана как и вниз.
Может существуют другие версии LCD Nokia 3310, но у меня их нет.
Программа написана на ассемблере для PIC12F629. [/url]
Добавлено: Вс окт 04, 2009 10:38:29
Lobo
Интересно.. Спасибо..
Добавлено: Сб окт 17, 2009 20:08:10
Man
Ктонибуть мог поделится библиотекой для протеуса pcd_8544.dll что для дисплея 3310?
Добавлено: Сб окт 17, 2009 21:09:59
Иван23
прошу но не помню от какой версии протеуса
Добавлено: Сб окт 17, 2009 21:11:19
Lobo
Вот..
Добавлено: Вт ноя 24, 2009 17:19:02
Иван23
кому интересно нашел магазин где есть дисплейчики 3310 правда не оригинальные
http://ultraplus.ru
Добавлено: Ср ноя 25, 2009 01:33:08
ibiza11
Добавлено: Ср ноя 25, 2009 02:38:59
Иван23
видел это рубли, я например купил за 109р.
Добавлено: Вс ноя 29, 2009 12:09:32
Dexa
Здраствуйте. Есть ли алгоритм работы с дисплеем от 3310, или описание как выводить буквы и цифры как в обучалке про семисегментники? Интересует также бегущая строка.
p.s. все на ассемблере ищу.
Добавлено: Вс ноя 29, 2009 13:51:00
Иван23
тут матрица рисуй что хочеш,а так начинать стоит с чтения описания на дисп
Добавлено: Вс ноя 29, 2009 14:18:21
clawham
Лично я думаю что начинающему программеру с ассемблером в этот экран дорога заказана

Хоть он и прост до безобразия но....требует огромного объёма табличных данных которые к тому же таблицу надо правильно уметь обрабатывать

Да и на асме вы ничего толкового сложного не напишете чтоб был нужен такой экран! думаете зря прибуманы знакогенерирующие дисплюи с парралельным интерфейсом? они проще в управлении

И от мк требуют только номера букры....а это - графическая матрица памяти

бит =1 - точка закрасилась, 0 - точка погасла, хотя есть и режим инверсии когда 0-затемнена, 1 - прозрачная точка

Моё мнение - оно вам не нужно как начинающему АСМовцу

так...пошалить...
бегущая строка моргание скроллинг вверх-вниз - это всё вообще безо всяких проблем он же о символе понятия не имеет - гоните в него поток битов и они последовательно будут отображаться

Снова таки есть туча параметров этого потока последовательности битов последовательности байтов строк и т.д. всё конфигурится

Но помоему для него самое то - это Си!
Не думаю что начинающий сможет сделать вот такое :
1)
расширенный режим
ну или хотябы
2)
Базовый режим
Добавлено: Сб янв 02, 2010 20:18:50
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 но знания у меня не большые и скоро сесия(((
Добавлено: Сб янв 02, 2010 22:44:57
clawham
Ну вообще-то лично у меня именно так он и заработал - важно выбрать правильную скорость spi и правильный режим и правильно комутировать вывод комманды/данных, правильно питать и правильно согласовать....не забывать что в экране есть диоды которые поднимут ему питание до 5-ти вольт поэтому нужен стабилизатор на 3.3 который умеет и повышенное напряжение понижать до нужного уровня

(а можно нагрузить кроме экрана 3.3 вольтовую линию ещё резюком омм на 200
Добавлено: Вс янв 03, 2010 11:44:51
Иван23
у меня он работает и от 5в живой пока

Добавлено: Вс янв 03, 2010 12:10:40
sachok
пока.... лучше не игратся и поставить стабилизатор на 3,3В
Коечто у меня получается

Понял что полноценную библиотеку для CVAVR написать не хватит ума то я сделал немного по другому, к проекту прикрепил два исходных файла в одном функции работы с диплеем, а в главном эти функции использую. Работаю пока в Proteus так как дисплея нету и не скоро будет((( Текст вывести удалось, но есть несколько вопросов: почему вывод не начинается с самого верху?,
Код: Выделить всё
// Wait until Tx register empty
while ( (SPSR & 0x80) != 0x80 );
если при передаче (данных, команды) ждать пока буфер не станет пустым то виснет програма и ничего не выводит? без этой строчки работает.
Добавлено: Вс янв 03, 2010 16:34:28
sachok
Ещё немного переписал функции LCD. За основу взята библиотека
pcd8544.c в теме она есть. Теперь слова отображаются с верхнего левого угла LCD.
Вопрос по
Код: Выделить всё
// Wait until Tx register empty
while ( (SPSR & 0x80) != 0x80 );
остался открытым.
И ещё: что делает
pgm_read_byte и как его заменить в CVAVR?
Добавлено: Пн янв 04, 2010 23:23:12
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);
И вот что получается

Добавлено: Пн янв 04, 2010 23:39:33
urry
"Или наденьте трусы, или снимите крестик"
В смысле, вы можете позволить себе так сделать строку только при объявлении массива через указатель, а так, как Вы делаете. то только с завершающим нулем
unsigned char www [] = {87,87,87,\0}; //www
через указатель
char *www="www"; // так можно