Работа с контроллером LCD

Сегодня мы разберемся как работать с контроллером LCD в STM8L. Он встречается только в старших моделях серии, а точнее — в STM8L152 и STM8L162. Присутствует в МК на STM8L-Discovery вместе с неопознаной LCD стекляшкой.

В качестве примера будет программа, которая просто выводит на дисплей надпись и при нажатии на кнопку (user button — пин C1) переключает аппаратную мигалку дисплея.





Читать дальше

Тахометр на Attiny.Продолжаем знакомство с AVR.

AVR
Для тех, кто не знает, тахометр-прибор для измерения частоты вращения.В этой статье я расскажу, как сделать такой прибор на микроконтроллере AVR Attiny2313.Попутно мы разберем такие функции МК, как таймер/счетчик, прерывания по таймеру/счетчику, внешние прерывания и работа с LCD дисплеем и переменными.


Читать дальше
  • 0
  • 30 июня 2011, 12:59
  • rad
  • 2

Дисплей LS020 от SIEMENS S65

В дополнение/догонку в рассказу от angel5a о дисплеях добытых из недр мобильных телефонов хочу рассказать ещё об одном дисплейчике.
Зовут героя моего рассказа LS020. Достаточно большой и удобный дисплей как в плане паябельности так и программирования. Работать с ним нужно по шине SPI + 3 сигнала (CS,RS,RESET), питание 3.3 вольта, для светодиодной подсветки нужно от 9 до 12вольт(я использовал преобразователь DC-DC 5-9 от старой сетевой платы). Без проблем подключается к АВР и к ARM (сам лично пробовал на AT91SAM9260и на LPC2368). Имеет разрешение 132 на 176 точек и глубину цвета в 16 бит. Т.е на один пиксель приходится 2 байта цвета в 16 битном режиме, так же имеется и 8 битный режим работы. В остальном очень похож на дисплеи от нокий. Имеет функцию аппаратного скроллинга окна.

Читать дальше

Осваиваем дисплеи от мобильных телефонов

Что бы не засирать чужие комменты и что бы несколько собрать воедино накопленную информацию, напишу в отдельный блог то что удалось пощупать (и ещё немного). Вода будет, готовых примеров не найдете, полезных ссылочек подкину.
Давно уже не секрет что мобильные телефоны являются поставщиками дешёвых и аппетитных запчастей, которые можно использовать в радиолюбительских задачах. Взять хотя бы всеми избитый дисплей от Nokia 3310. При цене в ~55р на нем можно разместить 6 строк по 14 символов. В то время как Winstar'овский дисплей 2х16 стоит в ~190р. А если вспомнить что данные дисплеи графические, кто знает цену графического винстара? по моему в районе 590р я видел последний раз. Разница в цене на порядок. А в чем подвох?


Читать дальше

Программирование PIC на С. Цифровой вольтметр с LCD 16x2.

PIC
В этой части смоделируем цифровой вольтметр постоянного тока на pic контроллере PIC16F676 с отображением результата измерений на 2-х строчном дисплее. На этом примере будет показана работа с АЦП, с подключаемыми драйверами, работа с ЖКИ.
Использован компилятор CCS PICC Compiler v4.120.

Читать дальше

4.3'' LCD

Нашёл в закромах купленный как-то на Удельной за 50 рублей экранчик — LMS430HF02 ( www.samsung.com/global/business/lcdpanel/productInfo.do?upper_fmly_id=604&fmly_id=613&partnum=LMS430HF02 )



Читать дальше
  • 0
  • 15 мая 2011, 16:15
  • ast

STM8 и LCD на основе HD44780

Выходные прошли, а так как хобби выходных не признает, написал я небольшую интерфейсную либу для STM8 (а конкретнее под STM8S-Discovery, но думаю будет работать где угодно).
Для вывода на LCD достаточно трех строчек :)

#include "HD44780.h"
....
InitLcd(GPIOB, GPIO_PIN_4, GPIO_PIN_5, GPIO_PIN_LNIB);

Out(0, "DareDen&STM8 for");
Out(1, "easyelectronics.");

и получается вот такая красота:

Первая строка — инициализация порта (используется 6 бит, остальные 2 корректно не трогаются), единственное ограничение — дата-линии должны быть либо в младшем, либо в старшем ниббле (ну или по-посконному, по-латыни, тетраде :)).
Далее выводим функцией Out. Для очистки экрана есть ClearLcd.

Наткнулся на одну непонятку: Cosmic не дает сделать extern функцию без аргументов — кто знает, WTF?
Функцию надо объявлять так:

extern void foo(void);
— void в скобках обязателен.

Исходники (Cosmic)

Исходники можете использовать как угодно, при условии вспоминания меня хорошим и добрым словом ;).
PS. При использовании надо подключать StdPeriphLib, соответственно в настройках проекта определены дефайны: STM8S105 F_CPU=16000000. При использовании другого контроллера или частоты не забывайте их корректировать.