Работа периферийных устройств
Таблица 25
Устройство |
Запрос прерывания |
MASK |
FLAG |
CPU, WDT |
RESET | ||
Внешние |
INT0 INT1 |
INT0/GIMSK INT1/GIMSK < /td> |
INTF0/GIFR INTF1/GIFR |
INT0 - INT3 INT4 - INT7 |
INT0 - INT3/EIMSK INT4 - INT7/EIMSK |
INTF4 - INTF7/EIFR | |
I/O PINS LLI PINS |
PCIE/GIMSK LLIE/ICR |
PCIF/GIFR | |
T/C2 |
T/C2 COMP T/C2 OVF |
OCIE2/TIMSK TOIE2/TIMSK |
OCF2/TIFR TOV2/TIFR |
T/C1 |
T/C1 CAPT T/C1 COMPA T/C1 COMP B T/C1 OVF |
TICIE1/TIMSK OCIE1A/ TIMSK* OCIE1B/ TIMSK TOIE1/ TIMSK |
ICF1/TIFR OCF1A/TIFR* OCF1B/TIFR TOV1/TIFR |
T/C0 |
T/C0 COMP T/C0 OVF |
OCIE0/TIMSK TOIE0/TIMSK |
OCF0/TIFR TOV0/TIFR |
SPI |
SPI STC |
SPIE/SPCR |
SPIF/SPSR |
UART |
UART RXC UART UDRE UART TXC |
RXCIE/UCR** UDRIE/UCR |
RXC/USR** UDRE/USR |
ADC |
ADC CC |
ADIE/ADCSR |
ADIF/ADCSR |
EEPROM |
EE RDY |
EERIE/EECR | |
AC |
ANA COMP |
ACIE/ACSR |
ACI/ACSR |
TWSI |
TWSI |
TWIE/TWCR |
TWINT/TWCR |
* - у МК типа 4433 OCIE1 и OCF1 * - у МК типа 163 UCR = UCSRB USR = UCSRA |
При поступлении запроса блок прерываний организует аппаратный безусловный переход к выполнению команды, адрес которой (вектор прерывания) однозначно связан с именем запроса прерывания. По этому адресу в микроконтроллерах серий ATtiny и АТ90 должна быть записана команда безусловного перехода с мнемокодом RJMP k (№ 85), машинный код который имеет формат "слово", а в микроконтроллерах серии ATmega может быть записана команда безусловного перехода с мнемокодом JMP, и машинный код которой имеет формат "два слова". По этой команде выполняется программный безусловный переход к первой команде соответствующей прерывающей программы, которая может быть расположена в любом месте в Flash ROM.
При одновременном поступлении в блок прерываний нескольких запросов в блоке выделяется запрос с наиболее высоким приоритетом среди всех поступивших и выполняется переход по адресу, соответствующему этому запросу.
В табл.26 и 27 указаны в шестнадцатеричном коде адреса (векторы прерывания), по которым совершается аппаратный переход у микроконтроллеров разных типов. Высший приоритет имеет запрос прерывания RESET. Приоритет других запросов убывает в порядке увеличения адреса, по которому совершается переход. У микроконтроллеров разных типов запросам прерывания с одинаковым именем соответствуют разные векторы перехода.
Таблица 26
Запрос прерывания |
Тип |
MK | ||||
t11 |
t12 |
t15 |
2323 |
2343 |
1200 | |
RESET |
000 |
000 |
000 |
000 |
000 |
000 |
INTO |
001 |
001 |
001 |
001 |
001 |
001 |
I/O PINS |
002 |
002 |
002 | |||
T/C1 COMP |
003 | |||||
T/C1 OVF |
004 | |||||
T/CO OVF |
003 |
003 |
005 |
002 |
002 |
002 |
EERDY |
004 |
006 | ||||
ANA COMP |
004 |
005 |
007 |
003 | ||
ADCCC |
008 |
При переходе к выполнению прерывающей программы разряд 1 в регистре SREG аппаратно сбрасывается в нулевое состояние и прерывания по всем запросам оказываются запрещенными. Разряд I устанавливается в единичное состояние при выполнении команды возврата из прерывающей программы с мнемокодом RETI (№ 90). Разряд I может быть установлен в единичное состояние программно по команде SEI в прерывающей программе. Программа, которая выполняется при пуске микроконтроллера и по запросу RESET, не содержит команды RETI и для выполнения прерываний должна содержать команду SEI.
Прерывание по запросу RESET выполняется вне зависимости от состояния разряда I в регистре SREG. Опрос состояния входов блока прерываний выполняется в каждом такте. При обнаружении запроса код из счетчика команд заносится в стек, на что затрачивается 2 такта, и выполняется безусловный переход по команде с мнемокодом RJMP к (2 такта) или JMP k (3 такта). Если при обнаружении запроса прерывания процессор не закончил выполнение текущей многотактовой команды, до перехода к прерывающей программе завершается выполнение этой команды.
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности