Регистр входных данных порта D – PIND

Бит                  
$10 ($30) PIND7 PIND6 PIND5 PIND4 PIND3 PIND2 PIND1 PIND0 PIND
Чтение/Запись R R R R R R R R  
Исходное значение Hi-Z Hi-Z Hi-Z Hi-Z Hi-Z Hi-Z Hi-Z Hi-Z  

Так как рассматриваемая работа первая, то для приобретения обучающимися навыков работы с лабораторным комплексом все обучающиеся сначала делают одинаковую работу. Со своих рабочих мест они вводят в ПЭВМ одну и ту же задачу вычитания из числа 5 числа 3, приведённую в п. 1.5.3.1. После компиляции программы она записывается в микроконтроллер рабочего места и демонстрируется её работа преподавателю.

Система прерываний

Микроконтроллер AT90S8535 использует 17 источников прерывания. Эти прерывания располагают отдельными векторами в пространстве памяти программ. Каждому прерыванию присвоен свой бит разрешения, который должен быть установлен совместно с битом I регистра статуса SREG.

Младшие адреса пространства памяти автоматически определяются как векторы сброса и прерываний.

Полный перечень векторов прерывания представлен в табл. 2.3.

Прерывания с младшими адресами имеют больший уровень приоритета. RESET имеет наивысший уровень приоритета, следующим являются запрос внешнего прерывания INT0 и т. д.

Микроконтроллеры AT90S8535 содержат два специальных 8-разрядных регистра масок прерываний: регистр масок внешних прерываний GIMSK и регистр масок прерываний по таймеру/счетчику TIMSK-Timer/Сounter.

При возникновении прерывания бит I разрешения глобального прерывания (Global Interrupt Enable) очищается, и все прочие прерывания запрещаются. Пользовательское программное обеспечение (ПО), с тем, чтобы разрешить вложенные прерывания, может установить бит I внутри подпрограммы обработки прерывания. Выход из подпрограммы обработки прерывания происходит по команде RETI, при этом бит I устанавливается в состояние 1. Когда счетчик команд указывает вектор подпрограммы обработки прерывания, соответствующий флаг, вызвавший прерывание, аппаратно очищается. Некоторые флаги прерываний можно очистить, записав в соответствующий бит(ы) очищаемого флага логическую единицу.

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

Прерывания по уровню сигнала флага не имеют и условия прерывания имеют место, пока активен внешний сигнал.

Обратите внимание, что регистр состояния автоматически не сохраняется при закрытии программы, т.е. при открытии прерывающей подпрограммы он должен быть сохранён и должен быть восстановлен при возвращении из прерывающей подпрограммы. Выполнение этого условия должно осуществляться за счет учета в программе.

Таблица 2.3.Векторы прерывания

Vector No. Program Address Source Interrupt Definition
  $000 RESET Сброс по выводу RESET и сторожевому таймеру (Hardware Pin, Power-On Reset and Watchdog Reset)
  $001 INTO Запрос внешнего прерывания 0 (External Interrupt Reguest 0)
  $002 INT1 Запрос внешнего прерывания 1 (External Interrupt Reguest 1)
  $003 TIMER2 COMP Совпадение при сравнении таймера/счетчика 2 (Timer/Conter2 Compare Match)
  $004 TIMER2 OVF Переполнение таймера/счетчика2 (Timer/Conter2 Overflow)
  $005 TIMER1 CAPT Захват таймера/счетчика1 (Timer/Conter1 Capture Event)
  $006 TIMER1 COMPA Совпадение А при сравнении таймера/счетчика 1 (Timer/Conter1 Compare Match А)
  $007 TIMER1 COMPB Совпадение В при сравнении таймера/счетчика 1 (Timer/Conter1 Compare Match В)
  $008 TIMER1 OVF Переполнение таймера/счетчика1 (Timer/Conter1 Overflow)
  $009 TIMER0 OVF Переполнение таймера/счетчика0 (Timer/Conter0 Overflow)
  $00A SPI, STC Завершение пересылки SPI (SPI Serial Transfer Complete)
  $00B UART, RX Завершение приема UART (UART, Rx Complete)
  $00C UART, UDRE Регистр данных UART пуст (UART Data Register Empty)
  $00D UART, TX Завершение передачи UART (UART, Tx Complete)
  $00E ADC Завершение ADC преобразования (ADC Conversion Complete)
  $00F EE_RDY Готовность EEPROM (EEPROM Ready)
  $010 ANA_COMP Срабатывание аналогового компаратора (Analog Comparator)

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: