diy: простые интересные РАДИОСХЕМЫ сделанные своими руками

» ДАТАШИТ
Например: TDA2050


» ТРЕКЕР GPS


» РАДИОБЛОГИ
Как сделать усилитель из платы от телевизора
Детектор электромагнитных волн на базе детекторного приемника
Усилитель из старого магнитофона
Ремонт новогодней гирлянды своими руками
Ремонт микроволновки LG своими руками
Точный индикатор напряжения из 34063api
Суперконденсаторы для запуска двигателей
Ремонт стиральной машины Индезит WITL86


Радиосхемы » Устройства на микроконтроллерах

ПОДКЛЮЧЕНИЕ ДИСПЛЕЯ К МИКРОКОНТРОЛЛЕРУ

      
   На сей раз хочу вам рассказать как подключить дисплей от мобильного телефона Nokia 1202 к микроконтроллеру Atmega8. Программируем в среде CodeVision. Кое где могу и ошибаться. Сам только не давно разобрался что к чему. Опыта в программировании не имею и библиотеки для работы с дисплеем писал не я. Они скопированы с одного проекта в интернете. Там прописаны все нужные функции и есть шрифт 5*8 латинские буквы и кириллица. Есть так же пару символов 12*16 и 24*32, которые использовал автор библиотек в своем устройстве. Если их удалить, то шрифт 5*8 будет занимать около 700 байт флеша микроконтроллера. Поэтому микроконтроллер для проекта надо брать "пожирней”. В моем случае использована Atmega8. Вполне достаточно. Все файлы - исходники, библиотеку и так далее, качаем здесь.

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



Принципиальная схема подключения ЖК дисплея к МК

   Нарисовал схему подключения. Для питания дисплея нужно напряжение 3,3V. Если запитывать микроконтроллер от 5V, то ставим резисторные делители и микросхему 78L33. В случае питания всей схемы от 3,3V резисторные делители не нужны. Вроде Atmega8A может работать от 3,3V при условие, что частота не выше 8 МГц. Лично я не пробовал. У меня все собрано на отладочной плате с питанием от 5V. Перед самим дисплеем ставить по питанию электролит большой емкости ни в коем случае не надо. В самом начале работы контроллер подает на дисплей команды инициализации. Для заряда конденсатора нужно время. Пока он зарядится и дисплей начнет работать пройдет некоторое время, и команды инициализации он не получит. Конечно это миллисекунды, но в даном случае эффект ощутим. 

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

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

   У дисплея Nokia 1202 9-ти битный SPI интерфейс. У выбранного нами микроконтроллера такой роскоши нет. По этому для связи с дисплеем мы используем не аппаратный, а программный SPI, так сказать "ногодрыг”. Как создавать новые проекты в CodeVision рассказывать не буду - думайте сами. Скажу только, что все выводы PORTB надо настроить на выход. В настройках проекта нужно поставить галочку на "Store Global Constants in FLASH Memory”. Данное действие нужно для того, чтоб массивы шрифтов и наших картинок хранились во флеше.


   Итак, проект мы создали. Выбрали микроконтроллер, задали тактовую частоту, настроили проект. Что дальше? А дальше нужно добавить библиотеки для работы с дисплеем и библиотеки задержек. Распаковываем архив. Там есть два файла. Их нужно скопировать в определенные папки. Надеюсь CodeVision вы установили прямо на диск C:\. Если да, то файлы копируем по соответствующим путям:

 C:\cvavreval\inc для файла 1100.inc, и
 C:\cvavreval\lib для файла 1100.h . 

назначение пинов микроконтроллера можно изменять

   Еще хочу сказать, что назначение пинов микроконтроллера можно изменять в файле 1100.h. Тогда и схема подключения изменится. Начинаем кодить. Просто выведем какую-то надпись на дисплей основным шрифтом 5*8. В самом начале добавим библиотеки.

 #include < 1100.h> // библиотека дисплея
 #include <delay.h> // библиотека задержек


   В самом низу до основного цикла while(1){} делаем инициализацию дисплея и его очистку.

 lcd_init(); // инициализация дисплея
 lcd_clear(); // очистка дисплея


   Нашу надпись поставим так же до основного цикла. Пусть сперва контролер выведет послание на дисплей, а после крутится в основном цикле. Пишем вот это:

 print_string("Выводим надпись",5,0);
 print_string("Какую сами хотим",0,1);
 print_string("БУХАРЬ",10,2);


   Думаю здесь все понятно. Первая цифра – координата по оси x на дисплее. Она может принимать значение от 0 до 96. Вторая – строка. Она от 0 до 7. В принципе там помещается 8 с половиной строк, но на пол строки мы читать не будем. Компилируем и прошиваем. Смотрим результат. Можно так же установить Proteus, и протестировать в нем. Контроллер можно настроить для работы от внутреннего генератора на частоту заданную в проекте с задержкой при старте 64 мсек. Добавляю архив с скомпилированным проектом. Частота 8 Мгц.

Пример ПОДКЛЮЧЕНИЕ ДИСПЛЕЯ К МИКРОКОНТРОЛЛЕРУ

   Но как уже писал в начале, в библиотеке есть еще и другие символы. Правда там нет букв, а только цифры. Теперь немного усложним задачу. Пусть надпись не будет инертной, а изменяется. Допустим считает от 0 до 9 с интервалом в 1 секунду. Когда дойдет до 9, после обнулится и снова наново. Возьмем цифры большие размером 24*32. Ну чтож приступим. Можно взять предыдущий проект и удалить три строки "print_string”. Сразу после добавления библиотек объявим некую глобальную переменную m.

 char m = 0;

   Можно и просто написать:

 char m;

   В даном случае ей автоматически присвоится значение 0. В основном цикле пишем вот это:

  char_24_32(m,35,2); //функция вывода символа 24*32 
  delay_ms(1000); // ждем 1 секунду
  m++; // добавляем 1 к переменной m
  if(m>9)m=0; // Условие. Если переменная m больше 9, то m равняется 0.

Снял небольшое видео работы программы


   В следующей статье попробую рассказать как рисовать картинки и выводить их на экран дисплея. Как создавать массивы и функции к их выводу и как инвертировать изображение. Библиотеки позаимствовал с сайта cxem.net. Материал подготовил Бухарь.

   Форум по микроконтроллерным схемам

   Обсудить статью ПОДКЛЮЧЕНИЕ ДИСПЛЕЯ К МИКРОКОНТРОЛЛЕРУ


Схемы наши, лайки ваши - всё по честному :)


УПРАВЛЕНИЕ НАСОСОМ

УПРАВЛЕНИЕ НАСОСОМ     Схема и фото самодельного блока управления насосом на микроконтроллере ATtiy2313.

ЖУЧОК НА КТ368

ЖУЧОК НА КТ368     Простой проверенный ФМ жучек шпиону-новичку.

РЕМОНТ ВСПЫШКИ ФОТОАППАРАТА

РЕМОНТ ВСПЫШКИ ФОТОАППАРАТА     Ремонт и модернизация советской фотовспышки Луч М1. Фото, схема и описание.  

ДАТЧИК ВИБРАЦИИ

ДАТЧИК ВИБРАЦИИ     Схема самодельного сверхчувствительного датчика вибрации.


» ПОИСК СХЕМ


» РАДИОЭЛЕМЕНТЫ


Группа вконтакте Канал ютуб Группа в фэйсбук Мобильная версия © 2010-2016, "Радиосхемы". Все права защищены. Почта