Контрольная работа №2. Прерывания




GNU Эмулятор

Задание №1. Написать программу для работы с термостатом. Термостат должен поддерживать температуру в интервале » +15 до +25 градусов Цельсия. Для контроля за работой термостата используется прерывание от таймера. Прерывание служит для управления работой нагревателя.

Задание №2. Написать программу для работы с шаговым двигателем и светофором. Светофор переключается с зеленого сигнала на красный. При включении зеленого сигнала срабатывает программное прерывание для запуска шагового двигателя. При красном сигнале вызывается программное прерывание для остановки двигателя. Работают устройства циклически.

Задание №3. Написать программу – цифровой счетчик. Счетчик двухразрядный. Счетчик отсчитывает секунды, по прерыванию от таймера. Показания меняются от 0 до 30 секунд – одна «виртуальная минута», затем сбрасываются в 00. Число минут выводится на VDU. После пяти «виртуальных минут» программа завершает работу.

Задание №4. Напишите программу для ввода двух разрядных целых десятичных чисел с помощью цифровой виртуальной клавиатуры. Вводится два числа. После ввода второго числа программа складывает два введенных числа, и результат записывает в регистр AL.

Задание №5. Написать программу для запуска шагового двигателя. Сигналом к запуску двигателя служит команда GO введенная с помощью виртуальной клавиатуры. Двигатель запускается после задержки в 20 итераций. После ввода команды STOP двигатель останавливается.

Задание №6. Написать программу для управления кабиной лифта. Кабина движется циклически между этажами. Если кабина достигает верхнего этажа, то срабатывает программное прерывания и на VDU выводится сообщение UP, если кабина находится на первом этаже, срабатывает программное прерывание и на VDU выводится сообщение DOWN. При движении лифта между этажами VDU не содержит никаких сообщений.

Задание №7. Написать программу для управления подъемом - опусканием лифта с помощью кнопок. Требуется запрограммировать прерывание от таймера. Если при срабатывании прерывания лифт находится в состоянии движения, то на VDU выводится сообщение MOVING. В противном случае на VDU выводится сообщение STOP.

Задание №8. Змейка движется возвратно-поступательно в первой секции лабиринта это рабочий цикл. После завершения очередного цикла движения активизируется программное прерывание для вывода на цифровой дисплей значения 88. После паузы в 20 итераций работа обработчика прерывания завершается и показания исчезают.

Задание №9. Напишите программу, которая с помощью виртуальной цифровой клавиатуры позволяет ввести одно из трех кодовых чисел 1F, 22, 3D. Если было введено одно из этих чисел, то оно выводится на цифровом индикаторе.

 

Задание №10. Напишите программу для шифрования произвольной последовательности из 10 символов введенных с помощью виртуальной клавиатуры методом XOR кодирования. После завершения ввода для контроля выведите на VDU введенные зашифрованные символы и дешифрованные.

 

Задание №11. Напишите программу для управления работой лифта. Лифт движется циклически между первым и вторым этажом. При достижении первого или второго этажа срабатывает программное прерывание и на цифровой дисплей выводится показание 01 или 02, при движении между этажами выводится показание --.

 

Задание №12. Напишите программу, которая использует прерывание от таймера. Программа работает в замкнутом цикле. В процессе работы программы пользователь с помощью физической клавиатуры ЭВМ может ввести в память эмулятора одно из ключевых слов go или stop. Если при срабатывании таймера обнаружено первое слово, то запускается шаговый двигатель, если второе, то он останавливается.

 

Задание №13. Напишите программу, которая использует прерывание от таймера. Программа управляет движением змейки в первой секции лабиринта. Одно срабатывание таймера – движение на один шаг змейки. При достижении конца секции программа завершает свою работу.

 

Задание №14. Напишите программу, которая использует прерывание от таймера, одно срабатывание таймера – переключение режимов. Программа управляет работой светофора. Циклограмма работы светофора:

Транспорт (левый) Пешеходы (правый)
Зеленый Красный
Желтый Красный
Красный Зеленый

 

Задание №15. Напишите программу для запуска шагового двигателя. При запуске программа ведет отсчет 10,9,8,…,0 задержка десять итераций. Показания отсчета выводятся на цифровом дисплее. При достижении нулевого отсчета срабатывает программное прерывание для запуска шагового двигателя.

Задание №16. Напишите программу для управления работой шагового двигателя с помощью таймера. Одно срабатывание таймера – поворот ротора на дискретный шаг против часовой стрелки. После пятидесяти срабатываний таймера ротор начинает поворот по часовой стрелке и т.д. Для контроля на цифровой дисплей выводить показания – 50 (цикл закончен), 00 – выполнение цикла.

Задание №17. Напишите программу с двумя нитями. Переключение по таймеру. Первая нить управляет движением змейки в первом секторе лабиринта. Одно срабатывание таймера – движение на один шаг. Если секция пройдена, движение возобновляется с начальной позиции. Вторая нить – показ цифр в правом дисплее цифрового индикатора от 0 до 9. Одно срабатывание таймера – вывод цифры. Вывод производиться циклически.

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-11-01 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: