Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Розробка блоку контролю кренів

Реферат Розробка блоку контролю кренів





у перериванню відповідає свою адресу в цій таблиці, і саме цю адресу завантажується в лічильник команд при виникненні переривання. Положення вектора в таблиці визначає також і пріоритет відповідного переривання: чим менше адресу, тим вище пріоритет переривання. Розмір таблиці залежить від моделі мікроконтролера і становить від 2 (адреси $ 001, $ 002) до 16 (адреси $ 001 ... $ 010) векторів. Розподіл таблиці векторів переривань мікроконтролера AT90S2333 приведено в табл. 1.


Таблиця 1

ІсточнікОпісаніе № адресаINT0Внешнее переривання 0 $ 001INT1Внешнее переривання 1 $ 002TIMER1 CAPTЗахват таймера / лічильника Т1 $ 003TIMER1 COMPСовпаденіе таймера / лічильника Т1 $ 004TIMER1 OVFПереполненіе таймера / лічильника Т1 $ 005TIMER0 OVFПереполненіе таймера / лічильника Т0 $ 006SPI, STCПередача по SPI завершена $ 007UART, RXUART, прийом завершений $ 008UART, UDREРегістр даних UART порожній $ 009ADCПреобразованіе АЦП завершено $ 00BEE_RDYEEPROM, готове $ 00CANA_COMPАналоговий компаратор $ 00D Якщо в програмі переривання ніколи не використовуються, то на місці таблиці векторів переривань може бути розміщена основна програма.

Розглянемо принцип обробки переривань.

Для дозволу переривань прапор I регістру SREG повинен бути встановлений в «1». А дозвіл або заборона (маскування) окремих переривань виробляється установкою або скиданням відповідних розрядів регістрів масок переривань, розглянутих нижче. Обробка переривань здійснюється наступним чином:

- при виконанні умов, необхідних для генерації переривання, що відповідає цьому перериванню прапор встановлюється в «1», а прапор I апаратно скидається, забороняючи тим самим обробку наступних переривань. Однак у підпрограмі обробки переривання цей прапор можна буде встановити в «1» для дозволу вкладених переривань;

- якщо переривання дозволено (прапор дозволу переривання встановлений), в лічильник команд завантажується адреса вектора відповідного переривання ($ 002 ... $ 010). При цьому прапор переривання апаратно скидається. Ряд прапорів переривань може бути також скинутий записом лог. «1» в розряд регістра, відповідний прапору. Якщо ж переривання заборонено (прапор дозволу переривання скинутий), прапор переривання залишається в стані лог. «1» до дозволу переривання (в цьому випадку він буде скинутий апаратно), або до програмного скидання цього прапора;

- виконується підпрограма обробки переривання;

- виконується команда повернення з переривання RETI, при цьому прапор I апаратно встановлюється в «1», дозволяючи обробку наступних переривань;

- центральний процесор автоматично відновлює вміст лічильника команд. Потім основна програма продовжує своє виконання з того місця, де вона була перервана.

При виклику підпрограм обробки переривань вміст регістра стану SREG не зберігається. Тому користувач повинен самостійно запам'ятовувати вміст цього регістра при вході в підпрограму обробки переривання (якщо це необхідно) і відновлювати його значення перед викликом команди RETI.

Слід пам'ятати, що для переривань, викликаних статичними подіями (наприклад, для переривання, що генерується при рівності вмісту рахункового регістра і регістра порівняння таймера), прапор переривання встановлюється тільки в момент виникненн...


Назад | сторінка 8 з 16 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Переривання вагітності
  • Реферат на тему: Переривання і виключення
  • Реферат на тему: Цикли, переривання, компоненти для відображення тексту
  • Реферат на тему: Внутрішньоутробне вдосконалення людини і переривання вагітності
  • Реферат на тему: Розробка схеми пріоритетів переривань