Основні особливості архітектури мікроконтролерів PlCmicro. Організація пам'яті програм. Непряма адресація, регістри INDF й FSR, страница 10

Предделитель

8-розрядний лічильник може працювати як предделитель TMRО або вихідний дільник WDT. Для простоти опису цей лічильник завжди будемо називати "предделитель" Використання предделителя перед TMRО означає, що WDT працює без предделителя. і навпаки.

Примітка. Існує тільки один предделитель, що може бути включений перед TMRO або WDT.

Коефіцієнт розподілу предделителя визначається бітами PSA й PS2:PSO (OPTION_REG<3:0>). Якщо   предделитель   включений   перед   TMRO,   будь-які   команди   запису   в   TМRO   (наприклад,   CLRF   TMRO; MOVWF TMRО,  BSF ТМRО,x і тд ) скидають предделитель.   Коли предделитель підключений до WDT,  команда CLRWDT скине предделитель разом з WDT. Предделитель також очищається при скиданні мікроконтролера.


Введення

Мікроконтролери PlCmicro середнього сімейства можуть мати кілька джерел переривань. Для кожного периферійного модулі призначений окреме джерело переривань, хоча деякий периферійний модулі містять кілька джерел переривань (наприклад модуль USART).

Можливі джерела переривань у мікроконтролерах PlCmicro середнього сімейства:

•      Зовнішнє джерело переривань INT.

•      Переповнення таймера TMRQ.

•      Зміна рівня сигналу на входах PORTB {висновки RB7 RB4)i

•      Зміна вигідного рівня компаратора

•      Переривання від відомого паралельного порту

•       Переривання від USART,

•      Переривання від приймача

•      Переривання від передавача.

•      Завершення перетворення АЦП.

•      Переривання від LCD

•      Завершення циклу запису в EEPROM пам'ять даних;

•      Переповнення таймера TMR1

•      Переповнення таймера TMR2

•      Переривання від модуля РСР;

•      Переривання від модуля SSP.

У мікроконтролерах середнього сімейства присутнє як мінімум один регістр, що управляє перериваннями. Це регістр INTCON.

Якщо в мікроконтролері є додаткові периферійні модулі, то в ньому будуть реалізовані регістри для керування перериваннями від периферійних модулів (регістр маски, щоб дозволити/заборонити переривання; регістр прапорів переривань, що вказує на виникле переривання)  Залежно від типу мікроконтролера в них можуть бути реалізовані регістри:

· PIE1

· PIR1

· PIE2

· PIR2

Якщо нові мікроконтролери будуть містити більше джерел переривань, то будуть реалізовані регістри P1R3 й PIE3

Регістр керування перериваннями INTCON містить індивідуальні біти прапорів переривань для ядра мікроконтролера, біти маски дозволу переривань, а також біт глобального дозволу переривань.

Якщо біт глобального дозволу переривань GIE (INTCON<7>) установлений в '1', то дозволені всt немасковані переривання/ Всі переривання заборонені, якщо GIE (INTCON<7>) скинутий в'0'. Переривання індивідуально заборонені скиданням відповідного біта в регістрі INTCО. При скиданні мікроконтролера біт скидається в '0'.

Повернення з обробки переривань виконується по команді RETFIE, при цьому відбувається установка біта в '1', що дозволяє обробити будь-яке відкладене переривання.

Регістр INCО містить біти керування наступними перериваннями зовнішнє переривання INT зміна сигналу на входах RB7:RB4; переповнення TMR0. У регістрі INCON також розташований біт дозволу переривань від периферійних модулів PEIE Якщо РЕ1Е=1, те дозволений перехід по векторі переривань: при виникненні периферійного переривання.

При обробці переривань біт GIE=0, щоб запобігти повторному завантаженню лічильника команд PC у стек і запис в PC адреси вектора переривань 0004h. В оброблювачі переривань джерело переривань може бути ідентифікований перевіркою прапорів переривань. Як правило, прапори переривань повинні бути скинуті в оброблювачі переривань перед дозволом переривань у системі, щоб запобігти повторному переходу на обробку переривань Індивідуальні прапори, переривань установлюються незалежно від стану біта загального дозволу переривань GIE і відповідних бітів маски.


Регістри керування