
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Факультет автоматики и вычислительной техники
Кафедра электронных вычислительных машин
Отчёт по лабораторной работе №4
по дисциплине «Микропроцессорные системы»
ИЗУЧЕНИЕ ПРОГРАММИРУЕМОГО ТАЙМЕРА НА ОСНОВЕ БИС i8254.
Вариант 8.
Разработал студент ВМ-32 Кузьминых М.А.
Руководитель Томчук М.Н.
Киров 2012
Задание 1
Разработать программы инициализации таймера для исследования режимов с 0 по 5 и снять временные диаграммы работы для следующих ситуаций:
а) с загрузкой CW и начальных данных (младшего и старшего байтов) при СЕ=0;
б) с загрузкой CW и начальных данных (младшего и старшего байтов) при СЕ=1. Для режимов инициализирующих счет выполнить операцию до конца (до окончания счета);
в) для режимов, не начавших счет, выполнить попытку запуска счета по фронту сигнала СЕ (счет до конца);
г) выявить режимы, которые по окончании счета и/или во время счета перезапускаются по фронту сигнала СЕ и какие автоматически (счет довести до конца);
д) выявить режимы работы, для которых при СЕ=0 таймер не приостанавливает счет (счет выполнить до окончания);
е) во время счета выполнить загрузку новых начальных данных в канал без загрузки CW при СЕ=1 и выполнить счет до конца с последующим перезапуском счета для режимов без автоматического перезапуска;
ж) выполнить чтение без останова и с остановом без загрузки управляющего слова "Чтение на "лету" и выявить режимы для которых считывание может привести к искажению информации;
з) выполнить чтение c загрузкой управляющего слова "Чтение на "лету"";
и) выполнить чтение приказа обратного считывания.
Программы для выполнения пунктов задания
Пункт А.
┌───┬─────────────────────────┬───┬───┬───┬───┬──────────────────────────────┐
│ N%│ Команда │CE0│CE1│CE2│CLK│ Комментарии │
├───┼─────────────────────────┼───┼───┼───┼───┼──────────────────────────────┤
│000│mov al,00110000b │ 0 │ 0 │ 0 │ 1 │а │
│001│out 43h,al │ 0 │ 0 │ 0 │ 1 │ │
│002│mov al,2 │ 0 │ 0 │ 0 │ 1 │ │
│003│out 40h,al │ 0 │ 0 │ 0 │ 1 │ │
│004│mov al,0 │ 0 │ 0 │ 0 │ 1 │ │
│005│out 40h,al │ 0 │ 0 │ 0 │ 1 │ │
│006│mov al,0 │ 0 │ 0 │ 0 │ 1 │ │
└───┴─────────────────────────┴───┴───┴───┴───┴──────────────────────────────┘
Пункт Б.
┌───┬─────────────────────────┬───┬───┬───┬───┬──────────────────────────────┐
│ N%│ Команда │CE0│CE1│CE2│CLK│ Комментарии │
├───┼─────────────────────────┼───┼───┼───┼───┼──────────────────────────────┤
│000│mov al,00110000b │ 1 │ 0 │ 0 │ 1 │б │
│001│out 43h,al │ 1 │ 0 │ 0 │ 1 │ │
│002│mov al,2 │ 1 │ 0 │ 0 │ 1 │ │
│003│out 40h,al │ 1 │ 0 │ 0 │ 1 │ │
│004│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
│005│out 40h,al │ 1 │ 0 │ 0 │ 1 │ │
│006│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
└───┴─────────────────────────┴───┴───┴───┴───┴──────────────────────────────┘
Пункт В.
┌───┬─────────────────────────┬───┬───┬───┬───┬──────────────────────────────┐
│ N%│ Команда │CE0│CE1│CE2│CLK│ Комментарии │
├───┼─────────────────────────┼───┼───┼───┼───┼──────────────────────────────┤
│000│mov al,00110010b │ 0 │ 0 │ 0 │ 1 │в │
│001│out 43h,al │ 0 │ 0 │ 0 │ 1 │ │
│002│mov al,2 │ 0 │ 0 │ 0 │ 1 │ │
│003│out 40h,al │ 0 │ 0 │ 0 │ 1 │ │
│004│mov al,0 │ 0 │ 0 │ 0 │ 1 │ │
│005│out 40h,al │ 0 │ 0 │ 0 │ 1 │ │
│006│mov al,0 │ 0 │ 0 │ 0 │ 1 │ │
│007│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
└───┴─────────────────────────┴───┴───┴───┴───┴──────────────────────────────┘
Пункт Г.
┌───┬─────────────────────────┬───┬───┬───┬───┬──────────────────────────────┐
│ N%│ Команда │CE0│CE1│CE2│CLK│ Комментарии │
├───┼─────────────────────────┼───┼───┼───┼───┼──────────────────────────────┤
│000│mov al,00110000b │ 1 │ 0 │ 0 │ 1 │г │
│001│out 43h,al │ 1 │ 0 │ 0 │ 1 │ │
│002│mov al,2 │ 1 │ 0 │ 0 │ 1 │ │
│003│out 40h,al │ 1 │ 0 │ 0 │ 1 │ │
│004│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
│005│out 40h,al │ 1 │ 0 │ 0 │ 1 │ │
│006│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
│007│mov al,0 │ 0 │ 0 │ 0 │ 1 │ │
└───┴─────────────────────────┴───┴───┴───┴───┴──────────────────────────────┘
Пункт Д.
┌───┬─────────────────────────┬───┬───┬───┬───┬──────────────────────────────┐
│ N%│ Команда │CE0│CE1│CE2│CLK│ Комментарии │
├───┼─────────────────────────┼───┼───┼───┼───┼──────────────────────────────┤
│000│mov al,00110000b │ 1 │ 0 │ 0 │ 1 │г │
│001│out 43h,al │ 1 │ 0 │ 0 │ 1 │ │
│002│mov al,2 │ 1 │ 0 │ 0 │ 1 │ │
│003│out 40h,al │ 1 │ 0 │ 0 │ 1 │ │
│004│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
│005│out 40h,al │ 1 │ 0 │ 0 │ 1 │ │
│006│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
│007│mov al,0 │ 0 │ 0 │ 0 │ 1 │ │
└───┴─────────────────────────┴───┴───┴───┴───┴──────────────────────────────┘
Пункт Е.
┌───┬─────────────────────────┬───┬───┬───┬───┬──────────────────────────────┐
│ N%│ Команда │CE0│CE1│CE2│CLK│ Комментарии │
├───┼─────────────────────────┼───┼───┼───┼───┼──────────────────────────────┤
│000│mov al,00110000b │ 1 │ 0 │ 0 │ 1 │е │
│001│out 43h,al │ 1 │ 0 │ 0 │ 1 │ │
│002│mov al,15 │ 1 │ 0 │ 0 │ 1 │ │
│003│out 40h,al │ 1 │ 0 │ 0 │ 1 │ │
│004│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
│005│out 40h,al │ 1 │ 0 │ 0 │ 1 │ │
│006│mov al,2 │ 1 │ 0 │ 0 │ 1 │ │
│007│mov al,2 │ 1 │ 0 │ 0 │ 1 │ │
│008│mov al,2 │ 1 │ 0 │ 0 │ 1 │ │
│009│out 40h,al │ 1 │ 0 │ 0 │ 1 │ │
│00A│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
│00B│out 40h,al │ 1 │ 0 │ 0 │ 1 │ │
│00C│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
│00D│mov al,0 │ 0 │ 0 │ 0 │ 1 │ │
└───┴─────────────────────────┴───┴───┴───┴───┴──────────────────────────────┘
Пункт Ж.
┌───┬─────────────────────────┬───┬───┬───┬───┬──────────────────────────────┐
│ N%│ Команда │CE0│CE1│CE2│CLK│ Комментарии │
├───┼─────────────────────────┼───┼───┼───┼───┼──────────────────────────────┤
│000│mov al,00110000b │ 1 │ 0 │ 0 │ 1 │ж │
│001│out 43h,al │ 1 │ 0 │ 0 │ 1 │ │
│002│mov al,8 │ 1 │ 0 │ 0 │ 1 │ │
│003│out 40h,al │ 1 │ 0 │ 0 │ 1 │ │
│004│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
│005│out 40h,al │ 1 │ 0 │ 0 │ 1 │ │
│006│mov al,2 │ 1 │ 0 │ 0 │ 1 │ │
│007│mov al,2 │ 1 │ 0 │ 0 │ 1 │ │
│008│mov al,2 │ 1 │ 0 │ 0 │ 1 │ │
│009│in al,40h │ 1 │ 0 │ 0 │ 0 │ │
│00A│mov bl,al │ 1 │ 0 │ 0 │ 1 │ │
│00B│in al,40h │ 1 │ 0 │ 0 │ 0 │ │
│00C│mov bl,al │ 1 │ 0 │ 0 │ 1 │ │
│00D│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
│00E│mov al,0 │ 0 │ 0 │ 0 │ 1 │ │
└───┴─────────────────────────┴───┴───┴───┴───┴──────────────────────────────┘
Пункт З.
┌───┬─────────────────────────┬───┬───┬───┬───┬──────────────────────────────┐
│ N%│ Команда │CE0│CE1│CE2│CLK│ Комментарии │
├───┼─────────────────────────┼───┼───┼───┼───┼──────────────────────────────┤
│000│mov al,00110000b │ 1 │ 0 │ 0 │ 1 │з │
│001│out 43h,al │ 1 │ 0 │ 0 │ 1 │ │
│002│mov al,8 │ 1 │ 0 │ 0 │ 1 │ │
│003│out 40h,al │ 1 │ 0 │ 0 │ 1 │ │
│004│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
│005│out 40h,al │ 1 │ 0 │ 0 │ 1 │ │
│006│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
│007│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
│008│mov al,00000000b │ 1 │ 0 │ 0 │ 1 │ │
│009│out 43h,al │ 1 │ 0 │ 0 │ 1 │ │
│00A│in al,40h │ 1 │ 0 │ 0 │ 1 │ │
│00B│mov bl,al │ 1 │ 0 │ 0 │ 1 │ │
│00C│in al,40h │ 1 │ 0 │ 0 │ 1 │ │
│00D│mov bl,al │ 1 │ 0 │ 0 │ 1 │ │
│00E│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
│00F│mov al,0 │ 0 │ 0 │ 0 │ 1 │ │
└───┴─────────────────────────┴───┴───┴───┴───┴──────────────────────────────┘
Пункт И.
┌───┬─────────────────────────┬───┬───┬───┬───┬──────────────────────────────┐
│ N%│ Команда │CE0│CE1│CE2│CLK│ Комментарии │
├───┼─────────────────────────┼───┼───┼───┼───┼──────────────────────────────┤
│000│mov al,00110000b │ 1 │ 0 │ 0 │ 1 │и │
│001│out 43h,al │ 1 │ 0 │ 0 │ 1 │ │
│002│mov al,8 │ 1 │ 0 │ 0 │ 1 │ │
│003│out 40h,al │ 1 │ 0 │ 0 │ 1 │ │
│004│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
│005│out 40h,al │ 1 │ 0 │ 0 │ 1 │ │
│006│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
│007│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
│008│mov al,11010010b │ 1 │ 0 │ 0 │ 1 │ │
│009│out 43h,al │ 1 │ 0 │ 0 │ 1 │ │
│00A│in al,40h │ 1 │ 0 │ 0 │ 1 │ │
│00B│mov bl,al │ 1 │ 0 │ 0 │ 1 │ │
│00C│in al,40h │ 1 │ 0 │ 0 │ 1 │ │
│00D│mov bl,al │ 1 │ 0 │ 0 │ 1 │ │
│00E│mov al,0 │ 1 │ 0 │ 0 │ 1 │ │
│00F│mov al,0 │ 0 │ 0 │ 0 │ 1 │ │
└───┴─────────────────────────┴───┴───┴───┴───┴──────────────────────────────┘