Tag Archives: LCD

STM32. Контроллер внешней параллельной памяти FSMC

У микроконтроллеров собственной памяти мало, даже если говорить о каком-нибудь жирном прежирном Corteх, все равно: как волка ни корми, а у медведя, т.е. полноценного компьютера, толще. Поэтому практически все микроконтроллеры, в своем жирном исполнении так или иначе позволяют подцеплять к себе внешнюю параллельную память. Даже древний, как говно мамонта, АТ89С51 это умел. Что уж говорить про AVR и STM32.

▌Параллельная память

Для такой памяти характерны две черты: наличие двух шин: адреса и данных, и разных там стробов. На чтение, запись, тактовых и прочих. А вся суть работы с ними предельно простая. Чтение — мы выставляем на ногах адресной шины (коих обычно от 16 до 32) адрес нужной ячейки, отдельной ногой указываем, что у нас чтение, дергаем стробом и на шине данных (8 или 16 бит, обычно) появляется желанные байты. Запись похожим образом, только тут на шину данных мы выкладываем то, что хотим записать, на адресную шину кладем адрес куда надо записать, расставляем контрольную линию в режим записи и дергаем стробом. Опа, данные в памяти. Поскольку тут не требуется совершать сложных логических действий, то это все работает очень быстро, а реализовать можно даже на логике рассыпной. Естественно, что в разных МК такие интерфейсы были всегда.
(далее…)

Read More »

Работа с графическим дисплеем SSD1298

Все больше радиолюбителей предпочитают встроить в свое изделие графический ЖК дисплей. По поводу использования в такой роли черно-белых дисплеев от сотовых телефонов в сети уже много информации, а цветных – ограничено парой-тройкой статей. Пора добавить еще одну :)
 

Данная статья преследует цель рассмотреть нюансы управления большим цветным LCD при помощи микроконтроллера серии STM8. Рассматривать будем на примере дисплея китайского производства типа SX-TG280SDCPET00 с контроллером SSD1298 и STM8L162S8T6. Дисплей данный был выдран из игровой приставки QUMO GameBox LE. Вот такой:


 
Дисплей может называться и по-другому. Главное – чтоб контроллер в нем был SSD1298. Да и код можно легко портировать куда угодно, благо на Си написан. Вообще их можно купить в китае на Али, например тут.

Ниже я приведу коды и для других типов контроллеров, но за их неимением не могу проверить работоспособность.
 

Описание дисплея и его контроллера
Дисплей с контроллером SSD1298 представляет собой удобный для крепления и пайки законченный модуль с гибким шлейфом. К основной плате устройства он соединяется методом пайки 37-ми контактов.
 

  • Разрешение: 320*240 точек
  • Размер видимой области: 58*49 мм
  • Общий размер модуля: 50*70 мм.

 

Контроллер предоставляет широкие возможности для конфигурации вывода изображения: Есть возможность вывода информации при различном повороте дисплея*, определение области вывода информации*, определение порядка поступления данных о цвете точки и количестве бит на точку* и прокрутка видимой области. Все это делается путем записи определенных значений в регистры конфигурации контроллера.
 
(далее…)

Read More »

Работа с графическим дисплеем WG12864 на базе контроллера KS0107

Обычно для вывода информации сигнального дисплея на HD44780 более чем достаточно. Но иногда нужно нарисовать картинку, график или хочется сделать красиво, с модными менюшками. Тут на помощь приходят графические дисплеи. Одним из самых простых и доступных является дисплей на контроллере KS0107 или аналоге. Например, WG12864A от Winstar. Сам дисплей вполне свободно достается, имеет довольно большой размер (диагональ около 80мм) и разрешение 128х64 пикселя. Монохромный. Цена вопроса 400-500р.
 

Вот такой вот:

(далее…)

Read More »

AVR. Учебный Курс. Библиотека для LCD на базе HD44780

Сел я и дописал свою библиотеку для LCD на базе HD44780.

Как она работает я тут расписывать не буду — код весьма плотно фарширован комментариями. Тем более я уже рассказывал как работать с этим дисплеем Поэтому, думаю, разберетесь. Если будут вопросы, то обращайтесь. Тут же я расскажу как ей пользоваться.

Состав
Библиотека состоит из двух файлов LCD.asm и LCD_macro.inc для подключения по 8ми битной шине и LCD4.asm и LCD4_macro.inc для подключения по четырех битной шине данных. Используете тот вариант, по которому у вас подключен дисплей.

  • Файл LCD.asm содержит все основные настройки портов и, собственно, код.
  • LCD_macro.inc содержит макросы для работы с дисплеем. И используется для работы с библиотекой.

Подключение LCD к микроконтроллеру.
Порт данных использует биты 7…4 любого порта на 4 битном подключении, или весь порт целиком на 8ми разрядном
Порт управления использует 3 любых бита любого порта. Главное, чтобы они были на одном порту. Впрочем код можно и чуток подправить :)

(далее…)

Read More »

AVR. Учебный курс. Подключение к AVR LCD дисплея HD44780

Сегодня разменял четверть века
Сегодня разменял четверть века!
Так случилось, что прикупил я тут себе поприколу LCD дисплейчик две строки по восемь символов. Валялся он в ящике валялся, да чегото поперло меня и решил я его заюзать, попутно вкурив в его работу. О том как подключить к AVR LCD дисплей я вам сейчас и поведаю.

Для начала оговорюсь сразу, что речь тут пойдет о LCD индикаторах на контроллере HD44780, который стал промышленным стандартом де-факто на рынке цифро-буквенных дисплеев. Продается везде где только можно, стоит недорого (8х2 мне обошелся порядка 150 рублей), а также под него написана куча кода. Я же, как обычно, решил изобрести велосипед и сварганить свою собственную тру-библиотеку для работы с этим типом индикаторов. Разумеется на ассемблере, а на чем же еще? ;)

(далее…)

Read More »