Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB4_W95.DOC
Скачиваний:
15
Добавлен:
16.04.2013
Размер:
176.13 Кб
Скачать

4.3. Контрольные вопросы.

1. Какие источники прерываний имеются в МК MC68HC705C8?

2. Какие действия выполняет МК при возникновении прерывания?

3. Опишите порядок загрузки регистров в стек при обслуживании прерывания.

4. Каковы условия возникновения программного прерывания?

5. Каковы условия возникновения внешнего аппаратного прерывания?

6. Каковы условия возникновения прерываний от внутренних устройств ОЭВМ?

7. Чем определяется реакция МК на входной сигнал по линии IRQ?

8. В каких случаях происходит начальная установка микроконтроллера?

9. Кратко опишите процесс начальной установки микроконтроллера.

10. Опишите режим пониженного энергопотребления STOP.

11. Опишите режим пониженного энергопотребления WAIT.

12. Опишите режим сохранения данных.

13. По каким адресам расположена таблица векторов прерываний и каково ее назначение?

14. Перечислите адреса векторов прерываний SWI, IRQ, RESET.

15. Объясните механизм вызова подпрограммы обработки прерывания.

16. Каким образом после возврата из подпрограммы обработки прерывания управление передается на точку, в которой возникло прерывание?

17. Какие подготовительные действия необходимо произвести, чтобы программа, использующая прерывание IRQ, работала правильно?

18. В чем отличие между командами SWI и JSR, и что между ними общего?

19. Для чего предназначен стек и как он организован?

20. В какой области памяти расположен стек, какова его максимальная длина?

21. Какие различия существуют в реакции ОЭВМ на прерывание RESET и на остальные прерывания?

4.4. Задания.

1. Написать программу, которая при первом нажатии на кнопку IRQувеличивает содержимое портаBна единицу, при втором - на два и т.д..

2. Написать программу, которая по каждому второму нажатию кнопки IRQсдвигает содержимое портаBна один разряд вправо.

3. Написать программу, которая по нажатию кнопки IRQциклически сдвигает содержимое портаBна один разряд влево.

4. Написать программу, которая по трехкратному нажатию на кнопку IRQинвертирует состояние светодиодов.

5. Написать программу, которая подсчитывает число нажатий (от 0 до 65535) на кнопку IRQв двух ячейках памяти.

6. Переделать программу вычисления факториала так, чтобы результат вычислений был двухбайтным.

7. Вместо подпрограммы умножения чисел в программе вычисления факториала (см. пример к команде SWI) написать подпрограмму задержки. При этом время задержки должно изменяться пропорционально величине аргумента примерно от 0,25 до 2,50 сек.

8. Пользуясь командой SWI, написать программу, которая записывает в регистрыAèXначальный адрес своего местоположения в памяти.

9. Написать программу, которая по первому нажатию на кнопку IRQсчитывает первое значение с переключателей, по второму - второе, и затем выводит сумму на светодиоды.

10. Используя механизм подмены векторов прерываний, написать программу, которая при нажатии на кнопку IRQпервый раз сдвигает информацию на светодиодах на один бит влево, второй раз - вправо, а при нажатии наIRQв третий раз инкрементирует портB.

11. Напишите программу, которая мигает левым светодиодом порта Bс частотой 1-2 Гц, а по нажатию кнопкиIRQсчитывает с переключателей адрес и заполняет 10 ячеек ОЗУ, начиная с этого адреса, последовательно числами от 0 до 9. Предусмотрите проверку вводимого адреса на то, что он лежит в пределах $50..$B0, в противном случае запись не производите.

12. Написать программу, которая при включении левого переключателя порта Aначинает подсчет количества нажатий на кнопкуIRQ, а при выключении-выводит количество нажатий на светодиоды.

13. Написать программу для кодового замка, где шифр (произвольное число от 0 до 255), набирается на переключателях порта A, а для ввода шифра используется кнопкаIRQ. Сначала программа должна погасить светодиоды портаB, после чего, в случае правильного набора, должны зажечься все светодиоды, в противном случае светодиоды должны мигать с частотой 1-2 Гц.

14. Написать программу, которая по первому нажатию на кнопку IRQсчитывает первое значение с переключателей, по второму - второе, а по третьему нажатию выводит разность на светодиоды.

15. Написать программу, которая в цикле вызывает программное прерывание SWIи инкрементирует счетчик после каждого вызова. Запустив эту программу на 10 сек., оцените время выполнения командSWI,RTI.

Однокристальная микроЭВМ МС68НС705С8. Лабораторный практикум

Соседние файлы в предмете Отладка микроконтроллеров ЭВМ