Дисплей 1602 и Code Vision AVR

Автор: | 28.12.2014

Display 1206Совершенно недавно  я начал новый проект где возникла необходимость выводить информацию на ЖК Дисплей.  Был выбран самый дешевый дисплей на Aliexpress за 1,2$. Это дисплей 1206, который по факту основан на контролере HD44780. Среда разработки Code Vision AVR имеет для работы с данным дисплеем встроенную библиотеку Alphanumeric LCD  (alcd.h). 

Работу с дисплеем я буду рассматривать в несколько этапов.

Схема подключения дисплея 1602 к AtMega8

Этап 1.

Подключение к МК дисплея 1602 привожу на схеме правее.

Третий контакт служит настройкой контрастности. Его необходимо подключать через переменный резистор в 10 ком.

Контакты шины данных необходимо подтягивать через резисторы в 1 кОм.

Этап 2.

Итак приступим к настройке среды Code Vision AVR:

Настройка ALcd.hВыбираем в генераторе начального кода библиотеку вывода графики на дисплей ALcd.h

Устанавливаем тип контроллера дисплея и количество символов. У дисплея 1602  — 16 символов, 2 строки, контроллер HD44780.

Далее указываем куда будет подключатся дисплей 1602.

На этом настройка библиотеки закончена, можно генерировать начальный код.

Этап 3.

Написание примера:Дисплей 1206

Сразу хочу отметить несколько функций:

  • lcd_clear(); — очистка дисплея
  • lcd_puts(«hello world»); — вывод cлова, тип string
  • lcd_gotoxy (0,1);  — указываем где конкретно выводить символы, соотественно первая цифра 0 — первая строка, 1 — вторая строка. Вторая цифра после запятой — это с какого символа в строке выводить надпись на дисплей.

Пример готового кода, а так же симуляцию в Proteus можно скачать по ссылке.

#include <mega8.h>
#include <delay.h> //Библиотека задержки
#include <alcd.h> // Alphanumeric LCD functions
void main(void)
{
// Alphanumeric LCD Инициализация
// Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTD Bit 0
// RD - PORTD Bit 1
// EN - PORTD Bit 2
// D4 - PORTD Bit 4
// D5 - PORTD Bit 5
// D6 - PORTD Bit 6
// D7 - PORTD Bit 7
// количество символов: 16
lcd_init(16);
while (1)
 {
 lcd_puts("good-chip.in.ua");// вывести надпись good-chip.in.ua
 delay_ms(1000); //подождать 1000 милисекунд
 lcd_clear(); //очистить дисплей
 lcd_puts("Radio electronics as a hobby"); //вывести надпись Radio electronics as a hobby
 delay_ms(1000); //подождать 1000 милисекунд
 lcd_clear(); //очистить дисплей
 }
}

Подключение дисплей 1602 к микроконтроллеру AtMega8

Дисплей 1602 и Code Vision AVR: 3 комментария

  1. 12val12

    Спасибо помогло быстро стартануть с этими экранами

  2. 12val12

    Правда не хватает подпрограммы вывода перемнной

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *