Сделай Сам Свою Работу на 5

Информационное матричное табло





Цель работы: получение практических навыков программирования информационных матричных экранов.

 

В лабораторной установке используется матричное табло, состоящее из 256 светодиодов. Диоды располагаются на пересечении проводников (столбцов и строк), образуя матрицу 16 х 16. Светодиод зажигается, если активируются соответствующие столбец и строка. Активация шин осуществляется 8 разрядными регистрами. К двум регистрам подключены 16 проводников (столбцов), к двум другим – 16 проводников (строк). Для зажигания светодиода необходимо в соответствующие разряды регистров столбцов и строк записать логические единицы. Табло через последовательный порт подключено к компьютеру. Программирование табло производится с помощью специализированной программы СomDial. Программа запускается ярлыком СomDial с рабочего стола компьютера (рис. 1.23).

На панели «Состояние СОМ-порта» (1 на рис. 1.23) выбрать номер порта, скорость передачи данных и клавишей «Open» открыть порт. Выбрать из закладок (2 на рис. 1.23) вкладку «Табло». Нажатие кнопки 3 вызывает дополнительное окно «Светодиодное табло». Это окно позволяет полностью провести отладку программы, после чего включается информационное табло. Данные заносятся в колонки «байт 1» -«байт 4» в шестнадцатеричном виде. Регистр «байт 1» активирует 8 верхних строк, регистр «байт 2» - 8 нижних строк. Регистр «байт 3» активизирует 8 левых столбцов, «байт 4» - 8 правых столбцов. В колонке «Время» можно задать время зажигания светодиодов. Записывая константы в регистры можно получать на табло различные динамические картинки.



 

 

Рис.1.23. Окно программы СomDial

 

Запуск программы осуществляется кнопкой «Передать цикл», остановка – клавишей «Стоп».

 

Порядок выполнения.

1. Определить младшие и старшие разряды регистров. Это можно сделать, записывая разные константы в колонки «байт 1» -«байт 4» в шестнадцатеричном виде и наблюдая за порядком зажигания светодиодов.

2. Написать и отладить программу динамического «шоу», включающего следующие элементы:

– перемещение точки по горизонтали, вертикали, диогонали, замкнутой траектории;

- «возникновение» прямой, прямоугольника, квадрата;



- перемещение фигур по экрану по произвольным траекториям и др.

 

Отчет должен содержать:

- текст программы с комментариями;

- скрин-шоты фрагментов «шоу».

2.Алфавитно-цифровые

жидкокристаллические индикаторы

Алфавитно-цифровые жидкокристаллические индикаторы (далее ЖКИ-модули) получили широкое распространение при создании контрольно-измерительной аппаратуры, систем управления и контроля, медицинской аппаратуры, в бытовой технике и пр.(рис. 2.1).

 

Рис. 2.1. ЖКИ-модули

 

ЖКИ-модуль включает в свой состав ЖК панель для отображения информации, контроллер управления, схему подсветки (рис. 2.2, назначение входов приведено ниже при описании контроллера).

Рис. 2.2. Структура ЖКИ-модуля

ЖКИ-модули могут эксплуатироваться в жестких условиях в широком диапазоне температур (-20°С...+70°С). Они обеспечивают качественное отображение большого объема информации при низком энергопотреблении. ЖКИ-модули с задней подсветкой используются в условиях с пониженной или нулевой освещенностью. Используется три способа подсветки с помощью: электролюминисцентной панели; люминисцетной лампы с холодным катодом; светодиодной матрицы. Первые два способа подсветки обеспечивают высокую яркость, но требуют наличия источника повышенного напряжения. Светодиодная подсветка не требует высоковольтного источника (напряжение 5 В), имеет значительное время наработки, а также только она допустима к эксплуатации в расширенном диапазоне температур (-20°С...+70°С). Питание для подсветки подается но выводы А (анод) и К (катод).

ЖКИ-модули производятся многими фирмами. Они различаются конструктивами, типом применяемых ЖК, габаритами ЖКИ, размерами символов, платы, разъемами. Но большинство из них используют контроллер, являющийся аналогом контроллера HD44780 фирмы Hitachi.



Существует много различных форматов ЖКИ-модулей (символов х строк): 8 х 2, 16 х 1, 16 х 2, 16 х 4, 20 х 1, 20 х 2, 20 х 4, 24 х 2, 40 х 2, 40 х 4 и др.

Условное изображение контроллера представлена на рис. 2.3.

Назначение выводов контроллера:

- VDD – питание контроллера ( +5В);

- GND – корпус;

- V0 - управление контрастностью (с помощью подстроечного резистора R1 можно менять угол поворота жидких кристаллов, т.е. можно регулировать фактическую контрастность при некотором преимущественном угле наблюдения снизу-вверх или сверху-вниз);

- RS (Register Select) – выбор регистра команд (RS=0) или регистра данных (RS=1). Этот сигнал сообщает контроллеру, какая информация выставляется на шину данных – команда или данные;

- - сигнал чтения/записи;

- E – сигнал разрешения чтения/записи (обмен информации производится в момент перехода сигнала Е из состояния «1» в «0»);

- D0-D7 – шина данных.

 

Рис. 2.3. Контроллер управления ЖКИ-модуля

 

Для соединения ЖКИ-модуля с управляющей системой можно использовать два варианта подключения (рис. 2.4):

- с использованием 4-х разрядной шины. В этом случае используются четыре разряда шины данных D7-D4 и сигналы управления. Передача одного байта информации осуществляется двумя четырехбитными посылками;

- с использованием 8-ми разрядной шины. Информация передается одной восьмибитовой посылкой с использованием всех разрядов шины данных D7-D0.

 

Рис. 2.4. Схемы соединения ЖК-модуля (Х/Y) с системой управления (CPU): а – 8-ми разрядная шина, б – 4-х разрядная шина

 

На рис. 2.5 представленная временная диаграмма обмена данными ЖК-модуля и системы управления по 8-ми разрядной шине данных. Для передачи информации необходимо:

- установить значение линии RS;

- установить значение линии ;

- выставить на шину D0-D7 данные;

- установить на линии Е=1;

- при переходе значения линии Е=1 в Е=0 произойдет чтение данных из ЖК-модуля или запись данных в ЖК-модуль.

 

Рис. 2.5. Временная диаграмма чтения/записи ЖК-модуля

Структура контроллера ЖК-модуля приведена на рис. 2.6. При программном управлении ЖК-модулем приходится взаимодействовать с регистром данных (DR), регистром команд (IR), видеопамятью (DDRAM), ОЗУ знакогенератора (CGRAM), счетчиком адреса памяти (АС) и флагом занятости контроллера. Другие узлы контроллера программно недоступны.

Основными объектами взаимодействия являются регистры данных DR и регистр команд IR. Выбор адресуемого регистра производится линией RS, если RS = 0 - адресуется регистр команд IR, если RS = 1 - регистр данных DR.

Данные через регистр DR, в зависимости от текущего режима, могут записываться (или читаться) в видеопамять DDRAM или в ОЗУ знакогенератора CGRAM по текущему адресу, указываемому счетчиком адреса АС.

Информация, попадающая в регистр IR, интерпретируется устройством выполнения команд как управляющая последовательность.

 

 

 

Рис. 2.6. Структура контроллера ЖК-модуля

 

Видеопамять DDRAM, имеющая общий объем 80 байт, предназначена для хранения кодов символов, отображаемых на ЖКИ. Видеопамять организована в две строки по 40 символов в каждой. Будучи устройством с динамической индикацией, контроллер циклически производит обновление информации на ЖКИ. Собственный драйвер конроллера HD44780 имеет 40 выходов (SEG1...SEG40) и самостоятельно может поддерживать только 8-ми символьные ЖКИ. Это означает, что ЖКИ-модули форматов до (8 символов х 2строки) реализованы на одной единственной микросхеме HD44780, модули, имеющие большее количество символов, должны содержать дополнительные микросхемы драйверов.

У контроллера HD44780 существует набор внутренних флагов, определяющих режимы работы различных элементов контроллера (таблица 2.1). Задание значений флагов производится специальными командами, записываемыми в регистр IR.

 

Табл.2.1

Флаг Описание
I/D режим смещения счетчика адреса АС: 0 – уменьшение; 1 - увеличение.
S флаг режима сдвига содержимого экрана: 0 - сдвиг экрана не производится; 1 - после записи в DDRAM очередного кода экран сдвигается в направлении, определяемым флагом I/D ( 0 - вправо, 1 – влево). При сдвиге не производится изменение содержимого DDRAM, изменяются только внутренние указатели расположения видимого начала строки в DDRAM.
S/C флаг-команда, производящая вместе с флагом R/L операцию сдвига содержимого экрана (так же, как и в предыдущем случае, без изменений в DDRAM) или курсора. Определяет объект смещения: 0 - сдвигается курсор; 1 - сдвигается экран.
R/L флаг-команда, производящая вместе с флагом S/C операцию сдвига экрана или курсора. Уточняет направление сдвига: 0 – влево; 1 - вправо.
D/L флаг, определяющий разрядность шины данных: 0 - 4 разряда; 1 - 8 разрядов.
N режим развертки изображения на ЖКИ: 0 - одна строка; 1 - две строки.
F размер матрицы символов: 0 - 5 х 8 точек; 1 - 5 х 10 точек.
D наличие изображения: 0 – выключено; 1 – включено.
С курсор в виде подчерка: 0 – выключен; 1 – включен.
В курсор в виде мерцающего знакоместа: 0 – выключен; 1 - включен.

 

Список управляющих комбинаций битов регистра IR и выполняемые ими команды приведены в таблице 2.2. Так как на момент включения ЖКИ-модуль ничего не отображает (флаг D = 0), то для того, чтобы вывести какой-либо текст необходимо, как минимум, включить отображение, установив флаг D = 1.

Табл. 2.2.

 

RS D7 D6 D5 D4 D3 D2 D1 D0 Описание
Очистка экрана, АС = 0, адресация АС на DDRAM
- АС = 0, адресация на DDRAM, сброшены сдвиги, начало строки адресуется в начале DDRAM
ID S Выбор направление сдвига курсора или экрана
D C B Выбор режим отображения
S/C R/L - - Команда сдвига курсора/экрана
DL N F - - Определение параметров развертки и разрядности шины данных
AG AG AG AG AG AG Присвоение счетчику АС адреса в области CGRAM
AD AD AD AD AD AD AD Присвоение счетчику АС адреса в области DDRAM
  DATA Запись данных в DDRAM или CGRAM

 

Вот пример широко распространенной последовательности для инициализации ЖКИ-модуля: $38, $OC, $06 (знак "$" перед числом указывает на шестнадцатеричное основание). $38 устанавливает режим отображения 2-х строк с матрицей 5 х 8 точек и работу с 8-ми разрядной шиной данных; $OC включает отображение на экране ЖКИ-модуля, без отображения курсоров; $06 устанавливает режим автоматического перемещения курсора слева-направо после вывода каждого символа.

Вывод на экран символа производится записью его кода в регистр DR. При этом символ размещается в DDRAM по текущему адресу, указываемому АС, а значение АС увеличивается или уменьшается на 1. Чтобы произвести переустановку курсора на нужную позицию, необходимо присвоить АС соответствующее значение. Когда производится последовательная запись символов и в результате заполняется вся строка, курсор автоматически переходит на вторую строку. Если необходимо принудительно установить курсор, скажем, на начало второй строки, то будет неверным присвоить АС казалось бы логичное значение $28 (40), правильным является значение $40 (64). Значения адресов DDRAM в диапазоне $28...$3F (а равно и $68...$7F) являются неопределенными и результаты работы с ними могут быть непредсказуемыми.

Необходимо учитывать, что контроллеры, устанавливаемые на ЖКИ-модули, могут иметь различные наборы символов, причем это может зависеть как от производителя контроллера, так и от модификации данной конкретной модели. Таблица символов используемого в лабораторной работе контроллера приведена в таблице 2.3.

Табл. 2.3

Из допустимых для размещения в DDRAM кодов символы с кодами $00...$07 (и их дубликат с кодами $08...$0F) имеют специальное назначение - это переопределяемые символы, графическое изображение которых может назначить сам потребитель, разместив соответствующую информацию в области CGRAM. Для программирования доступны 8 переопределяемых символов в режиме с матрицей 5 х 7 точек. Для кодирования матрицы используются горизонтально "уложенные" байты, пять младших битов которых несут информацию о рисунке (причем 1 означает, что сегмент будет включен), 4-й разряд каждого из 8-ми байтов матрицы определяет левую колонку символа, а 0-й - правую. Старшие три бита не используются. Матрица программируемых символов допускает использование полной высоты строки, то есть можно размещать точки в области подчеркивающего курсора. На рис. 2.7 приведен пример программирования переопределяемого символа.

Символ Код
          $00
          $1B
          $04
          $04
          $04
          $11
          $0E
          $04

Рис. 2.7. Программирование переопределяемого символа

Чтобы определить собственный символ, необходимо установить счетчик АС на адрес начала матрицы требуемого символа в CGRAM - $00, $08, $10 и т.д. и произвести перезапись всех байтов матрицы, начиная с верхней строки (рис. 2.7). После этого, записав в DDRAM код запрограммированного символа ($00, $01, $02 и т.д.), на экране в соответствующем месте получим отображение переопределенного символа. Этапы создания переопределяемых символов приведены в таблице 2.4.

Табл.2.4.

R D7 D6 D5 D4 D3 D2 D1 D0 Описание
Выбор ячейки памяти $00, 08,10 …. (8 штук)
и т.д.
х х х х х Запись символа (8 строк)
х х х х х
и т.д.
Выбор знакоместа для отображения (первое, второе и т.д.)
и т.д.
Чтение записанной ячейки $00 →1, $08→2, $10→3 и т.д. (8 штук)
и т.д.

 

Отчет должен содержать:

- текст программы с комментариями;

- скрин-шоты программ.

 

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

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.