
- •Программирование ввода - вывода данных в микропроцессорных устройствах Лабораторная работа № 6 и 7.
- •Лабораторная работа № 7
- •Лабораторная работа № 6
- •2.3.3. Разработайте программу посимвольного вывода на дисплей текста из букв русского алфавита, для чего запрограммируйте следующие действия:
- •2.3.4. Разработайте программу вывода на дисплей бегущей строки текста из букв русского алфавита. Длина строки, включая пробелы между словами, - 20 ... 25 символов.
- •Библиографический список
- •Оглавление
Федеральное Агентство по образованию
ГОУ ВПО «Уральский государственный технический университет – УПИ»
Программирование ввода - вывода данных в микропроцессорных устройствах Лабораторная работа № 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 |
Таким образом, для идентификации нажатой клавиши необходимо вывести в одну из линий РС4 ... РС6 логический нуль и проанализировать при этом содержимое порта РА. Если (РА) = FFH, то ни одна из клавиш опрашиваемой группы не нажата. Если (РА) FFH, то нажата клавиша, подключенная к той линии порта РА, на которой при опросе зафиксирован уровень логического нуля.
1. 3. ДОМАШНЕЕ ЗАДАНИЕ
1. Составьте таблицу кодов изображения цифр от 0 до 7. Подключение сегментов индикаторов к шине данных показано на рис. 1.
3. Разработайте программу вывода на дисплей номера строки и номера столбца нажатой клавиши согласно таблице. Номер столбца (начиная с нуля для линии РС4) выведите в
Рис. 2
крайний правый разряд дисплея (адрес буфера 83FFH). Номер строки (номер линии порта А) выведите во второй справа разряд дисплея (адрес буфера 83FEH). При повторном нажатии той же клавиши погасите дисплей. Схема алгоритма программы приведена на рис. 2.
Начало
CLEAR
Вывести на
дисплей
приглашение
Нет
Клавиша
нулевого
столбца нажата?
Клавиша
первого
столбца
нажата?
Клавиша
второго
столбца
нажата?
Запомнить
код
нажатой клавиши
Запомнить
изображе-ние номера столбца
Определить номер
стро-ки нажатой клавиши
Вывести на
дисплей
номер строки
Вывести на дисплей
номер столбца
DELAY
DELAY
DELAY
Нет
Нет
Нет
Да
Клавиша
отпущена?
Клавиша
отпущена?
Клавиша
повторно
нажата?
DELAY
CLEAR
Нет
Нет
Да
Да
Да
Да
Да
Поскольку при работе микро-ЭВМ используются все линии порта С, то при опросе клавиатуры необходимо сохранять состояние линий порта С, не участвующих в формировании сигналов опроса. Это условие может быть выполнено при следующем алгоритме опроса клавиатуры:
-
ввести данные с порта С в аккумулятор (это возможно, хотя порт С запрограммирован на вывод);
-
установить с помощью масок нужные состояния линий РС4 ... РС6, сохранив состояние остальных линий;
-
вывести содержимое аккумулятора в порт С;
-
ввести в аккумулятор данные с порта А;
-
сравнить содержимое аккумулятора с числом FFH.
Эти действия целесообразно оформить в виде подпрограммы опроса клавиатуры. Необходимые для её работы маски должны быть подготовлены в одном из регистров.
После выполнения подпрограммы опроса клавиатуры следует проанализировать флаг нуля z. Если z = 1, то перейти к опросу следующей группы клавиш. Если z = 0, то надо запомнить код нажатой клавиши и код изображения номера столбца и перейти к идентификации нажатой клавиши.
Идентификацию нажатой клавиши проще всего выполнить сдвигая содержимое аккумулятора влево и анализируя флаг переноса. Предварительно в регистровую пару HL занесите адрес изображения цифры 7 из таблицы кодов изображения цифр, которая должна храниться в ОЗУ. При переходе к анализу шестого разряда аккумулятора содержимое регистровой пары HL переопределите так, чтобы в ней находился адрес изображения цифры 6 и т. д. В результате при обнаружение в разрядах аккумулятора первого нуля в регистровой паре HL будет находиться адрес кода изображения номера строки нажатой клавиши.
Подпрограмма DELAY служит для подавления дребезга контактов клавиш.
1.4. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
Введите в микро-ЭВМ разработанную программу и отладьте её. Продемонстрируйте работу программы преподавателю.
1.5. СОДЕРЖАНИЕ ОТЧЁТА
Отчёт должен содержать:
-
таблицу кодов изображения цифр от 0 до 7;
-
программу и подпрограммы, написанные на языке ассемблера микропроцессора КР580ВМ80А и в машинных кодах (в шестнадцатеричной системе счисления).
2. ПРОГРАММИРОВАНИЕ ВЫВОДА ДАННЫХ В МИКРОПРОЦЕССОРНЫХ УСТРОЙСТВАХ