Дисплеи от мобильных телефонов- осцилограммы работы

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
dgrett
Вымогатель припоя
Сообщения: 615
Зарегистрирован: Вс дек 28, 2014 21:54:05

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение dgrett »

Привет уважаемым мудрым котам. Ковыряю библиотеку для LPH9157-2. Прошу помощи разобраться в принципе работы функции. Судя по тому, что маска сдвигается влево, шлём сначала младший бит? Или я не так понимаю?
Так надо или всёже надо со старшего? В таблице баиты (напр. для символа "А") такие:
0x7E, 0x11, 0x11, 0x11, 0x7E
Я ещё ничего в железе не делал, только разбираюсь. Запутался в конец. :?
Спойлер//=========
// Функция прорисовки символа на дисплее без цвета фона
//=========
void Send_Symbol_Shadow (unsigned char symbol, char x, char y, int t_color, char zoom_width, char zoom_height)
{
unsigned char temp_symbol, a, b, zw, zh, mask;
char m, n;
m=x;
n=y;
if (symbol>127) symbol-=64; //Убираем отсутствующую часть таблицы ASCII
for ( a = 0; a < 5; a++) //Перебираю 5 байт, составляющих символ
{
temp_symbol = font_5x8[symbol-32][a];
zw = 0;
while(zw != zoom_width) //Вывод байта выполняется zw раз
{
switch(rot)
{
case 0: case 180: n=y; break;
case 90: case 270: m=x; break;
}
mask=0x01;
for ( b = 0; b < 8; b++ ) //Цикл перебирания 8 бит байта
{
zh = 0; //в zoom_height раз увеличится высота символа
while(zh != zoom_height) //Вывод пикселя выполняется z раз
{
switch(rot)
{
case 0: case 180:
if (temp_symbol&mask)
{
Put_Pixel (m+zw, n+zh, t_color);
}
break;
case 90: case 270:
if (temp_symbol&mask)
{
Put_Pixel (m+zh, n+zw, t_color);
}
break; //Получить адрес начального пикселя по оси y для вывода очередного байта
}
zh++;
}
mask<<=1; //Смещаю содержимое mask на 1 бит влево;
switch(rot)
{
case 0: case 180: n=n+zoom_height; break;
case 90: case 270: m=m+zoom_height; break;
}
}
zw++;
}
switch(rot)
{
case 0: case 180: m=m+zoom_width; break;
case 90: case 270: n=n+zoom_width; break;
}
}
}
Я всё-всё узнAю и стану профессором.
Аватара пользователя
GARMIN
Держит паяльник хвостом
Сообщения: 952
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда
Контактная информация:

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение GARMIN »

Да, ты прав, вначале младший бит, потому что вначале mask = 0x01. Потом маска сдвигается влево и передаётся второй бит и т.д.
dgrett
Вымогатель припоя
Сообщения: 615
Зарегистрирован: Вс дек 28, 2014 21:54:05

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение dgrett »

GARMIN писал(а):Да, ты прав, вначале младший бит, потому что вначале mask = 0x01. Потом маска сдвигается влево и передаётся второй бит и т.д.

Ну столько-то я понимаю, хоть и полный профан в С. Я не понял, так и должно быть?. И ещё. Зачем во всех циклах проверяется угол поворота экрана? Если проверку вынести в самое начало функции и установить ФЛАГ в зависимости от поворота (ещё 1 переменная) и потом вместо проверки на поворот просто AND ФЛАГ,- не будет ли быстрее работать?
Вообще-то перекраиваю под ассемблер... (Профан же :))) )
Я всё-всё узнAю и стану профессором.
Аватара пользователя
GARMIN
Держит паяльник хвостом
Сообщения: 952
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда
Контактная информация:

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение GARMIN »

Учиться никогда не поздно. :)
Я тоже посматриваю листинг ассемблера после компиляции, чтобы проверить, насколько оптимально написана программа, но первичным нужно делать си.
dgrett
Вымогатель припоя
Сообщения: 615
Зарегистрирован: Вс дек 28, 2014 21:54:05

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение dgrett »

Просто учиться не хватает самого дорогого - времени :( . Писать на асме начал для Зайлоговского Z80, когда ни С ни тем более AVR небыло. Интуитивно чувствую, что делает программа на С, но сам что либо написать ПОКА не в силах. Потому с месяц назад и просил здесь помощи, но, видно, не дождусь :cry: . На свои вопросы ответов не получаю, наверно глупые те вопросы... Ковыряюсь дальше. Сам, всё только сам...
Может и рожУ что. Спасибо, что вообще ответили!
Я всё-всё узнAю и стану профессором.
dgrett
Вымогатель припоя
Сообщения: 615
Зарегистрирован: Вс дек 28, 2014 21:54:05

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение dgrett »

Привет котам, Запустил я свой LPH-9157-2. Всё какое-то время работало отлично, но потом стал замечать, что цвета пошли не те.. В общем, не гасится зелёный (горит вполнакала даже если вывожу чёрный), да и красный "подсвечивает". Красный еле светит. В итоге цвета искажены. Если даю инверсию (0х21) то Красный светит нормально (опять же вместе с зелёным). Это что - хана дисплею или таблица цветов сбилась? Если таблица (0х2D) - то что там должно быть? (там 128 байт) Команду 0х2D я не посылал. Питаю от 3,3V, входы - через делители.
Я всё-всё узнAю и стану профессором.
Chettuser

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение Chettuser »

Есть дисплеи от Samsung C3300 (LMS241GF66) и Nokia 5600s-1(LS022...), попадалось ли что-нибудь на них?
Аватара пользователя
BigallS
Опытный кот
Сообщения: 752
Зарегистрирован: Пт апр 15, 2011 21:11:22
Откуда: Россия

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение BigallS »

По дисплеям LS022... я ранее приводил ссылку http://phreakerclub.com/464
Chettuser

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение Chettuser »

Кто знает, что случилось с сайтом, откуда я п@здил схемы сотовых, в частности подключение дисплеев?
http://service-schematics.ru/
Месяц назад работал, а сейчас посылает на X.
Аватара пользователя
Oxford
Опытный кот
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск
Контактная информация:

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение Oxford »

Так работает сайт.
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Chettuser

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение Chettuser »

Изучаю даташит на SPFD54124B. В упор не вижу рекомендаций как его инициализировать. Ткните носом, пожалуйста. :(
Аватара пользователя
misha274
Открыл глаза
Сообщения: 46
Зарегистрирован: Чт дек 16, 2010 18:59:28
Откуда: Энгельс

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение misha274 »

dgrett писал(а):Привет уважаемым мудрым котам. Ковыряю библиотеку для LPH9157-2. Прошу помощи разобраться в принципе работы функции. Судя по тому, что маска сдвигается влево, шлём сначала младший бит? Или я не так понимаю?
Так надо или всёже надо со старшего? В таблице баиты (напр. для символа "А") такие:
0x7E, 0x11, 0x11, 0x11, 0x7E
Я ещё ничего в железе не делал, только разбираюсь. Запутался в конец. :?
Спойлер//=========
// Функция прорисовки символа на дисплее без цвета фона
//=========
void Send_Symbol_Shadow (unsigned char symbol, char x, char y, int t_color, char zoom_width, char zoom_height)
{
unsigned char temp_symbol, a, b, zw, zh, mask;
char m, n;
m=x;
n=y;
if (symbol>127) symbol-=64; //Убираем отсутствующую часть таблицы ASCII
for ( a = 0; a < 5; a++) //Перебираю 5 байт, составляющих символ
{
temp_symbol = font_5x8[symbol-32][a];
zw = 0;
while(zw != zoom_width) //Вывод байта выполняется zw раз
{
switch(rot)
{
case 0: case 180: n=y; break;
case 90: case 270: m=x; break;
}
mask=0x01;
for ( b = 0; b < 8; b++ ) //Цикл перебирания 8 бит байта
{
zh = 0; //в zoom_height раз увеличится высота символа
while(zh != zoom_height) //Вывод пикселя выполняется z раз
{
switch(rot)
{
case 0: case 180:
if (temp_symbol&mask)
{
Put_Pixel (m+zw, n+zh, t_color);
}
break;
case 90: case 270:
if (temp_symbol&mask)
{
Put_Pixel (m+zh, n+zw, t_color);
}
break; //Получить адрес начального пикселя по оси y для вывода очередного байта
}
zh++;
}
mask<<=1; //Смещаю содержимое mask на 1 бит влево;
switch(rot)
{
case 0: case 180: n=n+zoom_height; break;
case 90: case 270: m=m+zoom_height; break;
}
}
zw++;
}
switch(rot)
{
case 0: case 180: m=m+zoom_width; break;
case 90: case 270: n=n+zoom_width; break;
}
}
}



А еще можно покурить регистры "Partial....."
Я по поводу кода вывода символа. Циклы циклы циклы.
BEST-83154
Прорезались зубы
Сообщения: 218
Зарегистрирован: Ср дек 02, 2015 15:06:01

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение BEST-83154 »

у кого есть библиотеки под цветные дисплеи?
например такого плана TFT 5110
поделитесь!
https://ru.aliexpress.com/item/J34-F85- ... 5540d63412
Аватара пользователя
khomych
Мучитель микросхем
Сообщения: 423
Зарегистрирован: Сб фев 21, 2009 16:11:32
Откуда: Харьков
Контактная информация:

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение khomych »

Доброго времени суток, уважаемые. Подскажите пожалуйста по поводу дисплея от Siemens A70.
Подключал еще давно к атмеге, будто разобрался, заработал. Вот, сегодня решил подключить к STM32F103C8T6, библиотеки портировал. Питание STM-ки естественно от 3,3В, на дисплее ничего не выводится, контрастность на максимум поставил, если очень сильно присмотреться, то почти получается различить выводимую информацию, подаю на дисплей питание 5В - все отлично выводится. Есть ли у кого-нибудь опыт подрубания этого дисплея к 3,3В?

Нашел пару проектов по подключению этого дисплея к STM, брал инициализацию с них - та же проблема
Аватара пользователя
бгкот
Мучитель микросхем
Сообщения: 450
Зарегистрирован: Пт фев 20, 2009 21:45:04
Откуда: Болгария
Контактная информация:

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение бгкот »

Вот кусок из проэкта, отвечающий за инициализацию и установку контраста:

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

Proc LCD_Command(Command As Byte)
  LCD_DC = 0
  DelayCS 1
  LCD_CS = 0
  DelayCS 1
  SHOut LCD_SDA,LCD_CLK,MsbFirst,[Command]
  DelayCS 1
  LCD_CS = 1
EndProc

Proc LCD_Init()' Siemens A70  102x64 pix.
  LCD_Reset()
  LCD_Command($21)      'LCD EXTENDED COMMANDS
  LCD_Command(Contrast)      'SET LCD Vop (CONTRAST), init value = $C8
  LCD_Command($14)      'LCD BIAS MODE
  LCD_Command($0B)
  LCD_Command($05)      'SET TEMP COEFFICENT
  LCD_Command($20)      'LCD STANDARD COMMANDS
  LCD_Command($11)
  LCD_Command($0C)      'LCD IN NORMAL MODE
EndProc

Proc LCD_Contrast(Contrast As Byte)
  LCD_Command($21)
  LCD_Command(Contrast)      'SET CONTRAST
  LCD_Command($20)
  LCD_Command($11)
  LCD_Command($0C)
EndProc


А вот и как работает: https://www.youtube.com/watch?v=RM_3OMl8NG4
©"Good indian is dead one!"
Аватара пользователя
musor
Друг Кота
Сообщения: 39197
Зарегистрирован: Сб сен 13, 2014 16:27:32
Откуда: СпиртоГонск созвездия Омега

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение musor »

Siemens A70.... фу какя древность... и ult их берете если работать с семенами надо брать от с65 с75-самые изученые и масовые
кстати все семеновские диспы имеют питание 2,9в!!! подать на них 3в3 еще с болшим натягом можно ...но 5в это... :shock: :facepalm: уже полный беспредел ...а че мелочится давай уж сразу 230... :)))
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Аватара пользователя
бгкот
Мучитель микросхем
Сообщения: 450
Зарегистрирован: Пт фев 20, 2009 21:45:04
Откуда: Болгария
Контактная информация:

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение бгкот »

Дисплеи от Siemens A70 очень удобные - паябельные и с встроенной подсветкой, работают без замечаний при напряжении питания от 2,7 до 3,6 вольт, это проверено, дальше просто не пробовал.
©"Good indian is dead one!"
Аватара пользователя
khomych
Мучитель микросхем
Сообщения: 423
Зарегистрирован: Сб фев 21, 2009 16:11:32
Откуда: Харьков
Контактная информация:

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение khomych »

бгкот, спасибо за пример кода. к сожалению он не работает на моем дисплее. то ли он подпаленный, то ли контроллер глючный или немного не тот (не получается поменять адресацию, режим норм/инверсный). всем спасибо, просто стало скучно, хотел поиграться с этим дисплеем. ну, от 5В работает хорошо и то неплохо
Аватара пользователя
musor
Друг Кота
Сообщения: 39197
Зарегистрирован: Сб сен 13, 2014 16:27:32
Откуда: СпиртоГонск созвездия Омега

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение musor »

зря ты на него 5в подаешь...это в 2раза от нормы! я понимаю что немцы живучие если ориг
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает
Аватара пользователя
бгкот
Мучитель микросхем
Сообщения: 450
Зарегистрирован: Пт фев 20, 2009 21:45:04
Откуда: Болгария
Контактная информация:

Re: Дисплеи от мобильных телефонов- осцилограммы работы

Сообщение бгкот »

Немцы здесь нипричем, это корейцам спасибо - "ориг" дисплей HP10534 сделали в Hyundai LCD Inc., но конечно 5в. это перебор.
©"Good indian is dead one!"
Ответить

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