РСА (programmable counter array) представляет собой внутренний блок микроконтроллера 8XC251SB, предназначенный для выполнения различных операций счета и определения временных интервалов, в том числе при широтно-импульсной модуляции. Этот блок способен работать и в режиме сторожевого таймера WDT (watchdog timer).
Блок РСА включает 16-разрядный таймер-счетчик и пять 16-разрядных модулей захвата-сравнения. Таймер-счетчик является источником временной базы и счетчиком событий, значения его текущего отсчета передаются в модули захвата-сравнения.
Значения таймера-счетчика хранятся в паре регистров спецфункций СН/ CL, а значения для модулей хранятся в пяти парах регистров ССАРхН/ CCAPxL ( 3.12). Управление работой и режимами таймера/счетчика осуществляется при помощи регистров спецфункций CMOD (регистр режима) и CCON (регистр управления).
счетчика устанавливают флаги в регистре CCON. Если бит ECF разрешения прерывания от РСА установлен, то установка флага CF приводит к генерации запроса прерывания от РСА. Установка флага сравнения-захвата CCFx формирует запрос прерывания при установленном бите разрешения ECCFx в соответствующем регистре ССАРМх.