Проект Eldigi.ru пережил своё новое становление. В связи с этим на сайте могут быть ошибки. Нашли ошибку? Помогите проекту, выделите её и нажмите Ctrl+Enter. Подробнее...

Контроллер LCD HD44780 (AT89S8252)

Символьные жидкокристаллические индикаторы со встроенными контроллерами получили широкое распространение в бытовых приборах благодаря низкому энергопотреблению, удобству и простоте применения. Среди них двухстрочные символьные индикаторы на 8 или 16 символов в строке являются наиболее дешевыми и достаточно функциональными для решения многих задач. Как правило, в такой индикатор встроен контроллер, управляющий ЖКИ-индикатором. Микросхема HD44780 используется при производстве алфавитно-цифровых ЖКИ-модулей. Фирмы Datavision и Powertype, представляющие богатый ассортимент своей продукции на российском рынке, используют этот контроллер в своих изделиях.

Назначение выводов контроллера HD44780 приведено в таблице.
Вход/выход DB7 используется для проверки состояния флага шины (BF). Если BF = 1 — выполняется предыдущая инструкция, BF = 0 — контроллер может принимать следующую инструкцию. Чтение BF выполняется при RS = 0 и R/W = 1.

HD44780 может работать в режимах с шириной шины данных в 4 или 8 бит. Это позволяет упрощать топологию печатных плат и использовать управляющие устройства с минимальным числом выводов, либо увеличивать скорость работы с индикатором. Первым этапом работы с HD44780 является инициализация.

При использовании 8-битного интерфейса ее следует выполнять в следующей последовательности:

1. Подать питающее напряжение.
2. Пауза. После подачи на контроллер напряжения питания необходимо выдержать паузу в 15 мс, но из-за различий в характеристиках используемых источников питания рекомендуемая длительность паузы — 1...2с.
3. Установить сигналы RS = О, R/W = О, DB7 = О, DB6 = О, DB5 = 1, DB4 = 1, DB3 = *, DB2 = *, DB1 = *, DB0 = * (здесь и далее: * — произвольное значение сигнала).
4. Пауза 4,1 мс.
5. Повторить п.З.
6. Пауза 100 мкс.
7. Повторить п.З.
8. Пауза. Для выполнения следующих инструкций необходимо проверить состояние BF, но проще выдержать паузу в 100...200 мкс, затем выдавать следующую инструкцию.
9. Установить сигналы RS = 0, R/W = 0, DB7 = 0, DB6 = 0, DB5 = 1, DB4 = DL, DB3 = N, DB2 = F, DB1 = *, DB0 = *, где DL — выбор интерфейса (0 — 4-битный интерфейс, 1 — 8-битный), N — выбор числа строк (0 — одна строка, 1 — две строки), F — матрица символов (0 — матрица 5x7 точек, 1 — матрица 8x10 точек).
10. Пауза 200 мкс.
11. Установить сигналы RS = 0, R/W = 0, DB7 = 0, DB6 = 0, DB5 = 0, DB4 = 0, DB3 = 1, DB2 = D, DB1 = С, DB0 = В, где D — разрешение вывода информации на дисплей (0 — вывод запрещен, 1 — вывод разрешен), С — наличие курсора (0 — курсор выключен, 1 — курсор включен), В — мерцание курсора (0 — мерцание выключено, 1 — мерцание включено). D = 0 означает, что на дисплее отсутствует любая информация, вне зависимости от того, что находится в памяти микросхемы.
12. Пауза 200 мкс.
13. Установить сигналы RS = 0, R/W = 0, DB7 = 0, DB6 = 0, DB5 = 0, DB4 = 0, DB3 = 0, DB2 = 1, DB1 = l/D, DB0 =
S, где I/D — направление смещения курсора (0 — влево, декремент, 1 — вправо, инкремент), S — сдвиг видимого поля на дисплее (0 — сдвига нет, 1 — сдвиг выполняется). Если сдвиг видимого поля необходимо выполнить, следует после паузы в 200 мкс добавить необязательный п.14.
14. Установить сигналы RS = 0, R/W = 0, DB7 = 0, DB6 = 0, DB5 = 0, DB4 = 1, DB3 = S/C, DB2 = R/L, DB1 = *, DB0 = *, где S/C показывает, что смещается (0 — смещается курсор, 1 — смещается видимое поле), R/L — направление смещения видимого поля (0 — влево, 1 — вправо).

В случае использования 4-битного интерфейса инициализация выполняется аналогичным образом, только данные передаются в два приема по 4 бита, причем первыми идут старшие 4 бита.
Пункты 1...8 аналогичны предыдущему случаю.
9. RS = 0, R/W = 0, DB7 = 0, DB6 = 0, DB5 = 1, DB4 = 0 — выбран 4-битный интерфейс.
10. Пауза 200 мкс.
11.1. RS = 0, R/W = 0, DB7 = 0, DB6 = 0, DB5 = 1, DB4 = 0 — подтверждение выбора 4-битного интерфейса.
11.2. Пауза 200 мкс.
11.3. RS = 0, R/W = 0, DB3 = N, DB2 = F, DB1 = *, DB0 = * — выбор числа строк и размера матрицы символов.
12. Пауза 200 мкс.
13.1. RS = 0, R/W = О, DB7 = О, DB6 = О, DB5 = О, DB4 = 0.
13.2. Пауза 200 мкс.
13.3. RS = О, R/W = О, DB3 = 1, DB2 = О, DB1 = О, DB0 = 0 — дисплей выключен.
14. Пауза 200 мкс.
15.1. RS = О, R/W = О, DB7 = О, DB6 = О, DB5 = О, DB4 = 0.
15.2. Пауза 200 мкс.
15.3. RS = 0, R/W = 0,DB3= 1, DB2 = 1, DB1 =0, DB0 = 0 — дисплей включен.
16. Пауза 200 мкс.
17.1. RS = О, R/W = О, DB7 = О, DB6 = О, DB5 = О, DB4 = 0.
17.2. Пауза 200 мкс.
17.3. RS = О, R/W = О, DB3 = О, DB2 = 1, DB1 = l/D, DB0 = S — установка параметров отображения информации.

Временная диаграмма работы контроллера HD44780 в 4-битном режиме приведена на рис.1. Старшая тетрада (биты 4...7) передается первой, линия RS осуществляет переключение регистров (инструкции/данные), по линии R/W устанавливаются режимы чтение/запись. Для записи в регистр инструкций необходимо установить сигнал RS в низкий логический уровень, что осуществит переключение интерфейса HD44780 в режим работы с инструкциями. Сигнал R/W (чтение/запись) также устанавливается в низкий уровень Затем на информационные выводы DB4...DB7 подается старшая тетрада (старшие четыре бита) записываемого в регистр инструкций байта. Запись производится спадающим (задним) фронтом сигнала разрешения чтения/записи (Е). Перед записью младшей тетрады записываемого байта необходимо либо проверить сигнал состояния шины (он должен находиться в низком логическом уровне), либо выждать оговоренную выше паузу 200 мкс. Затем по аналогичной методике производится запись младшей тетрады. Рассмотренным способом производится как запись, так и чтение регистров. Переключение между режимами чтение/запись осуществляется выбором логического уровня сигнала R/W, между регистрами — выбором уровня сигнала RS.

Выдача символьной информации на дисплей производится путем подачи информации об отображаемом символе на информационные выводы и управления процессом записи посредством управляющих сигналов RS, R/W и Е Вначале контроллер получает информацию об адресе выводимого символа. Шестнадцатиричный адрес начала первой строки — 80, второй — С0, дальнейшее смещение по строкам достигается увеличением адреса

Для вывода символа на дисплей выполняется следующая последовательность действий:

1.RS = 0, R/W = 0, E= 1.
2. Установить адрес на информационные выводы.
3. Пауза 50 мкс.
4. RS = 0, R/W = 0, Е = 0.
5. Пауза 255 мкс.
6. RS = 1, R/W = 0, Е = 1.
7. Установить код символа на информационные выводы.
8. Пауза 50 мкс.
9. RS =1,R/W=0, E = 0.

На рис.2, приведена схема подключения индикатора к микроконтроллеру по 4-битному интерфейсу. Резистор R1 позволяет отрегулировать контрастность изображения.

Автор статьи: Н. Чернов
Просмотров: 6705

Splan 7.0.0.9 Rus + Portable + Viewer Fiinal
26.04.2014
sPlan – удобный инструмент для черчения электронных схем. Имеет простой и интуитивно понятный интерфейс. В программе заложены... подробнее...

Очень удобная программа для чтения pdf Foxit Reader
26.04.2014
Foxit Reader - Компактная и шустрая программа для чтения PDF файлов. Может служить альтернативой для популярного просмотрщика PDF - Adobe Reader.... подробнее...

Proteus 7.7 SP2 + Crack v1.0.2 + RUS
22.04.2014
Proteus VSM - программа-симулятор микроконтроллерных устройств. Поддерживает МК: PIC, 8051, AVR, HC11, ARM7/LPC2000 и другие распространенные процессоры.... подробнее...

Новое становление сайта Eldigi.ru
01.04.2014
Проект Eldigi.ru который долгое время находился в застывшем состоянии снова принимается за работу с новымы силами, с новыми статьями и с... подробнее...

Proteus 7.7 SP2 + Crack v1.0.2 + RUS
22.04.2014
Proteus VSM - программа-симулятор микроконтроллерных устройств. Поддерживает МК: PIC, 8051, AVR, HC11, ARM7/LPC2000 и другие распространенные процессоры.... подробнее...

Splan 7.0.0.9 Rus + Portable + Viewer Fiinal
26.04.2014
sPlan – удобный инструмент для черчения электронных схем. Имеет простой и интуитивно понятный интерфейс. В программе заложены... подробнее...

Цифровая паяльная станция своими руками (ATmega8, C)
27.05.2012
Состав: ATmega8, LM358, IRFZ44, 7805, мост, 13 резисторов, один потенциометр, 2 электролита, 4 конденсатора, трехразрядный светодиодный семисегментный... подробнее...

Тахометр на AVR микроконтроллере (ATtiny2313, C)
13.01.2010
Данное устройство представляет собой неплохой тахометр, предел его измерений составляет 100 - 9990 об/мин. Точность измерения - ± 3 об/мин.... подробнее...

Бортовой компьютер для автомобиля (PIC18F258, C)
20.03.2013
Чесались руки сделать что-то для свежекупленного автомобиля, остановился на полезной вещи - бортовой компьютер. Автомобиль Nissan Almera N15... подробнее...

Экономичный цифровой термометр (PIC16F628, asm)
16.01.2008
В последнее время конструирование цифровых термометров очень популярно. Применение микроконтроллеров (МК) и современных датчиков... подробнее...

Частотомер - цифровая шкала на LED (PIC16F84/PIC16CE625, asm)
26.02.2011
Описание опубликовано в журнале «Радио» № 1 за 2002 г., стр. 60...62, Частотомер - цифровая шкала на PIC16CE625, позднее было опубликовано... подробнее...

Регулятор яркости лампы накаливания на микроконтроллере (AT89C2051, asm)
01.03.2008
В этом проекте рассказывается о микроконтроллерном регуляторе яркости лампы накаливания (далее просто регулятор). Регулятор... подробнее...