Например TDA7294

Форум РадиоКот • Просмотр темы - Начинаю разбираться с графическим диплеем. Кое-что неясно.
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Сб авг 23, 2025 18:41:54

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 16 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Начинаю разбираться с графическим диплеем. Кое-что неясно.
СообщениеДобавлено: Чт окт 09, 2008 17:42:59 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Вт мар 04, 2008 20:03:03
Сообщений: 568
Откуда: Нижний Новгород
Рейтинг сообщения: 0
Здравствуйте все! Начал я разбираться потихоньку с графическим дисплеем, почитал статью в разделе "Лаборатория", и сразу столкнулся с первой проблемой:
Я не понимаю каким образом каждый символ в файле symvol.h кодируется всего пятью числами? к примеру- {0x7e,0x11,0x11,0x11,0x7e}, //Буква A
По столбикам вертикально чтоли?
Копался долго в инете, а ничего, где принципы данных девайсов подробно разжеваны на русском не нашел. :cry:

_________________
Трудно быть деревянным, совсем трудно....


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 09, 2008 17:57:16 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Вс мар 04, 2007 13:14:25
Сообщений: 375
Откуда: Украина
Рейтинг сообщения: 0
Я недавно осваивал LCD от Nokia3310 и там в даташите всё прикросно расказывается как выводятся данные по 8 пикселей вертекально за одну команду по SPI. Рекомендую почитать даташит. 8)

_________________
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 09, 2008 18:27:13 
Вымогатель припоя
Аватар пользователя

Зарегистрирован: Вт мар 04, 2008 20:03:03
Сообщений: 568
Откуда: Нижний Новгород
Рейтинг сообщения: 0
а по-русски есть чего? Можешь кинуть, к примеру на рапиду или депозит, чтоб долго не искать?

_________________
Трудно быть деревянным, совсем трудно....


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 10, 2008 11:16:12 
Мучитель микросхем

Зарегистрирован: Вт июл 22, 2008 08:10:54
Сообщений: 492
Рейтинг сообщения: 0
А чего тут жевать-то?
Если речь идет о дисплее подобном тому, что в примере, то 1 точка на экране - 1 бит. Стандартный шрифт 5 на 8 точек. Вот и получается, что информация об 1 символе хранится в 5 байтах. И ваше предположение верно - в этом случае именно по столбикам.
Можно и по строкам хранить. У каждого из способов свои достоинства и недостатки.
Информацию на экран можно выводить как байтом, так и битом.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 10, 2008 14:00:13 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Вс мар 04, 2007 13:14:25
Сообщений: 375
Откуда: Украина
Рейтинг сообщения: 0
Ну рассмотрим пример с LCD от Nokia 3310. За один раз можно вывести только один столбец по вертикале на 8 пикселей. Командой такого типа 0b01110111... 1-пиксель горит. 0-пиксел не горит. После того как был выведенодин столбец, ЖК сам автоматически переходит на слебуйший столбец, и так до конца матрицы. Вот цветная илюстрация работы с LCD 3310.


Вложения:
92d9927194c.gif [2.21 KiB]
Скачиваний: 824

_________________
Изображение
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн ноя 03, 2008 17:00:54 
Поставщик валерьянки для Кота

Карма: 11
Рейтинг сообщений: 58
Зарегистрирован: Пт окт 31, 2008 09:38:55
Сообщений: 1957
Откуда: Одесса
Рейтинг сообщения: 0
Ребят, мне б ваши проблемы :)
Ладно выводить буквы - просто и так далее....а вот кто ответит на вопрос - как выводить графику?
например кружочек 8х8 точек это понятно и просто.....да вот нет....а как его теперь перечеркнуть? для этого надо побитовое или....а для него надо старое значение столбика :(....где ж ты все эти столбики удержишь в памяти? 12 * ширину(68) 816 байт... говорят нокия предусмотрела возможность чтения из екрана....да только как это реализовать?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн ноя 03, 2008 17:48:06 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Вс мар 04, 2007 13:14:25
Сообщений: 375
Откуда: Украина
Рейтинг сообщения: 0
А зачем с него читать?! :shock:
Вот до сих пор все работали с ним, и никто не жалаовался. :)
Тем более что там стоит односторонний SPI поправте если ошибаюсь...
Может кто подключал дисплей от ERICSSON T28 к МК, знаю что работает по i2c, каие команды для инициализации?

_________________
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 04, 2008 12:40:59 
Поставщик валерьянки для Кота

Карма: 11
Рейтинг сообщений: 58
Зарегистрирован: Пт окт 31, 2008 09:38:55
Сообщений: 1957
Откуда: Одесса
Рейтинг сообщения: 0
Хорошо, ответь мне на вопрос как мне нарисовав кружочек
01111110
10000001
10000001
10000001
10000001
10000001
10000001
01111110

выводя столбиками байты теперь перечеркнуть его по типу

01111110
10000001
10000001
11110001
10001111
10000001
10000001
01111110

при этом я не знаю что этот кружочек там был(фотовая картинка например загружена была)
мне надо взять с экрана первый столбик - 01111110 и следать лог ИЛИ с 00010000 = 01111110 - записать его в память экрана потом взять второй байт - 10000001 и тоже ИЛИ с 00010000 = 10010001 и записать в память экрана и так далее!
мне нужно попиксельное рисование а не побайтово-столбиковое :)
да....побайтово-столбиком УДОБНО ВЫВОДИТЬ БУКВЫ ибо на фоне букв нету ничего....а мне надо например разлиновать сеткой пунктирной экран с шагом в 5 пикселов(5 пустых шестой - точка , 7...пустых и т.д.) и потом туда по точке рисовать график ну допустим тупой - температурный, причём с возможностями приближать участок(значения каждые 5 минут читаются и пишутся в еепром)вот минимум это весь день а максимум - это одна точка каждые 5 минут - вот это мне надо......с этого экранчика.....следовательно мне надо либо хранить весь массив точек на экране зажженных либо юзать память экрана что есть более правильно и так далее....но надо научиться считывать биты или байты-столбики с экрана


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 04, 2008 12:58:45 
Модератор
Аватар пользователя

Карма: 27
Рейтинг сообщений: 58
Зарегистрирован: Пн апр 03, 2006 11:43:25
Сообщений: 4517
Откуда: Санкт - Петербург
Рейтинг сообщения: 0
Медали: 3
Получил миской по аватаре (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Если мне память не изменяет, этот экран на контроллере KS0066? а он, по-моему, не умеет управлять областью отобажения побитово (поправьте, если ошибаюсь). Если это очень критично, возьмите что-нибудь на T6963 от Toshiba, там эта функция точно есть (вот практически сейчас разбираюсь с таким экранчиком 240х128), но опять таки, надо все равно впихивать в индикатор чельный байт, чтобы зажечь/погасить точку.

_________________
Оптимизм х (Опыт + Знания) = const


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 04, 2008 15:29:46 
Поставщик валерьянки для Кота

Карма: 11
Рейтинг сообщений: 58
Зарегистрирован: Пт окт 31, 2008 09:38:55
Сообщений: 1957
Откуда: Одесса
Рейтинг сообщения: 0
Цитата:
Lcd
First we need to extract/salvage the LCD from the Nokia 3310 mobile phone. Be extremely careful and patient during this process, because as you know the display is just a thin piece of glass that is very sensitive.

There is an 8 pin connector on the back of the display, in our case it's glued to the glass (Nokia 3210 has “rubber” connectors so this one is much easier to use). This is a Phillips PCD8544 display, it can be easily found on the net if you want more information about it.


єто цитатка из инструкции по изготовлению популярнейшего цифротермометра на ПИКе.....тут ясно сказано - контроллер Филипс PCD8544http://www.myplace.nu/mp3/files/pcd8544.pdf


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт ноя 04, 2008 17:57:08 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Вс мар 04, 2007 13:14:25
Сообщений: 375
Откуда: Украина
Рейтинг сообщения: 0
Вот даташит нашол на ERICSSON T28, но в нём про инициализацию ничего вразумительного не нашол, может кто обяснит как провести инициализацию? :roll:


Вложения:
Ericsson T29 LCD.zip [145.39 KiB]
Скачиваний: 327

_________________
Изображение
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт янв 02, 2009 23:43:47 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пн фев 05, 2007 15:11:20
Сообщений: 59
Рейтинг сообщения: 0
вот есть такая ссылка
http://sandiding.tripod.com/lcdt28.html

вообще там лежит инфа про многие дисплеи от мобил и немного про работу с каждым из них.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 17, 2009 19:18:19 
Встал на лапы

Карма: 4
Рейтинг сообщений: 13
Зарегистрирован: Пт мар 06, 2009 22:54:37
Сообщений: 130
Откуда: Курган
Рейтинг сообщения: 0
clawham писал(а):
Ребят, мне б ваши проблемы :)
Ладно выводить буквы - просто и так далее....а вот кто ответит на вопрос - как выводить графику?
например кружочек 8х8 точек это понятно и просто.....

А можно по подробнее тупому, как мне вывести рисунок например 10х10? Желательно в CVAVR.

_________________
Владимир


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Сб апр 11, 2009 18:36:53 
Поставщик валерьянки для Кота

Карма: 11
Рейтинг сообщений: 58
Зарегистрирован: Пт окт 31, 2008 09:38:55
Сообщений: 1957
Откуда: Одесса
Рейтинг сообщения: 0
Есть два варианта ещё из школы на паскале - либо ты хранишь все свои данные в массиве (оперативка) типа BOOLEAN(тоесть 0 или 1) а размер массива - 48 на 84. рисую графики сетки подписи и т.д. - рисуешь как хочешь и чем хочешь в своём массиве а по таймеру там например или какому-то другому источнику - "Обновляешь" экран - тоесть запускаешь процедурку которая твой массив постолбиково выгружает полностью на только что сброшенный и переинициализированный экранчик НО...есть одно большое но - памяти то у нас малавата.....потому можно ещё 2 варианта придумать - например хранить базовые "фоны" как картинки - тоесть в еепром зашить массивы из БАЙТОВ расположенных по строчкам и столбцам(ну чтоб легче было) а потом при входе например в закладку - график(в программе) перед выводом точки сначала высчитать номер строки(8-мибитовой) а потом сделать ИЛИ уже той точки и того что в этом месте в ЕЕПРОМЕ написано

ну или третий вариант - просто сетка - это уравнение....и условие его просто х=2*у например....тогда опять же в конце вывода делать ИЛИ того что даст уравнение и того что дал график

Например вот я рисую синусоиду на этом дисплее
Код:
void lcd_putdot(char x, char y)
{
    if(y>46) y=46;
    if(y<1) y=1;
   
    if(x<1>84) x=84;
   
    writecomm((0x80|x)); // х - это номер столбика - он у нас один в один
    writecomm((0x40|y/8));
    DC = 1;
    spi(0b00000001 <<y>167)
{
    motor_step = 1;
    lcd_clear();
}
// бум выводить синусоиду
lcd_putdot(motor_step/2, (char)(24+10*sin((float)(motor_step-24)/8)));


switch(motor_step/40){
    case 1:
        PORTC = 0b00001001;
        break;
    case 2:
        PORTC = 0b10010000;
        break;
    case 3:
        PORTC = 0b00000110;
        break;
    case 4:
        PORTC = 0b01100000;
        break;   
}

OCR0=0xFF;
}

ну здесь я ещё лампочками дергаю :) типа шагового двигателя :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс апр 12, 2009 16:06:08 
Поставщик валерьянки для Кота

Карма: 11
Рейтинг сообщений: 58
Зарегистрирован: Пт окт 31, 2008 09:38:55
Сообщений: 1957
Откуда: Одесса
Рейтинг сообщения: 0
Это чтото раз 5 пытался 2 процедуры выложить - всё время какой-то бред получается
Вот обработка прерывания таймера
Код:
interrupt [TIM0_COMP] void timer0_comp_isr(void)
{
// Place your code here
// по таймеру шагать будет наш шаговый моторь

// шагов у нас пока что 4
motor_step+=1;
if(motor_step>167)
{
    motor_step = 1;
    lcd_clear();
}
// бум выводить синусоиду
lcd_putdot(motor_step/2, (char)(24+10*sin((float)(motor_step-24)/8)));


switch(motor_step/40){
    case 1:
        PORTC = 0b00001001;
        break;
    case 2:
        PORTC = 0b10010000;
        break;
    case 3:
        PORTC = 0b00000110;
        break;
    case 4:
        PORTC = 0b01100000;
        break;   
}

OCR0=0xFF;
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс апр 12, 2009 16:07:11 
Поставщик валерьянки для Кота

Карма: 11
Рейтинг сообщений: 58
Зарегистрирован: Пт окт 31, 2008 09:38:55
Сообщений: 1957
Откуда: Одесса
Рейтинг сообщения: 0
а это процедура рисования тоучи к абсолютных координатах монитора

Код:
void lcd_putdot(char x, char y)
{
    if(y>46) y=46;
    if(y<1) y=1;
   
    if(x<1>84) x=84;
   
    writecomm((0x80|x)); // х - это номер столбика - он у нас один в один
    writecomm((0x40|y/8));
    DC = 1;
    spi(0b00000001 << y%8);   
}


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 16 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y