|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
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 ИЗУЧЕНИЕ СИСТЕМЫ ПРЕРЫВАНИЙ Практическая часть. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |