Форма входа
Главная » Файлы » схемы на микроконтроллерах

Применение дисплея от nokia1100
26.10.2011, 22:45


Дисплей – удобное средство вывода разнообразной информации. На них можно не только выводит различную необходимую информацию, но и визуализировать процессы работы приборов. Большую пользу они могут принести на стадии отладки или диагностики устройства. Но стоимость специализированных дисплеев зачастую велика, а возможностей семисегментных индикаторов и знакогенерирующих дисплеев может не хватать, здесь на помощь, приходя маленькие компактные дисплеи от сотовых телефонов.

Дисплей от Nokia 1100

Дисплей от Nokia 1100

В этой статье расскажу о том, как подключить к микроконтроллеру и использовать в текстовом режиме дисплей от сотового телефона nokia 1100.

В ранних статьях уже рассматривался дисплей от nokia 3310. По сравнению с ним у этого дисплея есть небольшой недостаток – меньший размер (35×35 мм), но есть свои плюсы.

Плюсы дисплея:

  • Маленький дисплей с относительно большим разрешением 96х65 (символами размера 5х8 можно заполнить 8 строк по 16 знаков)
  • Встроенная подсветка
  • 4 линии управления
  • Дешевый – 40 рублей

Минусы дисплея:

  • Маленький размер
  • 3,3 В линии связи и питание (при использование 5В)

Как уже упомянул в плюсах – для подключения к контроллеру достаточно 4-х линий (SCLK, SDA, CS, Reset), что существенно экономит выводы МК.

Распиновка

Распиновка

Из упомянутых минусов (при работе от 5В) это 3,3В питание и логические уровни, поэтому была разработана небольшая плата переходник.

Сопряжении с МК

Для подключения к контроллеру, с питанием от 5В, предлагаю следующий вариант:

Схема сопряжения

Схема сопряжения

С цепи стабилизации, выполненной на стабилитроне, одновременно запитан сам дисплей и его подсветка. Связь с дисплеем используется только односторонняя, поэтому делители напряжений на линиях управления состоят из резисторов по 4,7кОма. Такой вариант включения считаю не идеальным, но рабочим.

Печатка

Печатка

Плата сопряжения

Плата сопряжения

Подключение к PIC16F628A

Дисплей был подключен к микроконтроллеру PIC16F628A следующим способом

Дисплей от Nokia 1100

Схема подключения к PIC16F628A

Как видно на схеме, выводы сопрягаются следующим образом: RES – RB4, CS – RB5, SDA – RB6, SCLK – RB7.

Прошивка

Как было сказана в начале статьи, работа с дисплеем реализована только в текстовом режиме. За основы были взяты наработки, полученные при работе с экраном от nokia 3310.

Для рабы с дисплеем доступны следующие функции:

  • lcd_init() – инициализация дисплея
  • lcd_clear() – очистка дисплея
  • lcd_test() – функция проверки дисплея (заполняет весь экран символами)
  • lcd_putch(char) – функция вывода символа размером 5х8
  • lcd_puts(const char *s) – вывод строки при помощи функции lcd_putch(char)
  • lcd_gotoxy(int X, int Y) – переход к символу расположенному в Y строке, на X позиции

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

ASCII

ASCII

ещё 31 строчная буква Великого и Могучего, к сожалению, не влезли.

Для работы понадобятся следующие дефайны:

01.#define SetBit(x,y) (x|=(1< <y))
02.#define ClrBit(x,y) (x&amp;amp;=~(1<<y))
03. 
04.#define SCLK_on     SetBit(PORTB,7)
05.#define SDA_on      SetBit(PORTB,6)
06.#define CS_on       SetBit(PORTB,5)
07.#define RST_on      SetBit(PORTB,4)
08.#define SCLK_off    ClrBit(PORTB,7)
09.#define SDA_off     ClrBit(PORTB,6)
10.#define CS_off      ClrBit(PORTB,5)
11.#define RST_off     ClrBit(PORTB,4)
12. 
13.#define lcd_CMD     0
14.#define lcd_DATA    1

которые сопоставляют выводы контроллера с выводами дисплея.

Пример вывода текста по середине экрана будет выглядеть следующим образом:

1.lcd_gotoxy(2, 3);
2.lcd_puts("Hello, World");

Hello, World

Hello, World

Относительно большие размеры дисплея 96х65 точек, позволяют выводить до 128 символов, размера 5х8, одновременно, в 8 строчках по 16 букв:

Текстовые возможности дисплея

Текстовые возможности дисплея

К сожалению, проект получился очень весомым и занял 77,8% памяти микроконтроллера PIC16F628A, а это целых – 1593 байта. Но не забывайте, что большую часть занимает массив шрифта – lcd_fonts, который вмешает 159 5-ти байтных символа, а это 795 байт. Для облегчения проекта можно исключить русскую или английскую кодировку.

Для демонстрации возможностей дисплея была написана небольшая демка, содержащая 4 сменяющееся кадра: информация о проекте (первая фотография), возможности дисплея (последняя картинка), частично влезавшая таблица ASCII, выводимая функцией lcd_test() (4 фото) и наконец простой пример работы – «Привет, Мир» (предпоследний скрин экрана).

Скачать исходник, пришивку и печатку в SP5

При написании статьи использовались материалы с сайта www.sunbizhosting.com

Используемый компилятор – Hi-Tech 9.70

Категория: схемы на микроконтроллерах | Добавил: kuklotank
Просмотров: 6668 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0