Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_Работа_3.doc
Скачиваний:
9
Добавлен:
04.05.2019
Размер:
185.86 Кб
Скачать

Программирование PIC-микроконтроллеров

на языке Си

Лабораторная работа № 3

Исследование совместной работы ЖК-дисплея и PIC-микроконтроллера

1. Цель работы

Изучить принципы построения алфавитно-цифрового жидкокристаллического дисплея (ЖКД) с контроллером HD44780. Изучить и исследовать методы программирования его работы на языке Си для микроконтроллеров семейства PIC18 с помощью интегрированной среды программирования MPLAB IDE. Исследовать методику проверки работы МКУ с ЖК-дисплеем с помощью среды моделирования Proteus.

2. Основные теоретические сведения

2.1. Структура жидкокристаллического дисплея

Алфавитно-цифровые ЖК-дисплеи (ЖКД), или по-английски LCD (Liquid Crystal Display), представляют собой недорогие и удобные модули, позволяющие сэкономить время и ресурсы при разработке новых изделий, при этом обеспечивающие отображение большого объема информации при хорошей различимости и низком энергопотреблении.

Японская фирма Hitachi разработала специальную микросхему - контроллер HD44780 для управления подобными ЖК-дисплеями. Этот контроллер определил интерфейс, который стал стандартом «де-факто» для ЖК-дисплеев. Аналоги этого контроллера или совместимые с ним по интерфейсу микросхемы выпускают множество фирм, среди которых: Epson, Toshiba, Sanyo, Samsung, Philips. Еще большее число форм производит ЖК-дисплеи на базе данных контроллеров. Эти дисплеи можно встретить в самых разнообразных устройствах: измерительных приборах, медицинском оборудовании, промышленном и технологическом оборудовании, офисной технике – принтерах, телефонах, факсимильных и копировальных аппаратах.

Контроллер HD44780 может управлять 2-мя строками по 40 символов в каждой (для дисплеев с 4-мя строками по 40 символов используются два однотипных контроллера), при матрице символов 5×7 точек. Контроллер также поддерживает символы с матрицей 5×10 точек, но в последнее время ЖК-дисплеи с такой матрицей практически не применяются.

Существует несколько различных стандартных форматов ЖК-дисплеев (количество символов × число строк): 8×2, 16×1, 16×2, 16×4, 20×1, 20×2, 20×4, 40×2, 40×4. В лабораторной работе будет применяться ЖК-дисплей типа WM-C1602N-2YLY с 32 позиционным индикатором (16×2 символов, размер 64×16,5 мм). Конструктивно дисплей представляет собой печатную плату с установленными на ней контроллером HD44780 и ЖК-индикатором. Плата содержит 14-контактное поле, расположенное в нижней части, а также 2 контакта (выводы питания подсветки) в правой части. Назначение выводов поясняет табл. 1.

Таблица 1

Назначение выводов ЖК-дисплея

№ вывода

Обозначение

Функция

1

VDD

Напряжение питания ( + 5 В )

2

VSS

Общий (земля)

3

VEE

Управление контрастом

4

RS

Сигнал выбора регистра

5

R/W

Сигнал чтение/запись

6

E

Сигнал разрешение

7-14

D0-D7

Биты данных

Основными чертами интерфейса контроллера HD44780 являются такие характеристики.

Данные передаются по 4- или 8-разрядной шине данных, что определяется пользователем. Эти данные могут быть либо командами, либо символьной информацией. Использование 4-разрядного режима позволяет ограничить весь интерфейс 7-ю линиями, однако процесс передачи данных будет немного более медленным, чем при 8-разрядном режиме.

Управление выполняется с использованием трех линий:

  • линия RS (выбор регистра), которая определяет, будет передаваться команда или символьные данные;

  • линия R/W (чтение / запись), которая определяет направление перемещения данных (R/W = 1 – чтение, R/W = 0 – запись);

  • линия Е (разрешение), которая выполняет функцию тактирования с целью синхронизации процесса передачи данных.

Контроллер имеет простой набор команд, который позволяет управлять работой дисплея. В его состав входят команды инициализации и сброса дисплея, управления положением и характеристиками курсора и т.д.

В контроллере HD44780 можно выделить основные элементы, с которыми приходится взаимодействовать при программном управлении: регистр данных (DR), регистр команд (IR), видеопамять (DDRAM), ОЗУ знакогенератора (CGRAM), счетчик адреса памяти (AC), флаг занятости контроллера (BF). Основными объектами взаимодействия являются регистры DR и IR. Выбор адресуемого регистра производится линией RS: если RS = 0 – адресуется регистр команд (IR), если RS = 1 – регистр данных (DR).

Данные через регистр DR в зависимости от текущего режима могут помещаться (или считываться) в видеопамять (DDRAM) или ОЗУ знакогенератора (CGRAM) по текущему адресу, указываемому счетчиком адреса (AC). Информация, попадающая в регистр IR, интерпретируется устройством выполнения команд как управляющая, т.е. команда. Прочтение регистра IR возвращает в 7-ми младших разрядах текущее значение счетчика AC, а в старшем разряде флаг занятости (BF).

Видеопамять, имеющая общий объем 80 байтов, предназначена для хранения кодов символов, отображаемых на ЖКИ. Видеопамять организована в виде двух строк по 40 символов в каждой. Эта привязка является жесткой и не подлежит изменению. Другими словами, независимо от того, сколько реальных строк будет иметь конкретный ЖКД, скажем, 80×1 или 20×4, адресация видеопамяти всегда производится как к двум строкам по 40 символов.

Программная модель ЖК-дисплея, используемого в лабораторной работе, показана в табл.2. Первой (верхней строке) дисплея соответствуют адреса видеопамяти 00H…0FH, а второй - адреса памяти 40H…4FH.

Таблица 2

Программная модель ЖК-дисплея

Позиция дисплея

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Адреса

00

01

02

03

04

05

06

07

08

09

0A

0B

0C

0D

0E

0F

видеопамяти,

HEX

40

41

42

43

44

45

46

47

48

49

4A

4B

4C

4D

4E

4F

Флаг занятости BF имеет значение 1, когда контроллер занят, и 0 – когда свободен. Необходимо учитывать, что большинство операций, выполняемых контроллером ЖКД, занимают значительное время, которое может доходить до нескольких единиц миллисекунд, поэтому цикл ожидания установки флага BF должен обязательно присутствовать в программах управления ЖК-дисплеем и предшествовать совершению любой операции.

Необходимо учитывать, что контроллеры, устанавливаемые на ЖК-дисплеи, могут иметь различный набор символов, причем это может зависеть как от производителя контроллера, так и от модификации данной конкретной модели. Например, фирма POWERTIP выпускает ЖК-дисплеи с 4-мя базовыми модификациями набора символов: японской, английской, французской и русской. Контроллер фирмы EPSON содержит полный набор русских символов в прописном и строчном вариантов, поэтому он весьма удобен для отечественных применений. Этот же контроллер используется в ЖК-дисплее WM-C1602N-2YLY.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]