АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

MOV P3,#11110011B

В предложенном примере запросы прерывания ~INT0 и ~INT1, имеющие различный приоритет, поступают одновременно. При этом обслуживается прерывание с высшим приоритетом.

 

Пример простейшей организации обслуживания прерываний представлен в приведенной ниже демо-программе.

В этой программе с помощью директивы Ассемблера А51 ORG задаются векторы процедур обслуживания прерывания INT0, которое возникает по срезу сигнала на входе РЗ.2, и прерывания по переполнению таймера Т0. В основной программе производится разрешение и настройка этих прерываний. При пошаговом запуске программы в отладчике DS51 можно контролировать состояния системы прерываний и таймера, вызывая соответствующие команды мз меню Peripheral. Чтобы вызвать прерывание необходимо установить соответствующие флаги в регистре TCON: TF0 - TCON.5 или IE0 - TCON.1. Сделать это можно с помощью команды >ТСОN.1 = 1 в окне выполнения Ехе (смотри Приложение).

 

 

бит аккумулятора записывается единица.

4. Написать подпрограмму, определяющую четность числа единиц в аккумуляторе без использования флага паритета Р.

6. Написать программу, вычисляющую 12 значений массива А по формуле А[i]=(3 * (i + 4)) and 0FEH; i = 1...12.

Полученный массив записать в ВПД, начиная с адреса С200Н.

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

1. В чем заключается отличие команд JB и JNB?

2. В чем состоит отличие команд JMP и AJMP?

3. В чем состоит отличие команд JC и JNC?

4. Какие команды перехода влияют на флаги?

5. Какая команда проверяет флаг Z на равенство "0"?

6. Какие команды взаимодействуют с флагом Z?

7. Какие действия выполняет команда CJNE?

8. Какие действия выполняет команда DJNZ? Можно ли командой перехода изменить флаг Z?

9. Существует ли разница между командами ACALL и LCALL?

10. Каково значение над стеком, если Вы находитесь в подпрограмме?

11. Какие команды взаимодействуют с флагом С?

12. Какие виды переходов в МК51 вы знаете в зависимости от разрядности указываемого в команде адреса перехода или вызова. В чем отличия этих видов переходов и вызовов.

13. По каким условиям возможно организовать ветвящиеся вычислительные процессы в МК51.

14. В чем отличие команд возврата из подпрограмм RET и RETI.

15. Какие процессы и источники могут вызвать ситуации прерываний в МК51.

16. Какие условия могут вызвать блокировку прерывания и его необслуживание.

17. Каков порядок опроса флагов прерываний (приоритет обслуживания) установлен по умолчанию в МК51. Каким образом можно изменить эти приоритеты.

 

ЛАБОРАТОРНАЯ РАБОТА №6

ИЗУЧЕНИЕ СИСТЕМЫ ПРЕРЫВАНИЙ

Практическая часть.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |

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



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)