Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
57
Добавлен:
23.02.2015
Размер:
114.69 Кб
Скачать

Федеральное Агентство по образованию

ГОУ ВПО «Уральский государственный технический университет – УПИ»

Программирование ввода - вывода данных в микропроцессорных устройствах Лабораторная работа № 6 и 7.

Методические указания к лабораторному практикуму по дисциплинам «Микропроцессорные устройства систем управления» и «Микропроцессорные системы» для студентов всех форм обучения специальностей 220201 - Управление и информатика в технических системах и 230101 - Вычислительные машины, комплексы, системы и сети.

Екатеринбург

2006

УДК 621.38

Составители: В.А.Матвиенко, В.П. Мокрецов

Научный редактор доц., канд. техн. наук Паутов В.И.

ПРОГРАММИРОВАНИЕ ВВОДА-ВЫВОДА ДАННЫХ В МИКРОПРОЦЕССОРНЫХ УСТРОЙСТВАХ: методические указания к лабораторному практикуму по дисциплинам «Микропроцессорные устройства систем управления» и «Микропроцессорные системы» для студентов всех форм обучения специальностей 220201 -Управление и информатика в технических и 230101 – Вычислительные машины, комплексы, системы и сети. /сост. В.А.Матвиенко, В.П.Мокрецов. Екатеринбург : ГОУ ВПО УГТУ-УПИ. 16с

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

Библиогр.: 4 назв. Рис. 3. Прил. 1

Подготовлено кафедрой « Автоматика и управление в технических системах»

ГОУ ВПО «Уральский государственный

технический университет – УПИ», 2006

1. ПРОГРАММИРОВАНИЕ ВВОДА ДАННЫХ В МИКРОПРОЦЕССОРНЫХ УСТРОЙСТВАХ

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

1.1. Цель работы - изучение принципов построения и программирования

устройств ввода.

1.2. КРАТКИЕ СВЕДЕНИЯ ОБ УСТРОЙСТВЕ ВВОДА МИКРО-ЭВМ “ЭЛЕКТРОНИКА 580”

Ввод информации в микро-ЭВМ “Электроника 580” и управление её работой осуществляются с помощью клавиатуры, подключенной к блоку микропроцессора через параллельный интерфейс КР580ИК55. Порт РА интерфейса (адрес 00Н) принимает информацию с клавиатуры, а по линиям РС4 ... РС6 порта РС (адрес 02Н) выдаются на клавиатуру импульсы опроса. Опрос клавиатуры реализуется программно.

РС4

РС5

РС6

РА0

0

8

MEM

РА1

1

9

REG

РА2

2

A

ADDR

РА3

3

B

STEP

РА4

4

C

RUN

РА5

5

D

NEXT

РА6

6

E

BRK

РА7

7

F

CLR

Все клавиши (кроме RST) разбиты на три группы, каждая из которых подключена к своей линии порта РС (см. таблицу). Поскольку линии порта РА подключены через резисторы к плюсу питания, то при отпущенных клавишах на них будет уровень логической единицы: (РА) = FFH. Клавиатура опрашивается поочерёдной выдачей логического нуля в одну из линий РС4 ... РС6. При нажатии клавиши её контакты замыкаются и на соответствующей линии порта А будет сформирован уровень логического нуля.

Таким образом, для идентификации нажатой клавиши необходимо вывести в одну из линий РС4 ... РС6 логический нуль и проанализировать при этом содержимое порта РА. Если (РА) = FFH, то ни одна из клавиш опрашиваемой группы не нажата. Если (РА)  FFH, то нажата клавиша, подключенная к той линии порта РА, на которой при опросе зафиксирован уровень логического нуля.

1. 3. ДОМАШНЕЕ ЗАДАНИЕ

1. Составьте таблицу кодов изображения цифр от 0 до 7. Подключение сегментов индикаторов к шине данных показано на рис. 1.

2. Разработайте на языке ассемблера микропроцессора КР580ВМ80А подпрограмму DELAY, формирующую задержку длительностью 10 мс. За основу можно взять подпрограмму монитора с начальным адресом 0236Н, формирующую задержку длительностью 1 мс. Эта подпрограмма переопределяет содержимое регистра А.

3. Разработайте программу вывода на дисплей номера строки и номера столбца нажатой клавиши согласно таблице. Номер столбца (начиная с нуля для линии РС4) выведите в

Рис. 2

крайний правый разряд дисплея (адрес буфера 83FFH). Номер строки (номер линии порта А) выведите во второй справа разряд дисплея (адрес буфера 83FEH). При повторном нажатии той же клавиши погасите дисплей. Схема алгоритма программы приведена на рис. 2.

Начало

CLEAR

Вывести на дисплей приглашение

Нет

Клавиша нулевого столбца нажата?

Клавиша первого столбца нажата?

Клавиша второго столбца нажата?

Запомнить код нажатой клавиши

Запомнить изображе-ние номера столбца

Определить номер стро-ки нажатой клавиши

Вывести на дисплей номер строки

Вывести на дисплей номер столбца

DELAY

DELAY

DELAY

Нет

Нет

Нет

Да

Клавиша отпущена?

Клавиша отпущена?

Клавиша повторно нажата?

DELAY

CLEAR

Нет

Нет

Да

Да

Да

Да

Да

Работа программы начинается с гашения дисплея, для чего можно воспользоваться подпрограммой монитора CLEAR с начальным адресом 0287Н. Подпрограмма CLEAR переопределяет содержимое регистра B и регистровой пары HL. В качестве приглашения программы выведите в третий справа разряд дисплея (адрес буфера 83FDH) тире (сегмент 6 индикатора), что будет служить признаком запуска программы

Поскольку при работе микро-ЭВМ используются все линии порта С, то при опросе клавиатуры необходимо сохранять состояние линий порта С, не участвующих в формировании сигналов опроса. Это условие может быть выполнено при следующем алгоритме опроса клавиатуры:

  • ввести данные с порта С в аккумулятор (это возможно, хотя порт С запрограммирован на вывод);

  • установить с помощью масок нужные состояния линий РС4 ... РС6, сохранив состояние остальных линий;

  • вывести содержимое аккумулятора в порт С;

  • ввести в аккумулятор данные с порта А;

  • сравнить содержимое аккумулятора с числом FFH.

Эти действия целесообразно оформить в виде подпрограммы опроса клавиатуры. Необходимые для её работы маски должны быть подготовлены в одном из регистров.

После выполнения подпрограммы опроса клавиатуры следует проанализировать флаг нуля z. Если z = 1, то перейти к опросу следующей группы клавиш. Если z = 0, то надо запомнить код нажатой клавиши и код изображения номера столбца и перейти к идентификации нажатой клавиши.

Идентификацию нажатой клавиши проще всего выполнить сдвигая содержимое аккумулятора влево и анализируя флаг переноса. Предварительно в регистровую пару HL занесите адрес изображения цифры 7 из таблицы кодов изображения цифр, которая должна храниться в ОЗУ. При переходе к анализу шестого разряда аккумулятора содержимое регистровой пары HL переопределите так, чтобы в ней находился адрес изображения цифры 6 и т. д. В результате при обнаружение в разрядах аккумулятора первого нуля в регистровой паре HL будет находиться адрес кода изображения номера строки нажатой клавиши.

Подпрограмма DELAY служит для подавления дребезга контактов клавиш.

1.4. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

Введите в микро-ЭВМ разработанную программу и отладьте её. Продемонстрируйте работу программы преподавателю.

1.5. СОДЕРЖАНИЕ ОТЧЁТА

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

  • таблицу кодов изображения цифр от 0 до 7;

  • программу и подпрограммы, написанные на языке ассемблера микропроцессора КР580ВМ80А и в машинных кодах (в шестнадцатеричной системе счисления).

2. ПРОГРАММИРОВАНИЕ ВЫВОДА ДАННЫХ В МИКРОПРОЦЕССОРНЫХ УСТРОЙСТВАХ

Соседние файлы в папке Лаб. 1-5,6,7,7а,8,9,10