Подключение дисплея от nokia1100 к STM32

В своё время уже писал, как применял этот замечательный дисплей с PIC микроконтроллерами . Сейчас попробуем его подключить к STM32.

Применение дисплея nokia1100 с stm32

Применение дисплея nokia1100 с stm32

На самом деле портировать код со своего раннего проекта и оформить его в библиотеку сложности не составило. Во время проверки схему тоже не изменял – взял свой старый готовый модуль из того же проекта, где подключал его к pic16f628a с гасящими резисторами на 5В логических линях контроллера, и подключил его к установленному на STM32vlDiscovery контроллеру STM32F100RB. Но по уму для STM с питанием и логическим уровнем в 3,3В подключение будет выглядеть следующим образом:

Схема разводки дисплея

Схема разводки дисплея

Для упрощения подсветку убрал.

Распиновка дисплея

Распиновка дисплея

Схема подключения дисплея к контроллеру

Схема подключения дисплея к контроллеру

Возможности библиотеки:
lcd1100_clear() – очистка дисплея
lcd1100_gotoxy(x, y) – установка курсора
Где: x, y – координаты курсора
lcd1100_putch(c) – вывод символа
lcd1100_putch_inv(c) – вывод инвертированного символа
c — символ в ASCII кодировке
lcd1100_puts(*s) – вывод строки
lcd1100_puts_inv(*s) – вывод инвертированной строки
*s – ссылка на строку (массив из символов)
lcd1100_test() – тестовое заполнение всего дисплея символами из ASCII таблицы
lcd1100_putch_big(col, row, c) – вывод большого символа
col – ширина символа, row – высота символа, c – символ в ASCII
lcd1100_puts_big(col, row, *s) – вывод строки из больших символов
col – ширина символа, row – высота символа, *s – ссылка на строку
Последние две функции, используя те-же ASCII символы 5х8, выводя их в 2, 4 и 8 раз больше (заложено увеличение кратное только 2x).

Таблица ASCII, или шрифт, был вручную прорисован с помощью программы – символьный генератор .

Для работы библиотеки в начале файла lcd-nokia1100.h нужно задать настройки порта и выводов для работы с дисплеем. Для приведенного примера с подключением линий SCLK к PB12, SDA к PB13, CS к PB14 и RES к PB15 инициализация будет выглядеть следующим образом:

//			Конфигурация порта
//	используемый порт
#define lcd1100_port			GPIOB
//	используемые выводы
#define lcd1100_pin_SCLK		GPIO_Pin_12
#define lcd1100_pin_SDA			GPIO_Pin_13
#define lcd1100_pin_CS			GPIO_Pin_14
#define lcd1100_pin_RST			GPIO_Pin_15
//	тактирование порта
#define lcd1100_RCC			RCC_APB2Periph_GPIOB

Настройка рассчитана на управление подключаемым дисплеем с одного порта контроллера.

Код примера работы с дисплеем:

lcd1100_pin_init();	//	инициализация выводов дисплея
lcd1100_init();		//	инициализация дисплея
lcd1100_puts_big(2,2,”LCD”);
lcd1100_gotoxy(7,0);
lcd1100_puts("Nokia1100");
lcd1100_gotoxy(10,1);
lcd1100_puts("+STM32");
lcd1100_gotoxy(2,3);
lcd1100_puts("96x65 точек");
lcd1100_gotoxy(3,4);
lcd1100_puts("8x16 символов");
lcd1100_gotoxy(2,5);
lcd1100_puts("35x35 мм");
lcd1100_gotoxy(5,7);
lcd1100_puts("alex-exe.ru");
while(1){}

Изменив настройки конфигурации, функцию инициализации и возможно подправив задержку, данную библиотеку можно будет применить для любого микроконтроллера.

Скачать библиотеку

Скачать файлы проекта

Так же могут быть интересны следующие материалы:
Применение дисплея от nokia1100 с PIC16F628A
Генератор изображений
Символьный генератор
Другие материалы по дисплеям
И первоисточник информации по работе с дисплеем nokia1100.

21 комментарий »

Alex_EXE | 11.09.2013 | STM32 | 13 887 просмотров

21 комментарий на « Подключение дисплея от nokia1100 к STM32»

  1. Вася пишет 05.10.2015 в 13:25 #

    Доброго времени суток!

    Подключил дисплей забрал вашу библиотеку увеличил задержки символы посыпались. Но вопрос в том что задом наперед((( в чем может быть заморочка??? Подскажите плиз111

Комментарии RSS

Оставьте отзыв