LCD

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
sun
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Ср окт 07, 2009 10:07:02
Откуда: Минск
Контактная информация:

LCD

Сообщение sun »

Дорогие коты, Прошу опять вашей помощи. видел темы про LCD от мобилок, некоторые писали, что запускали от сименсов А52, но схем и распиновок не прилагали. Может у кого-то есть какая инфа по экрану от А52 и желательно ещё от С35. Буду блпгодарен за помощь.
Аватара пользователя
>TEHb<
Друг Кота
Сообщения: 5728
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Откуда: Воронеж
Контактная информация:

Сообщение >TEHb< »

попробуй поразнюхать вооот тут, столькостраниц, вроде должет был обсуждаться.
"Привет!" - соврал он.
sun
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Ср окт 07, 2009 10:07:02
Откуда: Минск
Контактная информация:

Сообщение sun »

Спасибо за сцылку, тама сказано, что дисплей такй же, как и нокиевский, только инициальзация у него другая. И проект на кодвижн. Т.к. я пишу на винавр - пришлось переделывать, но как-то он не запустился вовсе :( ... малчит, не светит. Кто может что подсказать по этому поводу?
Аватара пользователя
Mamonth
Вымогатель припоя
Сообщения: 534
Зарегистрирован: Пн янв 16, 2006 08:00:17
Откуда: Иркутск

Сообщение Mamonth »

Собственно я бы взял проект на кодевижн зашил в МК, убедился в правильности подключения (и совпадении с той прошивкой что на CV). Запустил. Если заработает, то начал переписывать либу.

А вообще желательно найти даташит на контроллер дисплея и поковырять его.
Today fine night...
sun
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Ср окт 07, 2009 10:07:02
Откуда: Минск
Контактная информация:

Сообщение sun »

Да не написано на нём никаких опозновательных знаков :(
sun
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Ср окт 07, 2009 10:07:02
Откуда: Минск
Контактная информация:

Сообщение sun »

вроде кое как его заставил что-то отрисовывать. как доделаю - выложу код.
вопросик такой возник. если я его просто вырубаю, частенько загарается одна полоска и тухнет через несколько секунд. как его правильно обесточивать? ведь на телефоне, если просто вытащить акум, он просто и гаснет.
Аватара пользователя
neonix
Электрический кот
Сообщения: 1040
Зарегистрирован: Чт фев 19, 2009 17:46:34
Контактная информация:

Сообщение neonix »

sun писал(а):вроде кое как его заставил что-то отрисовывать. как доделаю - выложу код.
вопросик такой возник. если я его просто вырубаю, частенько загарается одна полоска и тухнет через несколько секунд. как его правильно обесточивать? ведь на телефоне, если просто вытащить акум, он просто и гаснет.

Нужно искать последовательность для выключения, обычно в даташите всегда есть даже в урезаном варианте. Но честно говоря у меня дисплей с вот таким вот методом отключения за 3 месяца не сдох, так что думаю разницы особой нету.
Where technology meets enjoyment.
sun
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Ср окт 07, 2009 10:07:02
Откуда: Минск
Контактная информация:

Сообщение sun »

Всем доброй ночи и валерьяночки ))
Как и обещал - выкладываю самописную либу для эрана от С55 сименса. Думаю, у многих валяется без дела )).
Либа для WinAVR, но думаю месные котохакеры быстро её переделают под CV )))))

Код тестовой программы:

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

#include <util>
#include "c55_lcd.h"

int main (void)
{
  lcd_Init();
  lcd_Contrast(0x40);
  lcd_GoToXY(0, 0);
  lcd_PutStr("_SuN_ (R)\0");
  lcd_GoToXY(2, 3);
  lcd_PutStr("Siemens A52/C52/C55\0");
  lcd_GoToXY(10, 5);
  lcd_PutStr("testing firmware\0");
  char a = 0xFF;
  while (1)
  {
    lcd_GoToXY(0, 4);
    for (char y = 0; y < 102; y++)
    {
      lcd_Send(a, LCD_DATA);
     _delay_ms(10);
    }
   a ^=0xFF;

  }

  return 0;
}


Зашито всё AVR Prog программатором от Проттосса, за что ему огромное спасибо ))

Если есть вопросы - обращайтесь ))
PS. Дисплей можно питать от самого контроллера (смотрите мой корявый ангиццкий в *.h) и SPI(если я не ошибся в названии интерфейса) сделал программный, так что можно вешать на любой порт.
:beer:
Вложения
lcdg.zip
собственно библиотека
(2.19 КБ) 549 скачиваний
sun
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Ср окт 07, 2009 10:07:02
Откуда: Минск
Контактная информация:

Сообщение sun »

Проснулся, посмотрел в код, подумал.... вспомнил вчерашнее и загрустил...
На простеньких мегах памяти всего 1К а шрифт кушает 450 байт из них... надо как-то на плятку с дисплеем прикрутить памяти с шрифтами... вот только немогу додумать как обозначить массив, который будет указывать на внешнюю память, да ещё и с интерфейсом SPI... У кого есть какие мысли по этому поводу?
Аватара пользователя
Mamonth
Вымогатель припоя
Сообщения: 534
Зарегистрирован: Пн янв 16, 2006 08:00:17
Откуда: Иркутск

Сообщение Mamonth »

sun писал(а):Проснулся, посмотрел в код, подумал.... вспомнил вчерашнее и загрустил...
На простеньких мегах памяти всего 1К а шрифт кушает 450 байт из них... надо как-то на плятку с дисплеем прикрутить памяти с шрифтами... вот только немогу додумать как обозначить массив, который будет указывать на внешнюю память, да ещё и с интерфейсом SPI... У кого есть какие мысли по этому поводу?



