На сколько я знаю у СониЭриков есть такое. У одной модели есть дисплеи с разными драйверами. При прошивке телефона, дисплей сам не прошивается, только узнается драйвер дисплея. А дисплей готов к работе с самого начала.
Оказалось что выложить видео здесь я не могу - слишком большой
файл. Выложил на файлобменник [url]http://letitbit.net/download/3671.3a1c8439702eea7ab077cbe00/OutputFolder.rar.html
Справа LCD извлеченный из телефона, слева купленный в
магазине.
Передаю 8 строк. На правом 7 и 8 строка накладываются на 1 и 2,
а на левом мы их видим когда происходит сдвиг.
Обратите внимание на команду 05. После этой команды оба экрана
выглядят одинаково за исключением что на левом нет переноса строк видимо на них и в правой части есть неотображаемая память за прделами экрана как и вниз.
Может существуют другие версии LCD Nokia 3310, но у меня их нет.
Программа написана на ассемблере для PIC12F629. [/url]
Здраствуйте. Есть ли алгоритм работы с дисплеем от 3310, или описание как выводить буквы и цифры как в обучалке про семисегментники? Интересует также бегущая строка.
p.s. все на ассемблере ищу.
_________________ ......aлкоголь расширяет сосуды, курение их сужает, а сдают почему-то нервы......
Лично я думаю что начинающему программеру с ассемблером в этот экран дорога заказана Хоть он и прост до безобразия но....требует огромного объёма табличных данных которые к тому же таблицу надо правильно уметь обрабатывать Да и на асме вы ничего толкового сложного не напишете чтоб был нужен такой экран! думаете зря прибуманы знакогенерирующие дисплюи с парралельным интерфейсом? они проще в управлении И от мк требуют только номера букры....а это - графическая матрица памяти бит =1 - точка закрасилась, 0 - точка погасла, хотя есть и режим инверсии когда 0-затемнена, 1 - прозрачная точка Моё мнение - оно вам не нужно как начинающему АСМовцу так...пошалить...
бегущая строка моргание скроллинг вверх-вниз - это всё вообще безо всяких проблем он же о символе понятия не имеет - гоните в него поток битов и они последовательно будут отображаться Снова таки есть туча параметров этого потока последовательности битов последовательности байтов строк и т.д. всё конфигурится Но помоему для него самое то - это Си!
writecomm((0x40|1)); // Y axis writecomm((0x80|1)); // X axis writedata(0b11111111);
увидел кучу мусора на LCD в Proteus. Планурую разобратся с библиотекой Pavel V. и попробовать переписать на CVAVR но знания у меня не большые и скоро сесия(((
Ну вообще-то лично у меня именно так он и заработал - важно выбрать правильную скорость spi и правильный режим и правильно комутировать вывод комманды/данных, правильно питать и правильно согласовать....не забывать что в экране есть диоды которые поднимут ему питание до 5-ти вольт поэтому нужен стабилизатор на 3.3 который умеет и повышенное напряжение понижать до нужного уровня (а можно нагрузить кроме экрана 3.3 вольтовую линию ещё резюком омм на 200
_________________ Что нас не убило сделало нас осторожней Не доверяйте русским лужам - это может быть вход в метро.
пока.... лучше не игратся и поставить стабилизатор на 3,3В
Коечто у меня получается Понял что полноценную библиотеку для CVAVR написать не хватит ума то я сделал немного по другому, к проекту прикрепил два исходных файла в одном функции работы с диплеем, а в главном эти функции использую. Работаю пока в Proteus так как дисплея нету и не скоро будет((( Текст вывести удалось, но есть несколько вопросов: почему вывод не начинается с самого верху?,
Код:
// Wait until Tx register empty while ( (SPSR & 0x80) != 0x80 );
если при передаче (данных, команды) ждать пока буфер не станет пустым то виснет програма и ничего не выводит? без этой строчки работает.
Вложения:
Комментарий к файлу: Функции работы с дисплеем lcd.c [6.08 KiB]
Скачиваний: 1038
Комментарий к файлу: Мой основной исходник и банальный вывод символов :) 3310.c [2.83 KiB]
Скачиваний: 984
Комментарий к файлу: Вот что у меня получилось в Proteus 3310.jpeg [19.39 KiB]
Скачиваний: 1550
Ещё немного переписал функции LCD. За основу взята библиотека pcd8544.c в теме она есть. Теперь слова отображаются с верхнего левого угла LCD.
Вопрос по
Код:
// Wait until Tx register empty while ( (SPSR & 0x80) != 0x80 );
остался открытым.
И ещё: что делает pgm_read_byte и как его заменить в CVAVR?
"Или наденьте трусы, или снимите крестик"
В смысле, вы можете позволить себе так сделать строку только при объявлении массива через указатель, а так, как Вы делаете. то только с завершающим нулем
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения