Да на это можно забить (это из другой оперы), лень было причесыватьНахрена там нужна инициализация таймера
и его практически пустой обработчик?
LCD nokia 3310
- Реклама
Сейчас вожусь с одним проектом, в котором буду применять Ваши шаблоны. Это у меня будет терминал для отображения выводимых с COM порта ПК байтов на экран нокии 3310.
Короче - это будет у меня отладочный инструмент. Ещё раз спасибо за проекты - мне понравилась эта реализация.
I am DX168B and this is my favourite forum on internet!
По поводу отладочного терминала - есть на этом сайте конкурсная работа продуманного до мелочей терминала для этого экранчика и с использованием пс2 клавы...помоему...чем городить огород лучше довериться человеку который уже это сделал
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Не доверяйте русским лужам - это может быть вход в метро.
Ну во первых - для набора опыта.clawham писал(а):чем городить огород лучше довериться человеку который уже это сделал
Во вторых - с программой я уже закончил, отладил, осталась сборка девайса. (отпечатать плату, протравить, спаять и собрать это всё в корпус)
I am DX168B and this is my favourite forum on internet!
day177 писал(а):Подкиньте пожулуйста у кого есть модельку LCD Nokia 3310 для Proteus
- Вложения
-
- 2_nokia3310.rar
- (26.32 КБ) 583 скачивания
- Реклама
- Сообщения: 228
- Зарегистрирован: Пн окт 04, 2010 11:55:41
Всем привет! вообщем собрал схемку вот этсюда с экраном от 3310 http://chipenable.ru/index.php/how-conn ... 0-avr.html только мегу 32 взял
все завелось почти с первого раза в протусе.
вот теперь прицепил датчик температурный, с кодом все понятно как цеплять, а вот как вывести температуру не знаю, хотел для начала в самом простом формате Т=20С(к примеру), кусок кода не поскажете, чтобы использовать знакогенератор который взял по ссылке выше приведеной?
все завелось почти с первого раза в протусе.
вот теперь прицепил датчик температурный, с кодом все понятно как цеплять, а вот как вывести температуру не знаю, хотел для начала в самом простом формате Т=20С(к примеру), кусок кода не поскажете, чтобы использовать знакогенератор который взял по ссылке выше приведеной?
Не открою большой секрет но:
На заметку кто побаивается, дисплей Nokia3310 может прекрасно работать и от 5 вольт. Да понимаю что не по паспорту, но если не хочется заморачиваться с согласованием- работа без проблем. Лично у меня в таком режиме работает дисплей уже более полугода, ничего не сгорело и не задымилось.
На заметку кто побаивается, дисплей Nokia3310 может прекрасно работать и от 5 вольт. Да понимаю что не по паспорту, но если не хочется заморачиваться с согласованием- работа без проблем. Лично у меня в таком режиме работает дисплей уже более полугода, ничего не сгорело и не задымилось.
Я использую исходники с тех что были выложены тут http://www.radiokot.ru/articles/29/.
Вроде разобрался со всем что нужно было, кроме одного.
Как пользоваться функцией void LcdImage (flash unsigned char *imageData); //вывод изображения
В исходниках не хватает части где само изображение. То ли оно во внешних файлах то ли не пойму
Кто пользовался этой функцией, подскажите как. Только доходчиво, я не сильно разбираюсь в программировании. И нужно как это сделать на С.
И еще вопрос, не не столь важный. Шрифты другие бывают к этому дисплею?
Вроде разобрался со всем что нужно было, кроме одного.
Как пользоваться функцией void LcdImage (flash unsigned char *imageData); //вывод изображения
В исходниках не хватает части где само изображение. То ли оно во внешних файлах то ли не пойму
Кто пользовался этой функцией, подскажите как. Только доходчиво, я не сильно разбираюсь в программировании. И нужно как это сделать на С.
И еще вопрос, не не столь важный. Шрифты другие бывают к этому дисплею?
Этот дисплей самих шрифтов несодержит, так что вы можете использовать любой шрифт, другое дело - его надо сделать или найти. Шрифт может быть любым, главное чтобы его разрешение было кратно 6х8,можно и любой другой размер, но тогда будет сложнее или пустые области будут.Valentin44 писал(а):И еще вопрос, не не столь важный. Шрифты другие бывают к этому дисплею?
Могу предложить самописную программу для создания шрифтов - символьный генератор
- Сообщения: 315
- Зарегистрирован: Пт янв 29, 2010 19:42:27
открою и я "секрет"
использую экранчики от триум марс (дико похожи но разрешение немного больше и еще пару особенностей)
по питанию 680 ом и керамика 1 мкф непосредственно по питанию на ногах ЛСL
по остальным линиям 470-1000 Ом ..и эти же линии через 330 ом на ISP
CSE вообще на земле . (программирование сопровождается зарисовкой экрана байтами программы которая грузится- дико наглядно )
и работайте от 2.8 до 5.5 вольт включительно ниче не сгорит
использую экранчики от триум марс (дико похожи но разрешение немного больше и еще пару особенностей)
по питанию 680 ом и керамика 1 мкф непосредственно по питанию на ногах ЛСL
по остальным линиям 470-1000 Ом ..и эти же линии через 330 ом на ISP
CSE вообще на земле . (программирование сопровождается зарисовкой экрана байтами программы которая грузится- дико наглядно )
и работайте от 2.8 до 5.5 вольт включительно ниче не сгорит
ух ты.... показывает
Прикольный софт.Alex_EXE писал(а):Могу предложить самописную программу для создания шрифтов - символьный генератор
Только для нокии 3310 надо добавлять 0x00 в конце каждого массива буквы\цифры\знака.
Либо предусмотреть его отправку после отправки любого символа. Иначе символы слипнутся.
I am DX168B and this is my favourite forum on internet!
В ниже приведённом коде в статье предусмотрен нулевой столбец, а лишним байтом*количество символов засорять и без того малую память не стоит.DX168B писал(а):Только для нокии 3310 надо добавлять 0x00 в конце каждого массива буквы\цифры\знака.
Либо предусмотреть его отправку после отправки любого символа. Иначе символы слипнутся.
Верно.
Я просто хотел сделать заметку для начинающих изучение этого LCD.
Я просто хотел сделать заметку для начинающих изучение этого LCD.
Код: Выделить всё
08.void lcd_putch(unsigned char c)
09.{
10.lcd_send(lcd_font[c][0], LCD_TDATA);
11.lcd_send(lcd_font[c][1], LCD_TDATA);
12.lcd_send(lcd_font[c][2], LCD_TDATA);
13.lcd_send(lcd_font[c][3], LCD_TDATA);
14.lcd_send(lcd_font[c][4], LCD_TDATA);
15.lcd_send(0, LCD_TDATA); //<- Типа тут отправляется?
16.}
I am DX168B and this is my favourite forum on internet!
Уважаемые Коты, и все же, как на этот экран вывести картинку?
Картинку скодировал, и получил код ввиде
"char image[504]={......};".в скобках .
Но как теперь воспользоваться функцией вывода на экран картинки?
Картинку скодировал, и получил код ввиде
"char image[504]={......};".в скобках .
Но как теперь воспользоваться функцией вывода на экран картинки?
С выводом картинки таки разобрался:
Далее вопросов больше стает....
b=0x7b // 123 значит.
//так вот, мне на экран надо вывести именно 7b
Как это сделать?
sprintf (buf_ , b); // выводит на экран 123
LcdChr (b); // выведет на экран '{' скобку
Как поступить? Может есть какая-то функция которая это делает?
2 вопрос.
При подключенной линии СЕ, на экран ничего вообще не выводится. Только иногда моргает линия, но ничего общего с изображением не имеет. В протеусе все отлично.. Когда перенес СЕ на другую ногу ПИКа (т.е. теперь на СЕ экрана всегда лог. 0 идет) работает.
Но в дальнейшем надо на SPI добатьб еще одно устройство. И СЕ нужна.
Вопос: n3310lcd.h который тут используется, коректно работает с СЕ? Код и схемотехнику перенес на МЕГУ32. Какая еще инфа нужна чтобы попробовать определить проблему?
3. вопрос....
LcdClear();
sprintf ()......
LcdString ().....
....
....
LcdUpdate();
delay_ms200;
и кручу это по кругу. При этом дисплей подмаргивает, достаточно быстро, но заметно глазом. Причем чем быстрее цикл крутится, чем мение контрастно изображение.... моргает сильно.
Как оптимизировать вывод на экран, что бы и скорость обновления данных не потерять, и моргания убрать?
Отказаться от LcdClear? Но тогда надо закрашивать нарисованные символы что бы не оставались старые в местах где теперь пустое место.
Далее вопросов больше стает....
b=0x7b // 123 значит.
//так вот, мне на экран надо вывести именно 7b
Как это сделать?
sprintf (buf_ , b); // выводит на экран 123
LcdChr (b); // выведет на экран '{' скобку
Как поступить? Может есть какая-то функция которая это делает?
2 вопрос.
При подключенной линии СЕ, на экран ничего вообще не выводится. Только иногда моргает линия, но ничего общего с изображением не имеет. В протеусе все отлично.. Когда перенес СЕ на другую ногу ПИКа (т.е. теперь на СЕ экрана всегда лог. 0 идет) работает.
Но в дальнейшем надо на SPI добатьб еще одно устройство. И СЕ нужна.
Вопос: n3310lcd.h который тут используется, коректно работает с СЕ? Код и схемотехнику перенес на МЕГУ32. Какая еще инфа нужна чтобы попробовать определить проблему?
3. вопрос....
LcdClear();
sprintf ()......
LcdString ().....
....
....
LcdUpdate();
delay_ms200;
и кручу это по кругу. При этом дисплей подмаргивает, достаточно быстро, но заметно глазом. Причем чем быстрее цикл крутится, чем мение контрастно изображение.... моргает сильно.
Как оптимизировать вывод на экран, что бы и скорость обновления данных не потерять, и моргания убрать?
Отказаться от LcdClear? Но тогда надо закрашивать нарисованные символы что бы не оставались старые в местах где теперь пустое место.
Проблема такая: подключил LCD от 3310 к меге8 к порту B по SPI но т.к. мне надо 2шим поэтому ножка CS (chip select) lcd подключена на 5-ый пин порта D, подправил немного процедуру посыла байта чтобы правильно дергал ножкой и случился косяк, после 2-3 секунд работы SPI просто виснет в ожидании, при этом дисплей вообще вырубается. Я сначала грешил на питание, попробовал несколько вариантов состыковки дисплея с 5В, всеравно виснет, оставил схему с резисторами и стабилизатором на 3.3 вольт. Длина шлейфа 5см, плата вся экранирована. Если Chip Select сделать на порт B то все работает. В чем может быть косяк?
- Сообщения: 10
- Зарегистрирован: Ср дек 08, 2010 08:51:35
Добрый день, почтенные.
Пытаюсь подключить 3310 к арму lpc2103. В протеусе всё работает, в реальности нифига... Вот что меня интересует, правда ли, что нужно подать на вывод RES 1-0-1 ещё до подачи питания на экран? И как вообще определить, рабочий экран или нет? Где-то читал, что нужно смотреть напряжение на выводе Vout. Посмотрел, там 1В и чего это значит?
Пытаюсь подключить 3310 к арму lpc2103. В протеусе всё работает, в реальности нифига... Вот что меня интересует, правда ли, что нужно подать на вывод RES 1-0-1 ещё до подачи питания на экран? И как вообще определить, рабочий экран или нет? Где-то читал, что нужно смотреть напряжение на выводе Vout. Посмотрел, там 1В и чего это значит?
Elessar, вот как раз по твоей проблеме есть что сказать.
Т.е. у мебя не инициализируется. В протеусе он у меня то же работал отлично, а в железе нет. Пока не выставил контрастнсть. И не указал LcdMode(2);
Но самое главное, посади линию СS на землю. У меня с ней так и не заработало. См мой пост двумя сообщениями віше.
Нет. У меня экран подключен к питанию через стабилизатор +3,3. И на нем питание появляется раньше чем инициализирутеся МЕГА, чем она начнет инициализировать экран.Elessar писал(а):Вот что меня интересует, правда ли, что нужно подать на вывод RES 1-0-1 ещё до подачи питания на экран?
Когда у меня совсем ничего не получалось, была идея искать такой вариант. Но потом заработало, и поиск прекратился.... Вроде можно к ЛПТ порту подключать.Elessar писал(а):И как вообще определить, рабочий экран или нет?
Это на конденсаторе на 7 ноге, на корпус? Когда экран не инициализировался, там было напряжение около 1-2 вольт. Когда экран инифиализировался, напруга поднималась до 7,5 вольт.Elessar писал(а): Где-то читал, что нужно смотреть напряжение на выводе Vout. Посмотрел, там 1В и чего это значит?
Т.е. у мебя не инициализируется. В протеусе он у меня то же работал отлично, а в железе нет. Пока не выставил контрастнсть. И не указал LcdMode(2);
Но самое главное, посади линию СS на землю. У меня с ней так и не заработало. См мой пост двумя сообщениями віше.
- Сообщения: 10
- Зарегистрирован: Ср дек 08, 2010 08:51:35
Действительно, у меня на схеме тоже есть стабилизатор на 3,3В от него я тоже сначала запитывал но потом наткнулся на статью, где написано "Сразу после подачи питания экран необходимо сбросить, подав на вывод RES "0". Это нужно сделать обязательно, иначе можно повредить контроллер!"Нет. У меня экран подключен к питанию через стабилизатор +3,3. И на нем питание появляется раньше чем инициализирутеся МЕГА, чем она начнет инициализировать экран.
Вот я и подумал питать экран от самой ножки МК, чтобы самому управлять моментом подачи питания. Но что странно, напряжение на ножке в таком случае падало до 2,3В, хотя должно быть 3,3.
Можно через некую программу LCDHype, но это уж на самый крайний вариант.Вроде можно к ЛПТ порту подключать.
Сейчас пойду вывод CS на землю посажу, посмотрим, что будет.
Благодарю, за ответ
Наскольно я понял проблема с CS и на пике и на меге, дак в чем же косяк? Это чисто глюк контроллера дисплея или программный косяк?


