- •;Инициализация таймеров
- •; Подпрограмма формирования временной задержки
- •Порядок выполнения работы
- •Бродин в.Г., Шагурин м.И. Микроконтроллеры: архитектура, программирование, интерфейс. Справочник. – м.: эком, 1999, с. 179-182.
- •Бродин в.Б., Калинин а.В. Системы на микроконтроллерах и бис программируемой логики. – м.: эком, 2002, с. 82-87.
- •Подготовка к работе
- •;Подпрограмма кодирования символа клавиши
- •;Подпрограмма временной задержки
- •Цель работы
- •Аппаратные и программные средства
- •Порядок выполнения работы
- •Векторы системы прерываний
- •Подготовка к работе
- •Порядок выполнения работы
- •Краткое описание лабораторной установки
- •Одноплатный контроллер
- •Плата супервизора
- •Интерфейсная плата
Порядок выполнения работы
Запустить на инструментальном компьютере интегрированную систему программирования «ТурбоАссемблер-52» и открыть файл tc_demo.a52.
Подключить к компьютеру через последовательный порт лабораторный комплекс.
С помощью команд режима Hard интегрированной системы программирования выбрать средство моделирования (отладочную плату) и установить карту памяти отлаживаемой системы (адресное пространство памяти программ: 0000h-7FFFh и адресное пространство памяти данных: 0000h-7FFFh).
Выполнить трансляцию программы и произвести её отладку на аппаратуре контроллера с использованием следующих режимов:
в шаговом режиме;
в режиме прогона с точками останова;
в режиме прогона до конца программы;
в режиме реального времени.
На основе программы tc_demo разработать следующие программы:
программу индикации на линейке светодиодов показаний двоичного счётчика, работающего с заданной скоростью, спустя некоторое время после запуска (файл tc_1.a52);
программу, создающую «световую волну», бегущую слева направо по линейке светодиодов с заданной скоростью в течение определённого интервала времени (файл tc_2.a52);
программу вывода на семисегментные индикаторы последовательности двоично-десятичных чисел (от 00 до 99) с заданным временным интервалом между ними (файл tc_3.a52);
программу, которая выдаёт с помощью пьезоизлучателя звуковые сигналы с периодически изменяющейся частотой (файл tc_4.a52).
Произвести отладку программы на лабораторном комплексе с использованием интегрированной системы программирования. Проверить правильность выполнения программ в реальном масштабе времени, продемонстрировать результаты работы преподавателю.
Примечание. Настройка интегрированной системы программирования и отладка программ осуществляется с помощью команд, подаваемых с клавиатуры инструментального компьютера.
Содержание отчёта
Отчёт по лабораторной работе должен содержать:
тексты всех выполненных программ на языке Ассемблера с подробным содержательным комментарием;
полученные результаты и выводы по работе.
К отчёту должна быть приложена дискета, содержащая соответствующие работоспособные программы.
ЛАБОРАТОРНАЯ РАБОТА №5
МЕТОДЫ ОБСЛУЖИВАНИЯ КЛАВИАТУР
В МИКРОПРОЦЕССОРНЫХ СИСТЕМАХ
Цель работы
Изучение взаимодействия микроконтроллера 80C31 с внешними устройствами через параллельные порты, освоение практических методов обслуживания и программирования клавиатур в микропроцессорных системах и реализация на их основе командных декодеров.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Бродин в.Г., Шагурин м.И. Микроконтроллеры: архитектура, программирование, интерфейс. Справочник. – м.: эком, 1999, с. 179-182.
Бродин в.Б., Калинин а.В. Системы на микроконтроллерах и бис программируемой логики. – м.: эком, 2002, с. 82-87.
Клавиатура
Клавиатура является одним из наиболее распространённых устройств, предназначенных для ввода оператором в цифровую систему команд или данных. В лабораторной работе используется клавиатура, расположенная на интерфейсной плате аппаратно-программного лабораторного комплекса, описание которого приведено в приложении к данным лабораторным работам. На интерфейсной плате, схема которой представлена в приложении на рис. П.1, смонтирована простейшая 12-кнопочная клавиатура, которая подключена к выводам Р1.0-Р1.6 порта Р1 микроконтроллера. Клавиатура имеет вид матрицы 3х4, кнопки обозначены индексами А1 - А4, В1 - В4, С1 - С4, где цифры 1, 2, 3, 4 определяют номер столбца, а буквы А, В, С указывают позицию кнопки в столбце, т.е. наименование строки.
Для контроля состояния кнопки в строке необходимо подать низкий потенциал (логический "0") на соответствующий вывод порта P1: P1.0, P1.1 или P1.2. В этом случае на выводе Р1.3, Р1.4, Р1.5 или Р1.6, подключенном к нажатой кнопке, установится "0". На выводах, подключенных к не нажатым кнопкам, сохранится "1".
Для определения текущего состояния клавиатуры микроконтроллер должен периодически считывать состояния выводов Р1.3-Р1.6 порта Р1, последовательно устанавливая на выводах Р1.0-Р1.2 состояние "0". Для этого служит подпрограмма опроса клавиатуры, посредством выполнения которой микроконтроллер определяет позицию нажатой кнопки. В реальных системах опрос клавиатуры производится периодически по сигналам таймера или осуществляется по запросу прерывания, формируемому клавиатурой. Основной проблемой при обслуживании клавиатуры является защита от дребезга контактов, который может привести к формированию ложной информации. Для защиты применяются как аппаратные, так и программные средства. На интерфейсной плате аппаратных средств защиты от дребезга контактов нет, поэтому в данном случае применяются только программные методы, все варианты которых сводятся к повторному чтению состояния клавиатуры после некоторой временной задержки, величина которой определяется экспериментальным путём и обычно находится в пределах от 10 до 20 мс. В данной работе формирование задержки осуществляется с помощью таймера/счётчика.
При нажатии клавиши в цифровую систему вводится её 8-разрядный двоичный код. Кодировка клавиш, которая, в конечном счёте, должна быть реализована при выполнении данной работы, задается преподавателем.
