Здесь показан пример подключения алфавитно-цифрового ЖК-модуля DV-16100NRT/R к микроконтроллеру PIC16F84A. В интернете не проблема найти информацию по алфавитно- цифровым индицирующим ЖК-модулям на основе контроллера HD44780. Не буду повторять здесь содержание этих источников, приведу лишь ссылки на некоторые из них:
1. Алфавитно-цифровые индицирующие ЖК-модули на основе контроллера HD44780 -желательно изучить этот документ, чтобы понять структуру ЖКИ, систему команд, кодировку символов.
2. Сопряжение AVR-микроконтроллеров и ЖКИ -в первой части во многом повторяет (1), во второй описано подключение к AVR контроллерам.
3 Взаимодействие с ЖКИ -app. note AN587: пример подключения PIC контроллера к LCD модулю. Пример уж слишком универсальный, рассмотрены все варианты подключения. Программа написана на Си с ассемблерными вставками, в которых и можно найти полезные куски кодов.
4.
http://www.microchip.ru/phorum/read.php?f=2&i=59604&t=59483#reply_59604
Если же у вас возникли трудности, можете на реальной схеме изучить особенности подключения и программирования контроллера.
Рис.1. Схема подключения ЖК-модуля DV-16100NRT/R к микроконтроллеру PIC16F84A.
Детали, используемые в этой схеме:
C1,C2- 10.0
uF
С3,C4 - 22pF
C5- 0.1
IC1- 78L05
R1- 10кOm
R2- 10кOm
ZQ1- 4.0 MHz
LCD- DV-16100NRT/R
Исходный текст на ассемблере и HEX-файл прошивки (3.1 кб)
При включении питания на дисплее на 1 сек появляется сообщение "Привет, Сургут!" и далее бегущая строка длиной 130 символов.
Та же программа, написанная на языке С: Исходный текст на С
Для удобства перевода текста в коды символов индикатора я написал простенькую программу ansii-lcd. . Запустите программу, нажмите кнопку "ВВОД", в появившееся окно ввода введите требуемый текст, нажмите "OK". Текстовое поле будет содержать коды символов в hex-формате, а также выводится длина строки (количество введённых символов). Скопируйте через буфер обмена и вставьте в свою программу полученную строку кодов символов.
Если посмотреть на "Таблицу кодов символов контроллера Epson, набор "Russian"" (см.ссылки выше), то видно что для латинских букв кодировка совпадает с ASCII, чего не скажешь про русские. Русские можно выводить с помощью таблицы перекодировки (размещённой в памяти программ контроллера). Пример того, как можно это сделать.
Гирлин
Андрей, г.Сургут, E-mail: giran@mail15.com