А что хранение массивов в памяти программ уже отменили?? :shock: Оперативности смены шрифта вы не получите, однако иметь под рукой 2-3 будет уже неплохо...
Today fine night...
sun
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Ср окт 07, 2009 10:07:02
Откуда: Минск
Контактная информация:

Сообщение sun »

Mamonth писал(а):
sun писал(а):Проснулся, посмотрел в код, подумал.... вспомнил вчерашнее и загрустил...
На простеньких мегах памяти всего 1К а шрифт кушает 450 байт из них... надо как-то на плятку с дисплеем прикрутить памяти с шрифтами... вот только немогу додумать как обозначить массив, который будет указывать на внешнюю память, да ещё и с интерфейсом SPI... У кого есть какие мысли по этому поводу?



А что хранение массивов в памяти программ уже отменили?? :shock: Оперативности смены шрифта вы не получите, однако иметь под рукой 2-3 будет уже неплохо...


эммм.... а как это сделать.... точнее как его объявить можете примерчик? пусть массив:
char abc[] = {'a', 'b', 'c'}
как его держать в области кода?
Аватара пользователя
Mamonth
Вымогатель припоя
Сообщения: 534
Зарегистрирован: Пн янв 16, 2006 08:00:17
Откуда: Иркутск

Сообщение Mamonth »

Курить начинать здесь http://kazus.ru/forums/showthread.php?t=6401&page=2
Today fine night...
sun
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Ср окт 07, 2009 10:07:02
Откуда: Минск
Контактная информация:

Сообщение sun »

Спасибо всем за ответы...
Разобрался, сделал, теперь всё более компактно. Новую версию библиотеки скоро положу.
ВОзник новый вопрос и новая либа назревает... Вод индикатор заставил работать, как бы к этому индикатору теперь сд-ром прикрутить... Те проекты что есть - написаны на асме с вбитыми командами в код, пока пытался парсить глазами... извилину подвернул... Дорогие други, не могли бы вы поделиться системой команд сд-рома, таких как плей стоп и тому подобной нечисти, а то помру от мышлений....
Аватара пользователя
GRAF
Мудрый кот
Сообщения: 1867
Зарегистрирован: Ср янв 23, 2008 22:11:54
Откуда: Калининград

Сообщение GRAF »

Тоже с этим дисплеем играюсь, на дозиметр его приспособил.

Дописал в библиотеку русских букв и саму функцию вывода пришлось подкорректировать, не понимает CVAVR русский язык. Ещё и русский алфавит пришлось прописать, через код ASCII нихрена не работает.



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

void lcd_PutChar(char c)
{
  char i=0;
  for (i=0; ABC[i]!=0;i++)
  {
   if(c==ABC[i])
   {
    c=128+i;
    }
    }
  for (i = 0; i < 5; i++)
    lcd_Send(LCD_FONT[c - 32][i], LCD_DATA);
}


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

char ABC[]="АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя";


Изображение
Вложения
c55_lcd.h
(6.85 КБ) 552 скачивания
sun
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Ср окт 07, 2009 10:07:02
Откуда: Минск
Контактная информация:

Сообщение sun »

За русский шрифт спасибо. Я ещё выложу, времени небыло. Так шрифт гранится в оперативке, которой и так мало, я сделал, что бы он помещался в область кода. А по хорошему надо внешнюю память прилепить и контроллер типа 2313. Там можно и управление по всем протоколам сделать и автоматическую инициальзацию. Но до этого пока что руки не дошли...
Аватара пользователя
GRAF
Мудрый кот
Сообщения: 1867
Зарегистрирован: Ср янв 23, 2008 22:11:54
Откуда: Калининград

Сообщение GRAF »

Он сейчас во флешке хранится, 8 кб мало? :)
sun
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Ср окт 07, 2009 10:07:02
Откуда: Минск
Контактная информация:

Сообщение sun »

если говорить о небольших контроллераз, типа, тини, то мало.... код надо пихать а оно 256*5 и того не влезло в отведённые 2К ))

а про аски - посмотри, какие оно коды передаёт в русском варианте... (функция itoa) и вообще в CV не совсем стандарт С ((( мне самомму визарды там понравились, но увы
Аватара пользователя
GRAF
Мудрый кот
Сообщения: 1867
Зарегистрирован: Ср янв 23, 2008 22:11:54
Откуда: Калининград

Сообщение GRAF »

Да мне проще свою функцию написать, чем разбираться, какие там кодировки.
А что itoa? Она число в строку преобразует.
Её тоже использовал для подстановки значения фона в lcd_PutStr().
sun
Первый раз сказал Мяу!
Сообщения: 32
Зарегистрирован: Ср окт 07, 2009 10:07:02
Откуда: Минск
Контактная информация:

Сообщение sun »

Функцию, может, написать и проще, но она памяти больше займёт )))
может там просто не со 128 начинается, а со 160? и тогда ты освободишь память под массив и не будет этого прогона в цикле перед отрисовкой ))



ЗЫ твой код
char ABC[]="АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя\0";

------
ты проверяешь на ноль, а далее может быть прошивка и на дисплее будет чёрт знает что)) в конце обязательно "\0"
Аватара пользователя
GRAF
Мудрый кот
Сообщения: 1867
Зарегистрирован: Ср янв 23, 2008 22:11:54
Откуда: Калининград

Сообщение GRAF »

Может и со 160, а может там вообще русские буквы в юникоде или вин-1251 или койка какая-нибудь...


sun, прошивка не в стрингах записана, поэтому ничего страшного.
Закрыто

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