Курсовая работа: Система управления установкой для измерения влажности и давления

Рисунок 2.15 – Схема подключения
В соответствии с временной диаграммой
(рис. 2.16 и 2.17) в исходном состоянии сигнал Е = 0, сигнал R/W = 0, значение сигнала RS – произвольное, шина данных DBO...DB7 в
состоянии высокого импеданса (HI).
Такое состояние управляющих сигналов (Е и R/W) должно
поддерживаться все время в промежутках между операциями обмена с ЖКИ-модулем.
Шина данных в эти моменты в принципе свободна, и может использоваться в мультиплексном
режиме для каких-либо других целей, например, для сканирования матрицы
клавиатуры. Естественно, необходимо позаботиться об исключении конфликтов на
шине данных в момент совершения операций обмена с ЖКИ-модулем.
Последовательности действий, которые
необходимо выполнять управляющей системе при совершении операций записи и
чтения для 8-ми и 4-х разрядной шины приведены соответственно в таблицах 2.11- 2.14.
Таблица 2.11 – Операции записи для
8-ми разрядной шины

Таблица 2.12– Операции чтения для
8-ми разрядной шины

Таблица 2.13– Операция записи для 4-х
разрядной шины

Таблица 2.14 – Операция чтения для
4-х разрядной шины


Рисунок 2.16– Временная диаграмма
операции записи

Рисунок 2.17 – Временная диаграмма
операции чтения
Приведенные в таблицах 2.11-2.14
операции подразумевают, что время выполнения каждого шага составляет не менее
250 нс. При использовании современных быстродействующих микро-ЭВМ это условие
может быть легко нарушено, поэтому необходимо тщательно контролировать
минимальные значения временных интервалов, чтобы они всегда находились в
области допустимых значений, указанных в таблицах 2.15 и 2.16, и при
необходимости вводить задержки.
Таблица 2.15 – Значения временных
характеристик. Операция записи

Таблица 2.16 – Значения временных
характеристик. Операция чтения

Описанные выше операции записи/чтения
байта являются базовыми для осуществления обмена с ЖКИ-модулем. Реализация этих
двух операций – единственное, что отличает процесс обмена по 8-ми разрядной
шине от обмена по 4-х разрядной шине. Нa основе этих двух операций, реализованных программно (когда
модуль подключен к портам микро-ЭВМ), или аппаратно (когда модуль подключен к
системной шине), строятся все виды операций программирования и управления.
Несколько слов о подключении
ЖКИ-модулей формата 40 х 4. Эти модели содержат два контроллера НD44780 и фактически представляют собой
два модуля 40 х 2. Для сокращения числа соединений все сигналы обоих
контроллеров соединены параллельно, исключение составляет только сигнал Е,
одновременно выполняющий роль тактового сигнала и сигнала выборки микросхемы CS, поэтому обмен с каждым из
контроллеров ведется попеременно.
Перед началом рассмотрения принципов
управления ЖКИ-модулем, обратимся к внутренней структуре контроллера HD44780, чтобы понять основные принципы
построения ЖКИ-модулей на его основе. Эта информация позволит понять способы
организации модулей различных форматов с точки зрения программной модели, а
также мотивации конструкторов ЖКИ-модулей.
Упрощенная структурная схема
контроллера приведена на рисунке 2.18. Можно сразу выделить основные элементы,
с которыми приходится взаимодействовать при программном управлении: регистр
данных (DR), регистр команд (IR), видеопамять (DDRAM), ОЗУ знакогенератора (CGRAM), счетчик адреса памяти (АС), флаг
занятости контроллера.

Рисунок 2.18 – Упрощенная структурная
схема контроллера HD44780
Другие элементы не являются объектом
прямого взаимодействия с управляющей программой – они участвуют в процессе
регенерации изображения на ЖКИ: знакогенератор, формирователь курсора,
сдвиговые регистры и драйверы (напоминаем, что приведенная схема – упрощенная,
и многие не важные для получения общей картины промежуточные элементы на ней
опущены).
Управление контроллером ведется
посредством интерфейса управляющей системы. Основными объектами взаимодействия
являются регистры DR и IR. Выбор адресуемого регистра
производится линией RS, если RS = 0 – адресуется регистр команд (IR), если RS = 1 – регистр данных (DR).
Данные через регистр DR, в зависимости от текущего режима,
могут помещаться (или прочитываться) в видеопамять (DDRAM) или в ОЗУ знакогенератора (CGRAM) по текущему адресу, указываемому счетчиком адреса
(АС). Информация, попадающая в регистр IR, интерпретируется устройством выполнения команд как управляющая
последовательность. Прочтение регистра IR возвращает в 7-ми младших разрядах текущее значение счетчика
АС, а в старшем разряде флаг занятости (BF).
Видеопамять, имеющая общий объем 80
байтов, предназначена для хранения кодов символов, отображаемых на ЖКИ.
Видеопамять организована в две строки по 40 символов в каждой. Эта привязка
является жесткой и не подлежит изменению. Другими словами, независимо от того,
сколько реальных строк будет иметь каждый конкретный ЖКИ-модуль, скажем, 80 х 1
или 20 х 4, адресация видеопамяти всегда производится как к двум строкам по 40
символов.
Будучи устройством с динамической
индикацией, контроллер циклически производит обновление информации на ЖКИ. Сам
ЖКИ организован как матрица, состоящая в зависимости от режима работы из 8-ми
(одна строка символов 5x7 точек), 11-ти (одна строка символов 5x10 точек) или
16-ти (две строки символов 5x7 точек) строк по 2(Х) сегментов (когда строка
насчитывает 40 символов) в каждой. Собственный драйвер контроллера HD44780 имеет только 40 выходов (SEG1...SEG40) и самостоятельно может поддерживать только 8-ми
символьные ЖКИ. Это означает, что ЖКИ-модули форматов до 8x2 реализованы на
одной единственной микросхеме HD44780,
модули, имеющие большее количество символов, содержат дополнительные микросхемы
драйверов, например, HD44100,
каждая из которых дополнительно предоставляет управление еще 40-ка сегментами.
Особняком стоят ЖКИ-модули формата
16x1. Они также реализованы с помощью одной единственной микросхемы HD44780, но одна 16-ти символьная строка
в них фактически составлена из двух 8-ми символьных. И хотя это усложняет
программное управление, ведь строка оказывается логически разорванной
посередине, тем не менее, экономически это оправдано, ибо позволило создать
ЖКИ-модуль, содержащий всего одну микросхему. Другой вариант пространственной
адресации встречается в 4-х строчных модулях. Из-за проблем разводки
токоведущих дорожек, первая и вторая строки этих модулей являются таковыми как
обычно, третья же является продолжением первой строки, а четвертая – второй.
У контроллера HD44780 существует набор внутренних
флагов, определяющих режимы работы различных элементов контроллера (таблица 2.17).
В таблице 2.18 приведены значения управляющих флагов непосредственно после
подачи на ЖКИ-модуль напряжения питания. Переопределение значений флагов
производится специальными командами, записываемыми в регистр IR, при этом комбинации старших битов
определяют группу флагов или команду, а младшие содержат собственно флаг.
Таблица 2.17 – Флаги, управляющие
работой контроллера HD44780

Таблица 2.18 – Значения управляющих
флагов после подачи питания

Список управляющих комбинаций битов
регистра IR и выполняемые ими команды приведены
в таблице 2.19. Так как на момент включения ЖКИ-модуль ничего не отображает
(флаг D = 0), то для того, чтобы вывести
какой-либо текст необходимо, как минимум, включить отображение, установив флаг D = 1. Вот пример широко
распространенной последовательности для инициализации ЖКИ-модуля: $38, $ОС, $06
(знак «$» перед числом указывает на шестнадцатеричное основание). $38
устанавливает режим отображения 2-х строк с матрицей 5x8 точек и работу с 8-ми
разрядной шиной данных; $ОС включает отображение на экране ЖКИ-модуля, без
отображения курсоров; $06 устанавливает режим автоматического перемещения
курсора слева-направо после вывода каждого символа.
Таблица 2.19 – Управляющие комбинации
битов регистра IR

Контроллер HD44780 поддерживает как операции записи так и операции чтения.
Чтение регистра DR приводит к
загрузке содержимого DDRAM
или CGRAM, в зависимости от текущего режима,
при этом курсор смещается на одну позицию, как и при записи. Чтение регистра IR возвращает 8 значащих разрядов,
причем в 7-ми младших содержится текущее значение счетчика АС (7 разрядов, если
адресуется DDRAM, и 6 -если CGRAM), а в старшем – флаг занятости BF. Этот флаг имеет значение 1 когда
контроллер занят и 0 – когда свободен. Необходимо учитывать, что большинство
операций, выполняемых контроллером, занимают значительное время, около 40 мкс,
а время выполнения некоторых доходит до единиц миллисекунд, поэтому цикл
ожидания снятия флага BF
должен обязательно присутствовать в программах драйвера ЖКИ-модуля и
предшествовать совершению любой операции (естественно, кроме операции проверки
флага BF), поэтому он весьма удобен для
отечественных применений. Это свойство контроллеров фирмы Epson обеспечило им заслуженную
популярность на российском рынке, поэтому в последнее время основная масса
импортируемых в нашу страну ЖКИ-модулей оснащены именно этим контроллером; в
качестве примера в таблице 2.20 приведен набор символов этого контролера.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 |