Например TDA7294

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





Текущее время: Ср апр 24, 2024 18:45:32

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


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



Начать новую тему Ответить на тему  [ Сообщений: 20 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Использование графического LCD WG12864A.
СообщениеДобавлено: Сб июн 09, 2007 23:27:22 
Первый раз сказал Мяу!

Зарегистрирован: Чт фев 15, 2007 21:46:57
Сообщений: 25
Рейтинг сообщения: 0
Сделал по аналогии с данной статьёй, т.е. процедуры записы, команд принципиально не отличаются, МК - ATMega8515. Проблема заключается в том, что если после установки X и У начать загружать данные в ОЗУ дисплея, то в итоге ничего не выводитсья, если послать только одну команду записи, после опять установить Х и У, снова команда на запись, снова ставить Х и У и т. д., то всё выводиться, но это по крайней мере не удобно. Тем более в даташите написано что после записи байта данных автоматически адрес столбца увеличивается на один, чего и не происходит. Что я делаю не правильно :cry: ? Вот код функций на всякий случай:
Код:

#define E         0b00000001
#define RD_W      0b00000010
#define A0        0b00000100
#define RST       0b00001000
#define C         PORTB.4
#define C_L       1
#define C_R       0
#define DATA PORTA       //Шина данных
#define COM PORTB       //порт управляющих выводов

void writecom (char com,char CS)
{
SBit(COM,E);
CBit(COM,RD_W);
PORTB.4=CS;
CBit(COM,A0);
#asm("nop");
#asm("nop");
DATA = com;
CBit(COM,E);
#asm("nop");
#asm("nop");
SBit(COM,E);;
}
void WriteData(char data, char CS)
{
SBit(COM,E);
CBit(COM,RD_W);
PORTB.4=CS;
SBit(COM,A0);
#asm("nop");
#asm("nop");
DATA=data;
CBit(COM,E);
#asm("nop");
#asm("nop");
SBit(COM,E);
CBit(COM,E);
}


void WriteXY(char x,char y,char CS)
{C=CS;
writecom((0b00000000+x),CS);
writecom((0b10111000+y),CS);
}


Вот так всё работать будет

Код:
init_LCD();
clear();
WriteXY(0,0,C_R);
WriteData(0b10101010,C_R);
WriteXY(1,0,C_R);
WriteData(0b01010101,C_R);
WriteXY(2,0,C_R);
WriteData(0b10101010,C_R);

а так, как положено, не хочет ни в какую:
Код:
init_LCD();
clear();
WriteXY(0,0,C_R);
WriteData(0b10101010,C_R);
WriteData(0b01010101,C_R);
WriteData(0b10101010,C_R);


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт июн 14, 2007 16:29:07 
Первый раз сказал Мяу!

Зарегистрирован: Чт фев 15, 2007 21:46:57
Сообщений: 25
Рейтинг сообщения: 0
После долгих эксперементов выяснилось что всё начинает работать как положено ещё дописать в функцию записи данных строчку очитски бита А0. Вот так теперь работает
Код:
void WriteData(char data, char CS)
{
SBit(COM,E);
CBit(COM,RD_W);
PORTB.4=CS;
SBit(COM,A0);
#asm("nop");
#asm("nop");
DATA=data;
CBit(COM,E);
#asm("nop");
#asm("nop");
SBit(COM,E);
CBit(COM,A0);
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Использование графического LCD WG12864A.
СообщениеДобавлено: Чт авг 11, 2011 19:36:15 
Родился

Зарегистрирован: Чт авг 11, 2011 14:58:46
Сообщений: 1
Откуда: Рига
Рейтинг сообщения: 0
Добрый день!
Поэкспериментировал с дисплеем на основе KS0108. Все получилось. Но я так и не понял для чего параметр Z (начальная область отображения). Что измениться, если, например, вместо Z=0 установить Z=2.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Использование графического LCD WG12864A.
СообщениеДобавлено: Пт сен 09, 2011 16:02:39 
Родился

Зарегистрирован: Пт фев 04, 2011 11:42:18
Сообщений: 18
Рейтинг сообщения: 0
На сайте MCS Electronics есть интересный для меня проект AN #148 - LCD display with touchscreen and AVR. Подскажите пожалуста кто знает тип дисплея с функцией тачскрин-а на базе контроллера KS0108.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Использование графического LCD WG12864A.
СообщениеДобавлено: Ср дек 28, 2011 16:51:13 
Первый раз сказал Мяу!

Зарегистрирован: Ср дек 15, 2010 16:49:44
Сообщений: 21
Рейтинг сообщения: 0
Подскажите пожайлуста, как самому шрифт написать, так как нужно внести некоторые значьки?
Как это дело вычисляется?


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Использование графического LCD WG12864A.
СообщениеДобавлено: Вт янв 31, 2012 17:36:46 
Родился

Зарегистрирован: Пт сен 11, 2009 06:11:41
Сообщений: 9
Откуда: Иркутск
Рейтинг сообщения: 0
Здравствуйте, подскажите пожалуйста, где взять библиотеку macros.h и другие?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Использование графического LCD WG12864A.
СообщениеДобавлено: Вс мар 18, 2012 06:55:41 
Открыл глаза

Зарегистрирован: Пн июн 13, 2011 07:19:23
Сообщений: 44
Рейтинг сообщения: 0
С выводом строк и графикой потихоньку стал понимать. А как сделать меню на GLCD? Не пинайте - я только только начинаю программировать. Желательно проект в протеусе...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Использование графического LCD WG12864A.
СообщениеДобавлено: Вс май 13, 2012 21:04:36 
Родился

Зарегистрирован: Ср окт 26, 2011 22:41:46
Сообщений: 3
Рейтинг сообщения: 0
Всем привет!
У меня ЖК WG240128B-TFH TZ# - с контроллером T6963C, в протеусе для отладки какую модель выбирать???

я нашёл LM3229 это 240*128 Graphical lcd - если работать с ним это 1к1 будет по отношению к моему ???
:kill:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Использование графического LCD WG12864A.
СообщениеДобавлено: Ср янв 23, 2013 18:16:46 
Родился

Зарегистрирован: Ср янв 23, 2013 18:06:17
Сообщений: 1
Рейтинг сообщения: 0
В конце статьи: http://www.radiokot.ru/lab/controller/15/
есть ссылки на исходники. Исходники не работают. В ICCV7 for AVR компилятор сходу выдаёт ошибку что не обнаружен "delay.h".
Люди добрые! Такая статья с виду классная, а повторить вывод строки в PROTEUS я так и не смог. Вышлите пожалуйста у кого есть рабочий проект.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Использование графического LCD WG12864A.
СообщениеДобавлено: Вс апр 07, 2013 16:09:33 
Грызет канифоль

Зарегистрирован: Пт апр 05, 2013 09:55:02
Сообщений: 252
Рейтинг сообщения: 0
сделал все как в статье.
запустил в proteus 7,1 - все работает.
Запустил в живую - не пашет. показывает засвеченный экран и все. потенциометр кручу верчу - появляется матрица пикселей/убывает матрица пикселей. картинка не выводится. в чем может быть проблема? подключение верно. камень работает без кварца на своей частоте 1 МГц. Atmega64.

экран не спалил 100%. у меня их два :-)

p.s. не хочу плодить одинаковые посты, по-этому, тем кто разобрался - плиииииз посмотрите в теме у меня: http://radiokot.ru/forum/viewtopic.php?f=20&t=87864


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Использование графического LCD WG12864A.
СообщениеДобавлено: Сб май 04, 2013 19:29:26 
Первый раз сказал Мяу!

Зарегистрирован: Вт апр 23, 2013 16:46:07
Сообщений: 33
Рейтинг сообщения: 0
Люди я приобрел дисплей 12864B V2.0
Так вот. Там немножко другая распиновка, не вижу CS1 и CS2
Там есть другие выходы как PSB, VOUT
я могу подключить таким же образом как WG12864A
пожалуйста объясните распиновку? на фото ниже...


Вложения:
Безымянный.jpg [80.28 KiB]
Скачиваний: 1078
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Использование графического LCD WG12864A.
СообщениеДобавлено: Пт ноя 15, 2013 20:43:18 
Прорезались зубы

Зарегистрирован: Вс мар 18, 2012 09:31:23
Сообщений: 218
Рейтинг сообщения: 0
Чем можно заменить команду NOP в компиляторе Atmel Studio 6,1??? не нравится она ему


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Использование графического LCD WG12864A.
СообщениеДобавлено: Чт окт 16, 2014 19:09:06 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пт апр 23, 2010 13:04:48
Сообщений: 69
Откуда: г.Киев
Рейтинг сообщения: 0
Nikitka писал(а):
Чем можно заменить команду NOP в компиляторе Atmel Studio 6,1??? не нравится она ему

asm ("nop");


Последний раз редактировалось AlekseyEnergo Пн окт 20, 2014 18:24:11, всего редактировалось 1 раз.
Нарушение пункта 2.7 правил форума. Предупрежден!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Использование графического LCD WG12864A.
СообщениеДобавлено: Пт ноя 07, 2014 07:23:36 
Родился

Зарегистрирован: Пт ноя 07, 2014 06:24:56
Сообщений: 1
Рейтинг сообщения: 0
Оговорюсь сразу, я новичок в области программирования МК, ну уж очень хочется разобраться и попробовать написать что то свое, у меня вопрос к автору статьи, не могли бы вы пояснить что означает эта запись:

Код:
#define SetBit(x,y) (x|=y)
#define ClrBit(x,y) (x&=~y)
#define TestBit(x,y) (x&y)


Я так понял это встроенные функции CVAVR, которые позволяют, устанавливать, очищать, и читать бит. То есть директива мне ясна, но не понятно что выполняют параметры указанные в скобочках после директивы:
Код:
(x|=y)
(x&=~y)
(x&y)

Помогите пожалуйста разобраться, не пинайте сильно, новичок я, совсем зеленый...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Использование графического LCD WG12864A.
СообщениеДобавлено: Вт дек 30, 2014 10:12:33 
Прорезались зубы

Зарегистрирован: Вс мар 18, 2012 09:31:23
Сообщений: 218
Рейтинг сообщения: 0
помогите разобраться с данным дисплеем. Подробнее написал тут. viewtopic.php?f=61&t=111518&p=2223895#p2223895


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Использование графического LCD WG12864A.
СообщениеДобавлено: Ср мар 21, 2018 09:56:56 
Встал на лапы
Аватар пользователя

Карма: 3
Рейтинг сообщений: 10
Зарегистрирован: Пн ноя 07, 2016 12:14:14
Сообщений: 134
Рейтинг сообщения: 0
Здравствуйте! Вот мучаю дисплей MT-12864J. В даташите написано:
Цитата:
Для начальной установки модуля необходимо подать сигнал RES равный логическому «0» длительностью не
менее 1 мкс. При этом модуль выполняет команды установки Display Start Line в 0, DisplayOff. После
деактивации сигнала RES (переключения в логическую «1» с временем фронта не более 200 нс) необходимо
дождаться сброса битов BUSY и RESET в регистре состояния обоих кристаллов или выдержать паузу не менее
10 мкс. После этого модуль нормально функционирует


Я правильно понимаю, мне нужно подать на RES лог.0, подождать 1 мкс, подать на RES лог. 1, подождать 10 мкс.
Код:
void LSD_Ini(void)
{
   RES_OFF; //nachalnaya ustanovka
   delay_us(10); 
   RES_ON;
   delay_us(5000);
   while(GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_7)||GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_4)); //Цикл выполняется пока BUSY и RESET не станут нулями.
//   delay_us(100);
//   delay_us(1);
   SetXY(0,0,(CS1+CS2));//ustanovka nachala koordinat dlya cristalov
   
   WriteCom(0xc0,(CS1+CS2));//Display Start Line
   
   WriteCom(0x3f,(CS1+CS2));//Display ON
}


Условия выполняются, но на RES так и остается лог. 1. Дисплей не работает. Он должен сам сброситься или должен быть лог.1? Или его надо сбрасывать принудительно?

_________________
Я конечно все понимаю, но этого я не понимаю.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Использование графического LCD WG12864A.
СообщениеДобавлено: Чт мар 22, 2018 10:09:48 
Встал на лапы
Аватар пользователя

Карма: 3
Рейтинг сообщений: 10
Зарегистрирован: Пн ноя 07, 2016 12:14:14
Сообщений: 134
Рейтинг сообщения: 0
Все заработало. RES должна быть единицей, а не работало потому что на одной ножке напряжение просело. +Дисплей все-таки работает только от 5В, хотя в даташите написано, что от 3 В тоже должен.

Добавлено after 1 minute 18 seconds:
Все заработало! RES должна быть единицей, а не работало потому что на одной ножке напряжение просело. +Дисплей все-таки работает только от 5В, хотя в даташите написано, что от 3 В тоже должен.

_________________
Я конечно все понимаю, но этого я не понимаю.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Использование графического LCD WG12864A.
СообщениеДобавлено: Пт янв 11, 2019 21:57:57 
Родился

Зарегистрирован: Пт янв 11, 2019 21:39:37
Сообщений: 4
Рейтинг сообщения: 0
Здравия! Переделываю проект на AtMega16 и попутно переназначаю на PORTA и PORTC. Проверяю в Proteus, не работает :( Код пишу в AvrStudio.
Это мой первый проект где использую графический дисплей поэтому скорее всего ошибка очень глупая :lol: Прошу помощи корифеев :)
Изображение


Вложения:
GLCD_Test.c [3.64 KiB]
Скачиваний: 613
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Использование графического LCD WG12864A.
СообщениеДобавлено: Сб янв 12, 2019 23:36:22 
Родился

Зарегистрирован: Пт янв 11, 2019 21:39:37
Сообщений: 4
Рейтинг сообщения: 0
Решил задачку. Как оказалось банальная не внимательность, при инициализации дисплея нужно выставить бит RST в 1 и не снимать в дальнейшем. В этом случае всё прекрасно функционирует :))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Использование графического LCD WG12864A.
СообщениеДобавлено: Вс янв 13, 2019 21:49:16 
Родился

Зарегистрирован: Пт янв 11, 2019 21:39:37
Сообщений: 4
Рейтинг сообщения: 0
Ктонить имеет опыт работы с дисплеями WG12864B? Нашёл инфу что основное отличие от WG12864A заключается в инверсии сигнала для CS1 и CS2, ну и распиновка соответственно. Два дня пытаюсь в реальном железе воспроизвести, в протеусе всё ок, в на макетке дисплей не отображает что я ему отправляю. Контрастность работает хорошо, через ардуину вывожу данные нормально, а с помощью моей программы для Mega16 никак :,(


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 20 ] 

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


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

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


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

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


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